Core Spotlight和深度鏈接結合使用(下)
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 <LinkedME_iOS/LinkedME.h>
第三步:創建Spotlight索引
#import <LinkedME_iOS/LinkedME.h>
-(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 <LinkedME_iOS/LinkedME.h>
添加方法//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和深度鏈接結合使用(上)
http://weixin.qq.com/r/fkQZAUzEgxH8rQhi9xFs (二維碼自動識別)
推薦閱讀:
※Windows Store 年度最佳應用特輯評選
※追劇必備!看了那麼多年電視連續劇,但你真的會追劇嗎?
※一款應用帶你重溫古典詩詞的魅力
※太極助手是什麼來歷?
※嘀嘀打車的使用體驗怎麼樣?與搖搖招車相比哪個更好用?