AppsFlyer 研究(四)OneLink Deep Linking Guide

简介: AppsFlyer 研究(四)OneLink Deep Linking Guide

一、简介

深度链接是指当用户打开移动应用时向其提供个性化的内容,或将用户带到应用内特定位置的操作。通过这种操作,您可以为用户提供优质的用户体验,从而极大加强用户与应用的互动。

两种深度链接类型

由于用户不一定安装了移动应用,所以有两种深度链接类型:

  • 深度链接(Deep Linking)
    向已经安装了移动应用的现有用户直接展示个性化内容。
  • 延迟深度链接(Deferred Deep Linking)
    当新用户或已卸载的用户完成安装打开移动应用时向其展示个性化内容。

借助独特的设备检测追踪链接 - OneLink™,AppsFlyer 同时支持深度链接和延迟深度链接两种方式。

设置深度链接之前,需要正确设置OneLink。

 

深度链接和 OneLink

OneLink 在广告和移动应用之间起到“桥梁”的作用。它可以启动应用并向移动开发者提供定制用户体验所必需的数据。要想实现这一点,移动应用在开发时必须具备深度链接功能和基础架构。

 

深度链接和访客找回

深度链接和 OneLink 是广告主用于与现有或曾经的用户进行再次互动(例如:访客找回)的主要工具。 关于访客找回的相关内容请参阅“访客找回指南”,相关操作在深度链接之后执行。

 

二、设置 深度链接的方法

 

 

 

为了覆盖更全面的用户群体,可以选择多种深度链接方法。 使用的方法依移动平台(iOS/Android)以及用户的系统版本而定。

方法 描述 适用于
URI Scheme 直接打开应用并重定向至URL 参数中指定的af_dp\**行为路径 Android 所有版本(可以选择不包括 Android 6 及更高版本)iOS 8 及更低版本iOS 9 及更高版本(当使用的浏览器或移动应用不支持通用链接Universal Links时)
通用链接Universal Links 直接打开移动应用的特定页面。 需要移动开发者建立一个逻辑,根据 OneLink URL 参数进行重定向或者提供定制内容,例如 af_dpaf_sub1 iOS 9 及更高版本
App Links Android 6 及更高版本  

 

1、URI Scheme

 

(1) 、URI Scheme 介绍

URI Scheme本质上是URLs,用户点击链接后直接引导用户进入移动应用的特定页面。 例如: greatapp://

 

Apple 和 Google 对于应用Scheme都不强制实施唯一命名。 为您的品牌选择一个独特的Scheme名称,以避免不同应用之间的Scheme发生冲突。

 

可以使用Scheme来创建较长的路径,自动将用户链接到应用内特定页面。 例如: greatapp://vintage_items/cars/flying_delorean

 

如果某应用的用户在浏览器的 URL 框中输入Scheme路径,会启动应用并进入具体页面。 AppsFlyer 使用 af_dp 参数,通过 OneLink URL 提供相同的 URI Scheme深度链接功能(必须encode)。

 

示例:

https://go.onelink.ly/qwerty?af_dp=greatapp%3A%2F%2Fvintage_items%2Fcars%2Fflying_delorean

 

重要提示!

为了使 OneLink 能够同时适用于 iOS 和 Android,必须为两个平台定义相同的Scheme。 请参阅 iOSAndroid 的相关说明。

 

(2)、设置 URI Scheme

在应用的代码中设置URI Scheme,如下所示: 在 AppsFlyer 的 OneLink 模板页面也需设置相同的URI Scheme。

 

Android 所有版本

在应用的 Manifest 文件中,给相关的行为添加以下意图过滤器 (Intent-filter):

<activity android:label="@string/app_name" …..  ><intent-filter>
   <action   android:name="android.intent.action.VIEW" />
   <category android:name="android.intent.category.DEFAULT" />
   <category android:name="android.intent.category.BROWSABLE" />
   <data     android:scheme="your unique scheme" />
</intent-filter></activity>

示例

<activity android:label="@string/greatapp" …..  >        
           <intent-filter>
               <action   android:name="android.intent.action.VIEW" />
               <category android:name="android.intent.category.DEFAULT" />
               <category android:name="android.intent.category.BROWSABLE" />
               <data     android:scheme="greatapp" />
           </intent-filter>
</activity>

 

iOS 8 及更低版本

  • 在 Xcode 中,打开应用信息 plist 文件。
  • 添加 URL 类型条目
  • 展开 URL 类型和“item 0”行,添加一个新行。
  • 为应用添加一个唯一的标识符作为 URL 标识符。 最好选择一个不太可能被其他应用使用的独特标识符。
  • 右键点击 URL 标识符,选择“添加行”,然后选择 URI Scheme并将 Item 0 的值设置为您特有的Scheme。

 

设置OneLink模板:

在 AppsFlyer 控制面板中,找到深度链接自定义 URL 方案(iOS8/Android 5 及更低版本)下面的 OneLink 配置界面,填入已定义的Scheme(例如,"scheme://")。

 

 

(3)、测试 URI Scheme

  • 在您的设备上安装并运行应用。
  • 打开默认浏览器,在地址栏中输入您的URL Scheme(例如,"greatapp://")。
  • 移动应用按默认行为启动。

 

