Facebook 延迟深度连接

1.介绍

Facebook延迟深度连接是针对咱们在Facebook投放广告,用户在未安装app时在Facebook客户端(网页端不行)点击该广告,会首先跳转到Google Play下载app,而后在用户首次打开app时,跳转到该广告配置的位置(好比跳转到商品详情页)。bash

2.原理

当用户未安装app时,在Facebook客户端点击广告时,会向Facebook发送一条可以标识这个设备的标识符(包含手机型号,手机分辨率,手机运营商,手机时区,广告ID等信息)如:服务器

复制代码

当用户首次打开app时,会执行咱们在Activity(Facebook控制台配置的Activity)onCrate()中写的代码,我是在启动页写的:网络

AppLinkData.fetchDeferredAppLinkData(this) {
    it?.targetUri?.apply {
        deepLinkNode = DeepLinkNode(host, query, path)
    }
}
复制代码

在执行这段代码的时候,用户也会给Facebook服务器发送一个该设备的标识符,与以前的作匹配,若是可以匹配,就返回以前广告所配置的深度连接--AppLinkData包含深度连接跳转所须要的全部信息。app

3.步骤

这个步骤就看官方提供的开发文档就能够了。 Facebook 深度连接测试

4.验证

咱们可使用Facebook中的广告来测试,或者使用应用广告帮手来验证。fetch

  1. 在Facebook点击广告或者应用广告助手发送的推送,
  2. 使用Android Studio运行安装app,
  3. 打开app,
  4. 跳转到相应页面

5.坑

  1. 一个设备使用应用广告帮手测试时可能只有第一次可以返回AppLinkData,尽可能使用正式广告,或者广告preview(要点击在动态中展现)。
  2. 一般咱们会在启动页获取Facebook的深度连接,上述提供的是个回调方法,因为网络因素,咱们可能在短期内不能拿到返回的APPLinkData,在这里,我作了3s的限制,在3s内可以拿到数据的话就直接跳转主页面,3s内拿不到的话,就直接正常进行其余的工做,不让用户在启动页作过长时间的等待。
相关文章
相关标签/搜索