您好,登錄后才能下訂單哦!
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和深度鏈接結合使用(上)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。