2、通用链接

 

(1)、通用连接介绍

在 iOS 9 及更高版本中,Apple用通用链接替代 URI Scheme作为主要的深度链接方法。 这种方法的安全性更高,因为其他应用无法获取通用链接。 用户体验也更好,因为可以直接启动iOS应用,不会将用户先重定向至浏览器。

本质上,通用链接的方法是将iOS移动应用和相关的网站/域连接,例如 AppsFlyer 的 OneLink 域 (xxx.onelink.me)。 要实现这一点,需要执行以下步骤:

  1. 配置 OneLink 子域并链接到移动应用(通过托管 ‘apple-app-site-association’ 文件 - AppsFlyer 会处理好这一部分)
  2. 配置移动应用,注册已认证的域。

完成以上步骤后,每当用户点击一个已授权域的 URL 时(设备上已安装了该应用),iOS 会启动相关联的应用并打开相关页面。

 

建议

即使对于 iOS 9 以上的版本,仍然有必要实施 URI Scheme,因为有些浏览器或应用会不支持通用链接,仍需要使用URI Scheme的方法。

 

(2)、配置 OneLink 子域并链接到应用

  1. 要完成这个步骤,开发者必须从 Apple Developer 门户网站(‘View Account >> Account Summary’ 下面)获取 ‘Team ID’(如果是多个 Team ID,则为 ‘App Prefix’)。
  2. 在应用的 AppsFlyer 控制面板/设置中,点击‘配置 OneLink’>>在‘iOS’ 下面勾选‘启用Universal Links支持深度链接’复选框,填入在第1步中获取的Team ID/App Prefix。
  • 选择一个OneLink子域,将其填入额外配置下面的深度链接(iOS9/Android6或以上版本)子域字段中。

 

 

(3)、配置移动应用,注册已认证的域

  1. 在 Apple Developer 门户网站的 Identifiers >> App IDs 下面,选择应用并启用关联域 (Associate Domain),然后生成应用的 Provisioning 文件,下载这些文件并双击安装到 Xcode 上。
  2. “功能”的Xcode中,启用已关联的域,填入在“OneLink 配置”(AppsFlyer 账户)中配置的 OneLink 域。

    注意
    该域必须以“applinks:”为前缀。例如:applinks:mydomain.onelink.me

 

3、Android 应用链接

 

 

 

三、深度链接的备选方案

 

深度链接可以提供优质的用户体验,失效的深度链接绝对不会!多种原因可导致深度链接失效,如配置错误或媒体平台上面的变化。

因此,我们强烈建议,在为深度链接创建Onelink的时候,同时做好备选方案。

af_ios_url和af_android_url可以将点击了Onelink的用户导向着陆页,而不是应用商店。但是当Onelink上面加入了深度链接,会优先打开深度链接的页面。

这意味着当使用深度链接的时候,可以同时放心加这些参数。如果深度链接正常工作,就可以让用户进入到相关页面;如果因为某些原因导致深度链接失效时,用户就会进入到设定的着陆页,比如商店页或主页,而不是直接导致页面崩溃。

 

四、测试和使用深度连接

 

1、建立 OneLink URL

您可以基于OneLink模板创建和使用OneLink URL,数量不限:

  • 进入相关应用的控制面板(例如,在 OneLink 相应模板中配置的一个应用)。
  • 点击Link Management, 然后点击“添加自定义跟踪链接
  • 选择跨平台Onelink
  • 总配置中填写链接名称
  • 填写相关归因参数,如媒体平台名称、广告系列、广告组或其他子参数。
  • 如要启用再营销,开启再营销广告活动按钮
  • 根据需要,选择是否添加深度链接(deeplink) 或重定向参数
  • 根据需要,可在高级部分自定义点击归因窗口期。
  • 根据需要,可以在跟踪链接中设置固定的安装成本。
  • 点击创建链接,复制该链接并将其用于您自己的媒体或任何其他相关媒体渠道

 

2、测试 OneLink URL

 

(1)、针对URI Scheme,测试直接深度链接

  • 在您的设备(或 iOS 中的 iPhone 模拟器)上安装并启动应用。 [如果刚刚安装应用,则将应用置于后台,然后再返回前台,重复两次或更多。]
  • 为应用准备一个 OneLink URL,应包含 af_dp 参数并且具有有效的方案路径(例如 "greatapp://cars")。
  • 在测试设备上,将该链接粘贴到电子邮件、便签、短信、二维码生成器等程序中。
  • 点击链接

预期的结果:应用应按照 af_dp 打开指定的页面。

 

(2)、测试通用链接或 Android 应用链接

  • 在您的设备(或 iOS 中的 iPhone 模拟器)上安装并启动应用。 [如果刚刚安装应用,则将应用置于后台,然后再返回前台,重复两次或更多。]
  • 为应用准备一个 OneLink URL,应包含 af_dp 参数(或另一个参数)并且具有有效的方案路径(例如 "greatapp://cars")。
  • iOS - 将该链接粘贴到便签、iMessage 中,或使用 Apple Mail 客户端粘贴到电子邮件中。 Android - 将该链接粘贴到电子邮件、Chrome、短信、二维码生成器等程序中。不要使用 Slack、Facebook 或任何其他社交应用点击该链接!
  • 点击链接

