iOS友盟U-Link接入步骤及验证

492 阅读2分钟

一、集成SDK

cocoapods集成方式

pod 'UMCommon'  #必须集成
pod 'UMDevice'  #必须集成
pod 'UMLink'    #智能超链产品U-Link,必选
pod install

注意:如果swift项目,需要在桥接文件中导入

#import <UMCommon/UMCommon.h>
#import <UMCommon/MobClick.h>
#import <UMLink/UMLink.h>

参考文档

AppDelegate配置

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    UMConfigure.initWithAppkey("友盟配置后台的appkey", channel: "App Store")
    return true
}

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
    if MobClickLink.handleUniversalLink(userActivity, delegate: self) {
        return true
    }
    return true
}

友盟U-Link唤起App获取参数代理回调

extension AppDelegate: MobClickLinkDelegate {
    func getLinkPath(_ path: String!, params: [AnyHashable : Any]!) {
        //TODO: 此处获取回调的数据,可以发送通知 实现跳转逻辑
    }
}

获取首次安转推广的数据,可以再初始化友盟key之后,添加以下代码

let hasGetInstallParams = UserDefaults.standard.bool(forKey: "key_Has_Get_InstallParams")
if !hasGetInstallParams {//只需要获取一次即可
    MobClickLink.getInstallParams { parms, url, error in
        if let error = error {
            return
        }
        UserDefaults.standard.set(true, forKey: "key_Has_Get_InstallParams")

        if let parms = parms {
            //TODO: 可以做首次安装 渠道归因 或者跳转到指定页面
            MobClickLink.handle(url, delegate: self)
        }
    }
} else {

}

二、Xcode项目配置、开发者账号准备

  • 打开开发者后台,在证书配置中,勾选上Associated Dmoins,并重新更新项目证书

image.png

  • XCode配置中相应功能:targets->Signing&Capabilites->Capability->Associated Domains,在其中的Domains中填入你想支持的域名,必须以applinks:为前缀。例如是 applink:www.baidu.com, 具体步骤如下图:

image.png

image.png

上述:applinks:www.baidu.com 管理后台生成的,如图友盟文档

配置路径友盟官网-》找到 你自己的应用 -》左边找到:Deeplink -》设置 -》基本参数设置

image.png

特别说明:

  • scheme是自己定义的,随便写
  • 默认下载地址:ios应用appstroe的下载地址
  • 自定义参数中有:Team ID和Bundle ID分别在 开发者账号 和 应用管管理中找

三、营销配置

路径:应用 -》 裂变营销 或者 分析 -》裂变营销 -》 创建活动

如图所示:

image.png

四、测试是否生效 (需要Html网页配合)

DeepLink实践-参考连接

  • 创建1个.html文件
  • 将以下代码copy到.html文件中
  • 将html文件上传到自己公司服务器 或者管理网站,获得到1个链接
  • 手机打开这个连接,点击 “唤起App”
  • 在XCode打断点,能在getLinkPath代理方法内获取到定义的参数数据,即成功
<!DOCTYPE html>
<html>
<head>
    <title>Demo</title>
    <meta charset="utf-8" />
    <script src="https://g.alicdn.com/jssdk/u-link/index.min.js"></script>
</head>
<body>
    <div>
        <h1>测试DeepLink跳转</h1>
        <button id="btn1">唤起 App</button>
    </div>
</body>

<script type="text/javascript">
    ULink.start({
        id: 'usr1i0v0u8mas0ai', /* link ID,即创建列表活动生成的id,必填 */
        data: {
            speaker:"ErXwobaYiN019PkySvjV"/* 自定义参数,可以自定义,可以用于直接传递数据*/
        } /* 自定义参数,选填 */
    }).ready(function(ctx) { /* 初始化完成的回调函数 */
        document.getElementById('btn1').onclick = function(e){
          ctx.wakeup(); /* 用户点击某个按钮时启动app */
    };
});

</script>

<style type="text/css">
    div {
        text-align: center;
    }
    button {
        font-size: 60px;
    }
    h1 {
        font-size: 60px;
    }
</style>
</html>

更多需要JS接入文档,参考