亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shareinstall之IOS集成

發布時間:2020-06-09 16:39:09 來源:網絡 閱讀:1620 作者:TomBabyWang 欄目:移動開發

提示:以下代碼(配置)由shareinstall根據當前應用動態生成,開發者可直接使用;按照以下步驟指引,10分鐘即可完成IOS SDK集成。
一、產品原理
精確的App安裝來源與攜帶參數安裝 :shareInstall的核心價值在于,幫助Android/iOS開發者通過shareInstall提供的sdk,精確的獲取app每一次安裝的分享(或推廣)來源。原理如下:開發者在分享的h6頁面上集成 shareInstall web sdk,發布分享鏈接時在url上動態的拼接任意的自定義參數(如推廣渠道號,邀請碼等等);當某一終端訪問該h6頁面時,shareinstall web sdk將同時確定該設備的個性化信息和采集自定義參數,上傳至shareInstall服務器, 待用戶通過該h6頁面安裝app后首次打開時(如當前設備已安裝該app,將直接拉起該app并傳遞參數),使用shareInstall Android/iOS sdk從shareInstall服務器再取回暫存的自定義參數。
一鍵拉起功能:shareInstall通過標準的scheme、universal link 等技術,在app已安裝的情況下,從各種瀏覽器(包括微信、QQ、新浪微博、釘釘等主流社交軟件的內置瀏覽器)拉起app并傳遞自定義參數,避免重復安裝,如沒安裝則調至appStore或應用寶下載app,下載完畢喚起app的相應頁面。
二、iOS SDK集成
1、導入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導入工程中。
2、初始化SDK
在AppDelegate中,增加頭文件的引用:

#import “ShareInstallSDK.h”

在-(BOOL)application:(UIApplication)application didFinishLaunchingWithOptions:(NSDictionary )launchOptions
方法中調用setAppKey方法來初始化SDK,如下代碼所示:

  • (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions {
    [ShareInstallSDK setAppKey:@"K2BK7B6HH7F7R2" withDelegate:self WithOptions:launchOptions];
    return YES;
    }

注:AppKey需填寫自己的AppKey,請到ShareInstall官網后臺查看自己應用的AppKey。
3、個性化安裝
當應用安裝后首次打開時,iOS sdk會收到網頁端通過js sdk傳來的自定義動態參數,精確的獲取app每一次安裝的分享(或推廣)來源。比如通過在分享鏈接url中附帶app邀請人的用戶id,就可達到免填邀請碼的效果;url中可拼接自定義的參數。在AppDelegate中,添加獲取安裝參數的回調方法,代碼如下所示:

#pragma mark ShareInstallDelegate
//通過ShareInstall獲取自定義參數,數據為空時也會調用此方法

  • (void)getInstallParamsFromSmartInstall:(id) params withError: (NSError ) error{NSLog(@"安裝參數params=%@",params);
    br/>NSLog(@"安裝參數params=%@",params);
    alert = [[UIAlertView alloc] initWithTitle:@"直接點擊App進來的" message:[self DataTOjsonString:params] delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"確定", nil];
    //彈出提示框(便于調試,調試完成后刪除此代碼)
    [alert show];
    }

4、一鍵跳轉
ShareInstall通過標準的scheme、universal link等技術,在app安裝的情況下,從各種瀏覽器(微信、QQ、新浪微博、釘釘等主流社交軟件的內置瀏覽器)喚醒 app 并傳遞自定義參數,避免重復安裝。
5、 universal link 配置
Universal link是iOS9的一個新特性,通過Universal link,App可以通過各種瀏覽器跳轉到App(例如微信內可不通過safari,一鍵跳轉到App),真正實現一鍵跳轉到相應界面。
備注:iOS9以上推薦使用Universal link。
5.1 配置developer.apple.com的相關信息
到蘋果開發者中心,為當前的App ID開啟Associated Domains服務:

5.2 配置Xcode
在Xcode中配置ShareInstall為當前應用生成的關聯域名:Associated Domains 開關打開,添加Domains: applinks:k2bk7b6hh7f7r2.shareinstall.com

在AppDelegate中的continueUserActivity方法中調用,用來處理Universal link。

//Universal Links 通用鏈接

  • (BOOL)application:(UIApplication )application continueUserActivity:(NSUserActivity )userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
    {
    //判斷是否通過ShareInstall Universal Links 喚起App
    if ([ShareInstallSDK continueUserActivity:userActivity]) {
    return YES ;
    }else{
    //其他代碼
    return YES;
    }
    }

5.3 配置App的URL Scheme
iOS系統中App之間是相互隔離的,通過URL Scheme, App之間可以相互調用,并且可以傳遞參數。
備注:iOS9以下通過Url Scheme實現拉起。
5.4 在Xcode里選中Target—Info—URL Types, 配置shareInstall為當前應用生成的Url Scheme,如圖所示:
identifier 配置為 com.ShareInstall,URL Schemes從shareInstall獲取(afap0343)。
注:identifier 一定要配置為com.ShareInstall

5.5 URL Scheme相關代碼配置
注意:當需要在shareInstall這個方法中處理第三方回調的時候(比如支付寶、微信回調等),請注意區分。

//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獲取喚醒參數,直達具體頁
通過在url中附帶具體的參數,喚醒app并跳轉到具體頁。

  • (void)getWakeUpParamsFromSmartInstall: (id) params withError: (NSError ) error{NSLog(@"喚醒參數params=%@",params);
    br/>NSLog(@"喚醒參數params=%@",params);
    alert = [[UIAlertView alloc] initWithTitle:@"URL shceme 進來的" message:[self DataTOjsonString:params] delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"確定", nil];
    //彈出提示框(便于調試,調試完成后刪除此代碼)
    [alert show];
    }

5.7 其他代碼配置
如果做測試,獲取參數,則必須在Appdelegate.h加上如下測試代碼。

#pragma mark 將oc數據類型轉成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、注冊量統計
使用Shareinstall 控制中心提供的渠道統計時,在App用戶注冊完成后調用,可以統計渠道注冊量。
#warning 必須在注冊成功的時調用[ShareInstallSDK reportRegister] 方法,否則可能導致注冊統計不準。
下一步

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

麦盖提县| 白河县| 乐清市| 那坡县| 青岛市| 苍山县| 漾濞| 凤山县| 论坛| 太仓市| 三都| 灌南县| 洞口县| 尚义县| 溧水县| 封丘县| 屏南县| 阳山县| 桃江县| 惠州市| 商城县| 永春县| 乐清市| 平陆县| 通渭县| 安阳县| 台安县| 景宁| 合江县| 北安市| 梁河县| 宜春市| 基隆市| 新密市| 德令哈市| 晋江市| 马关县| 满洲里市| 云南省| 麻阳| 铁岭市|