LinkedME|CoreSpotlight和深度链接结合使用(下)-创新互联
Core Spotlight和深度链接结合使用(上)中我们已经说了Spotlight的创建和使用了,这篇文章着重说怎么创建深度链接,深度链接(Universal links)怎么和Spotlight结合使用,在这里就不过多赘述什么是深度连接了,在文末提供了几篇文章供大家参考,以及国内成熟的深度链接(Universal links)技术服务商LinkedME。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的溪湖网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!可以与iOS9 search功能配合使用的三种技术
1、Universal links.
2、Smart App Banners.
3、Handoff.
为什么我们要使用Spotlight和深度链接?
上篇中提到WWDC公布关于用户习惯的数据,用户有 86% 的时间花在 App中,而如今App同质化现象这么严重,假设在手机上装了两个提供相同的内容App,除了推送通知以外(我们都知道通知过度的使用会导致用户反感直接关闭通知),我们怎么让用户打开我的App而不是打开别的App,如果用户打开了我们的App我们怎么知道他是通过什么途径打开App的,他感兴趣的内容是什么?怎么获取用户的这些行为数据和兴趣爱好?
传统的统计分析SDK只能统计App的启动次数,页面的打开次数,页面停留的时间,但是无法统计用户是通过什么途径(如QQ,微信,微博,短信,Spotlight..)打开App,甚至是打开App的某个页面。
使用深度链接LinkedME,可以满足上面提出的所有问题,产品同时提供了更详细的数据和渠道的统计和分析,不仅仅是Spotlight的数据,整个互联网的其他所有数据来源都能统计。
下面的Demo我们就使用LinkedME的SDK来开发。
第一步:导入Framework
MobileCoreServices.framework
CoreSpotlight.framework
(不需要判断iOS 9 SDK内部已判断)
第二步:导入头文件
#import
第三步:创建Spotlight索引
#import
-(IBAction)creatSearchableItem{
NSSet *set5 = [NSSet setWithObjects:@"linkedME", nil];
//
NSDictionary *dict = @{@"test":@"test"};
[[LinkedME getInstance] createDiscoverableContentWithTitle:@"LinkedME 国内第一家企业级深度链接" description:@"让APP不再是信息孤岛!" thumbnailUrl:[NSURL URLWithString:@"http://7xq8b0.com1.z0.glb.clouddn.com/logo.png"] linkParams:dict type:@"" publiclyIndexable:NO keywords:set5 expirationDate:nil spotlightIdentifier:@"bbcc" spotlightCallback:^(NSString *url, NSString *spotlightIdentifier, NSError *error) {
[self performSelectorOnMainThread:@selector(showAlert:) withObject:@"索引创建成功" waitUntilDone:NO];
}];
}
参数详解
通过搜索结果跳转到相应页面
在Appdelegate引入头文件
#import
添加方法//Universal Links 通用链接实现深度链接技术
- (BOOL)application:(UIApplication*)application continueUserActivity:(NSUserActivity*)userActivity restorationHandler:(void (^)(NSArray*))restorationHandler{
return [[LinkedME getInstance] continueUserActivity:userActivity];
}
在didFinishLaunchingWithOptions中添加
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
LinkedME* linkedme = [LinkedME getInstance];
//获取跳转参数
[linkedme initSessionWithLaunchOptions:launchOptions automaticallyDisplayDeepLinkController:NO deepLinkHandler:^(NSDictionary* params, NSError* error) {
if (!error) {
@try {
} @catch (NSException *exception) {
} @finally {
}
} else {
NSLog(@"LinkedME failed init: %@", error);
}
}];
return YES;
}
以上就是关于如何创建深度链接以及Spotlight如何与深度链接结合使用,感兴趣的朋友可以关注我们上一期的文章:Core Spotlight和深度链接结合使用(上)
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:LinkedME|CoreSpotlight和深度链接结合使用(下)-创新互联
文章路径:http://scyanting.com/article/csphho.html