预期的结果:直接打开应用,不会通过浏览器进行重定向。可以提取 af_dp 参数,用户按照 af_dp 的值被重定向至应用内指定页面。

 


相关文章
|
2月前
|
编解码 人工智能 定位技术
MERRA (Modern-Era Retrospective analysis for Research and Applications) 是由 NASA 气候数据集
MERRA (Modern-Era Retrospective analysis for Research and Applications) 是由 NASA 气候数据集
24 0
|
11月前
|
机器学习/深度学习 Web App开发 人工智能
Meta AI & UC Berkeley 新作 | Early Dropout: Make Hinton‘s Drouout Great Again!
Meta AI & UC Berkeley 新作 | Early Dropout: Make Hinton‘s Drouout Great Again!
101 0
|
机器学习/深度学习 编解码 固态存储
【论文泛读】轻量化之MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications(下)
【论文泛读】轻量化之MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications(下)
【论文泛读】轻量化之MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications(下)
|
机器学习/深度学习 存储 编解码
【论文泛读】轻量化之MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications(上)
【论文泛读】轻量化之MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications
【论文泛读】轻量化之MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications(上)
|
机器学习/深度学习 负载均衡 搜索推荐
【推荐系统论文精读系列】(十六)--Locally Connected Deep Learning Framework for Industrial-scale Recommender Systems
在这项工作中,我们提出了一个局部连接的深度学习框架推荐系统,该框架将DNN的模型复杂性降低了几个数量级。我们利用Wide& Deep模型的思想进一步扩展了框架。实验表明,该方法能在较短的运行时间内取得较好的效果。
106 0
【推荐系统论文精读系列】(十六)--Locally Connected Deep Learning Framework for Industrial-scale Recommender Systems
|
机器学习/深度学习 缓存 搜索推荐
【推荐系统论文精读系列】(四)--Practical Lessons from Predicting Clicks on Ads at Facebook
点击预测系统大多是以在线广告系统维中心,每天7亿的日常活跃用户和超过1百万的活跃广告,因此预测FaceBook上的广告点击率是一项具有挑战的机器学习任务。本片论文中我们介绍了一个模型采用决策树和逻辑回归结合的模式,融合模型的表现胜过它们自己单独建模的效果3%,这个一个重大的影响对于整个系统的表现。
132 0
|
机器学习/深度学习 人工智能 搜索推荐
【推荐系统论文精读系列】(十二)--Neural Factorization Machines for Sparse Predictive Analytics
现在很多基于网站应用的预测任务都需要对类别进行建模,例如用户的ID、性别和职业等。为了使用通常的机器学习预测算法,需要将这些类别变量通过one-hot将其转化成二值特征,这就会导致合成的特征向量是高度稀疏的。为了有效学习这些稀疏数据,关键就是要解释不同特征之间的影响。
294 0
|
机器学习/深度学习 存储 自然语言处理
【推荐系统论文精读系列】(八)--Deep Crossing:Web-Scale Modeling without Manually Crafted Combinatorial Features
人工制作的组合特征是许多成功模型背后的 "秘诀"。然而,对于网络规模的应用来说,特征的种类和数量使得这些手工制作的特征在创建、维护和部署时成本高昂。本文提出了Deep Crossing模型,它是一个深度神经网络,可以自动结合特征来产生卓越的模型。Deep Crossing的输入是一组单独的特征,可以是密集的也可以是稀疏的。重要的交叉特征是由网络隐含地发现的,网络由嵌入和堆叠层以及残余单元的级联组成。
193 0
|
机器学习/深度学习 搜索推荐
【推荐系统论文精读系列】(十四)--Information Fusion-Based Deep Neural Attentive Matrix Factorization Recommendation
推荐系统的出现,有效地缓解了信息过载的问题。而传统的推荐系统,要么忽略用户和物品的丰富属性信息,如用户的人口统计特征、物品的内容特征等,面对稀疏性问题,要么采用全连接网络连接特征信息,忽略不同属性信息之间的交互。本文提出了基于信息融合的深度神经注意矩阵分解(ifdnamf)推荐模型,该模型引入了用户和物品的特征信息,并采用不同信息域之间的交叉积来学习交叉特征。此外,还利用注意机制来区分不同交叉特征对预测结果的重要性。此外,ifdnamf采用深度神经网络来学习用户与项目之间的高阶交互。同时,作者在电影和图书这两个数据集上进行了广泛的实验,并证明了该模型的可行性和有效性。
230 0
【推荐系统论文精读系列】(十四)--Information Fusion-Based Deep Neural Attentive Matrix Factorization Recommendation
|
机器学习/深度学习 算法 搜索推荐
Paper:《A Few Useful Things to Know About Machine Learning—关于机器学习的一些有用的知识》翻译与解读
Paper:《A Few Useful Things to Know About Machine Learning—关于机器学习的一些有用的知识》翻译与解读