提示:以下代碼(配置)由shareinstall根據(jù)當(dāng)前應(yīng)用動態(tài)生成,開發(fā)者可直接使用;按照以下步驟指引,10分鐘即可完成IOS SDK集成。
一、產(chǎn)品原理
精確的App安裝來源與攜帶參數(shù)安裝 :shareInstall的核心價值在于,幫助Android/iOS開發(fā)者通過shareInstall提供的sdk,精確的獲取app每一次安裝的分享(或推廣)來源。原理如下:開發(fā)者在分享的h6頁面上集成 shareInstall web sdk,發(fā)布分享鏈接時在url上動態(tài)的拼接任意的自定義參數(shù)(如推廣渠道號,邀請碼等等);當(dāng)某一終端訪問該h6頁面時,shareinstall web sdk將同時確定該設(shè)備的個性化信息和采集自定義參數(shù),上傳至shareInstall服務(wù)器, 待用戶通過該h6頁面安裝app后首次打開時(如當(dāng)前設(shè)備已安裝該app,將直接拉起該app并傳遞參數(shù)),使用shareInstall Android/iOS sdk從shareInstall服務(wù)器再取回暫存的自定義參數(shù)。
一鍵拉起功能:shareInstall通過標(biāo)準(zhǔn)的scheme、universal link 等技術(shù),在app已安裝的情況下,從各種瀏覽器(包括微信、QQ、新浪微博、釘釘?shù)戎髁魃缃卉浖膬?nèi)置瀏覽器)拉起app并傳遞自定義參數(shù),避免重復(fù)安裝,如沒安裝則調(diào)至appStore或應(yīng)用寶下載app,下載完畢喚起app的相應(yīng)頁面。
二、iOS SDK集成
1、導(dǎo)入SDK
iOS SDK 下載 v1.0.6 http://api.shareinstall.com/download/1.0.6/ios
iOS DEMO 下載 v1.0.6 http://api.shareinstall.com/download/1.0.6/iosdemo
下載并解壓最新版SDK壓縮包,將libShareInstall.a和ShareInstallSDK.h導(dǎo)入工程中。
2、初始化SDK
在AppDelegate中,增加頭文件的引用:
#import “ShareInstallSDK.h”
在-(BOOL)application:(UIApplication)application didFinishLaunchingWithOptions:(NSDictionary)launchOptions
方法中調(diào)用setAppKey方法來初始化SDK,如下代碼所示:
注:AppKey需填寫自己的AppKey,請到ShareInstall官網(wǎng)后臺查看自己應(yīng)用的AppKey。
3、個性化安裝
當(dāng)應(yīng)用安裝后首次打開時,iOS sdk會收到網(wǎng)頁端通過js sdk傳來的自定義動態(tài)參數(shù),精確的獲取app每一次安裝的分享(或推廣)來源。比如通過在分享鏈接url中附帶app邀請人的用戶id,就可達到免填邀請碼的效果;url中可拼接自定義的參數(shù)。在AppDelegate中,添加獲取安裝參數(shù)的回調(diào)方法,代碼如下所示:
#pragma mark ShareInstallDelegate
//通過ShareInstall獲取自定義參數(shù),數(shù)據(jù)為空時也會調(diào)用此方法
4、一鍵跳轉(zhuǎn)
ShareInstall通過標(biāo)準(zhǔn)的scheme、universal link等技術(shù),在app安裝的情況下,從各種瀏覽器(微信、QQ、新浪微博、釘釘?shù)戎髁魃缃卉浖膬?nèi)置瀏覽器)喚醒 app 并傳遞自定義參數(shù),避免重復(fù)安裝。
5、 universal link 配置
Universal link是iOS9的一個新特性,通過Universal link,App可以通過各種瀏覽器跳轉(zhuǎn)到App(例如微信內(nèi)可不通過safari,一鍵跳轉(zhuǎn)到App),真正實現(xiàn)一鍵跳轉(zhuǎn)到相應(yīng)界面。
備注:iOS9以上推薦使用Universal link。
5.1 配置developer.apple.com的相關(guān)信息
到蘋果開發(fā)者中心,為當(dāng)前的App ID開啟Associated Domains服務(wù):
5.2 配置Xcode
在Xcode中配置ShareInstall為當(dāng)前應(yīng)用生成的關(guān)聯(lián)域名:Associated Domains 開關(guān)打開,添加Domains: applinks:k2bk7b6hh7f7r2.shareinstall.com
在AppDelegate中的continueUserActivity方法中調(diào)用,用來處理Universal link。
//Universal Links 通用鏈接
5.3 配置App的URL Scheme
iOS系統(tǒng)中App之間是相互隔離的,通過URL Scheme, App之間可以相互調(diào)用,并且可以傳遞參數(shù)。
備注:iOS9以下通過Url Scheme實現(xiàn)拉起。
5.4 在Xcode里選中Target—Info—URL Types, 配置shareInstall為當(dāng)前應(yīng)用生成的Url Scheme,如圖所示:
identifier 配置為 com.ShareInstall,URL Schemes從shareInstall獲取(afap0343)。
注:identifier 一定要配置為com.ShareInstall
5.5 URL Scheme相關(guān)代碼配置
注意:當(dāng)需要在shareInstall這個方法中處理第三方回調(diào)的時候(比如支付寶、微信回調(diào)等),請注意區(qū)分。
//iOS9以下 URI Scheme
-(BOOL)application:(UIApplication )application openURL:(NSURL)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
//判斷是否通過ShareInstall URL Scheme 喚起App
if ([ShareInstallSDK handLinkURL:url]) {
return YES;
}else{
//其他代碼
return YES;
}
return YES;
}
//iOS9以上 URL Scheme
(BOOL)application:(UIApplication )app openURL:(NSURL)url options:(nonnull NSDictionary *)options
{
//判斷是否通過ShareInstall URL Scheme 喚起App
if ([ShareInstallSDK handLinkURL:url]) {
return YES;
}else{
//其他代碼
return YES;
}
return YES;
}
5.6獲取喚醒參數(shù),直達具體頁
通過在url中附帶具體的參數(shù),喚醒app并跳轉(zhuǎn)到具體頁。
5.7 其他代碼配置
如果做測試,獲取參數(shù),則必須在Appdelegate.h加上如下測試代碼。
#pragma mark 將oc數(shù)據(jù)類型轉(zhuǎn)成NSString
-(NSString *)DataTOjsonString:(id)object
{
if (!object) {
return nil;
}
NSString *jsonString = nil;
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:object
options:NSJSONWritingPrettyPrinted
error:&error];
if (! jsonData) {
NSLog(@"Got an error: %@", error);
} else {
jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}
return jsonString;
}
6、注冊量統(tǒng)計
使用Shareinstall 控制中心提供的渠道統(tǒng)計時,在App用戶注冊完成后調(diào)用,可以統(tǒng)計渠道注冊量。
#warning 必須在注冊成功的時調(diào)用[ShareInstallSDK reportRegister] 方法,否則可能導(dǎo)致注冊統(tǒng)計不準(zhǔn)。
下一步
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。