在互联网发展的今天,移动应用市场的竞争越来越激烈,而获客成本的攀升已经成为各行各业的普遍现象,高额的推广成本对企业来说是一个无法摆脱的负担,有没有一个更好的性价比高的获客增长方式呢?这就是我们今天要说的深度链接技术。
深度链接技术(Deeplink)也就是通过映射预定义行为到唯一的链接上,将app和web端无缝链接起来,让用户可以通过外部内容直接跳转到相关页面上。对于开发者来说,通过深度链接技术,可以有效的增加新用户注册转化,唤醒沉睡用户的作用,用户可以通过外部分享的链接内容直接跳转到app内的相关页面,如果用户手机上没有安装app,会直接跳转到下载该app商城页面,引导用户下载app,深度链接可以给产品带来病毒式传播效果。
深度链接类似于传统网页中的超链接,其由又有一些不同的元素组合而成,也就是我们说的统一资源标识符(URI), 链接中应包含调用时跳转到特定页面的所有信息。深度链接是如何实现的呢?
深度链接功能开发者可以选择自己开发或者第三方,对于大多数中小企业来说,自己研发的成本是巨大的,所以大多数都会选择第三方来帮助实现深度链接功能,Moblink深度链接技术四个步骤即可集成。
首先注册登陆mob官网,点击进入后台,添加moblink,就可以申请appkey。
1、打开项目根目录的build.gradle,在buildscrip–>dependencies 模块下面添加 classpath ‘com.mob.sdk:MobSDK:+’,如下所示;
1 2 3 4 5 6 7 8 9 10 11 |
buildscript { repositories { jcenter() }
dependencies { ... classpath 'com.mob.sdk:MobSDK:+'
} } |
2、在使用MobLink模块的build.gradle中,添加MobSDK插件和扩展,如:
1 2 3 4 5 6 7 8 9 10 |
// 添加插件 apply plugin: 'com.mob.sdk'
// 在MobSDK的扩展中注册MobLink的相关信息 MobSDK { appKey "d580ad56b4b5" appSecret "7fcae59a62342e7e2759e9e397c82bdd"
MobLink {} } |
1、初始化MobSDK
如果您没有在AndroidManifest.xml中设置appliaction的类名,MobSDK会将这个设置为com.mob.MobApplication,但如果您设置了,请在您自己的Application类中调用:
1 |
MobSDK.init(this); |
以初始化MobSDK。
MobLink的主要功能在制作场景和还原场景,下面将分别细述其使用方法:
2、制作场景
可使用下面的方式来获取MobLink的场景ID:MobId,并将其用于分享。在场景数据还原时MobLink会根据MobId还原出场景数据,并回调用户进行特定的操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// 设置场景参数 HashMap senceParams = new HashMap(); senceParams.put("key1", "value1"); senceParams.put("key2", "value2"); senceParams.put("key3", "value3");
// 新建场景 Scene s = new Scene(); s.path = "/moblinkDemo/demo/a"; s.source = null; s.params = senceParams;
// 请求场景ID MobLink.getMobID(s, new ActionListener() { public void onResult(String mobID) { // TODO 根据mobID进行分享等操作 }
public void onError(Throwable throwable) { // TODO 处理错误结果 } }); |
3、还原场景
3-1、修改Activity的代码
让需要场景还原的activity实现SceneRestorable接口。像这样:
1 2 3 |
public class RestoreSenceActivity extends Activity implements SceneRestorable {
} |
3-2、进入Mob开发者后台,填写“基础配置”
如下图,为应用添加URI Scheme和App Links:
3-3、配置Activity的intent-filter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
请注意,不论您采用任何一种方案(或者两者都采用),scheme都是必填的,且scheme和host的配置必须跟后台配置的一致,否则会导致无法跳转到应用。
3-4、添加场景还原事件回调方法
在处理场景还原的Activity中实现回调方法:
1 2 3 |
public void onReturnSceneData(Scene scene) { // 处理场景还原数据, 可以在这里做更新画面等操作 } |
4、微信小程序还原场景
MobLink v2.2.0版本开始全平台支持微信小程序,支持一键唤起app,支持参数互传,使用方式如下:
4-1.获取微信小程序原始ID
在分享到微信小程序之前,我们需要先获取到微信小程序的原始ID,登录微信公众平台,在微信小程序的设置 – 基本设置 – 账号信息下面就可以找到微信小程序的原始ID了,如下图:
提示:微信小程序要关联到微信开放平台才能分享的哦!
4-2.分享微信小程序
分享到小程序的方法和所需要配置的参数,如果是用的ShareSDK可以参考这里 微信分享的详细参数
4-3、从微信小程序中打开app
完成上述步骤之后客户端就搞定了,下面在微信小程序里按照 MobLink 微信小程序集成文档 配置好微信小程序即可!!
MobLink已经做了混淆处理,再次混淆会导致不可预期的错误,请在您的混淆脚本中添加如下的配置,跳过对MobLink的混淆操作:
1 2 |
-keep class com.mob.**{*;} -dontwarn com.mob.** |
web端配置
1、在开发者后台找到MobLink的页面配置栏,在浮层配置选项卡中,参考下图所示步骤来个性化你的App:
2、浮层配置完成后切换到引用JS文件选项卡,直接点击复制按钮,如下图所示:
3、随后直接在你的网页源码的适当位置粘贴前面复制的JS代码,再根据你的需求做响应修改。代码及相关注释示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
/* * MobLink 支持数组=>MobLink([...]) 和对象=>MobLink({...}) 两种初始化形式 * 页面上有多个元素需要跳转时使用数组方式,仅单个元素需要跳转时可以使用对象的方式进行初始化 * el: 表示网页上Element的id值,该字段为空或者不写则表示MobLink默认浮层上的打开按钮(注意:必须为元素id,以#开头) * path: 对应App里的路径 * params: 网页需要带给客户端的参数 */ // 单元素初始化方式 MobLink({ el: '', path: 'demo/a', params: { key1: 'value1', key2: 'value2', } }) // 多元素初始化方式 MobLink([ { el: '', path: 'demo/a', params: { key1: 'value1', key2: 'value2', } }, { el: '#openAppBtn1', path: 'demo/b', params: { key1: 'value1', key2: 'value2', } }, { el: '#openAppBtn2', path: 'demo/c', params: { key1: 'value1', key2: 'value2', } } ]); |
1. MobSDK默认为MobLink提供最新版本的集成,如果您想锁定某个版本,可以在MobLink下设置“version “某个版本””来固定使用这个版本
2. 如果使用MobSDK的模块会被其它模块依赖,请确保依赖它的模块也引入MobSDK插件,或在此模块的gradle中添加:
1 2 3 |
repositories { jcenter() } |
非Gradle集成方式/ios moblink深度链接集成方式可点击这里了解http://wiki.mob.com/moblink-ios-doc/