一、集成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,并重新更新项目证书
- XCode配置中相应功能:targets->Signing&Capabilites->Capability->Associated Domains,在其中的Domains中填入你想支持的域名,必须以applinks:为前缀。例如是 applink:www.baidu.com, 具体步骤如下图:
上述:applinks:www.baidu.com 管理后台生成的,如图友盟文档
配置路径友盟官网-》找到 你自己的应用 -》左边找到:Deeplink -》设置 -》基本参数设置
特别说明:
- scheme是自己定义的,随便写
- 默认下载地址:ios应用appstroe的下载地址
- 自定义参数中有:Team ID和Bundle ID分别在 开发者账号 和 应用管管理中找
三、营销配置
路径:应用 -》 裂变营销 或者 分析 -》裂变营销 -》 创建活动
如图所示:
四、测试是否生效 (需要Html网页配合)
- 创建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接入文档,参考