概要:使用OneLink链接的广告主可以为链接打上品牌域名,从而优化投放效果并提升品牌曝光。
品牌域名
- 如上图所示,品牌域名的原理就是使用您的品牌名称和域名为归因链接打上品牌标签。
- OneLink链接:abcdef.onelink.me
- 品牌:abcdef.com
- 子域名:如app
- 写入品牌域名并使用完整域名,这样归因链接就变成了click.abcdef.com
- 品牌域名的下列优势可以推动投放效果的优化:
- 获得用户信任:充分发掘品牌价值,贯彻始终如一的品牌认知,打造无摩擦的用户链路,最终提升转化率。
- 可以让您在深度链接中使用品牌标签。
- 简单易用,具有与OneLink相同的功能。
- 提升品牌知名度:摈弃泛型链接,用品牌来标记您的广告。
- 进行邮件营销时无需担心链接与发件人的邮箱不匹配而被标记为垃圾邮件。
作用原理
品牌域名的作用原理是将您在Domain Name System(域名系统,简称DNS)中定义的完整域名关联到某个OneLink子域名(AppsFlyer CNAME)。这需要您在DNS中使用标准设置,并在AppsFlyer后台设置一个品牌域名。此外,您还需要对应用作一些微调,使其支持品牌域名。
这需要DNS管理员的协助,DNS管理员通常是您的IT团队成员或DNS托管服务商以及应用开发人员。
一个OneLink子域名可关联多个完整域名。也就是说,同一个OneLink子域名可用于多个品牌。
品牌域名的设置
下表列出了品牌域名的设置流程。
负责人员 | 任务 | 说明 | |
---|---|---|---|
1 | DNS管理员协助市场人员完成 | 在AppsFlyer后台设置一条品牌链接 | DNS管理员(通常是您的IT团队成员或DNS托管服务商)需要定义完整域名(即host)并按下文流程中所述的方法设置CNAME记录。 |
2 | 开发人员 | 在应用中设置品牌域名 | 对应用代码进行微调。 |
3 | 市场人员 | 使用并测试品牌域名 | |
按需 | 市场人员 | 修改或删除品牌域名 |
流程
在AppsFlyer后台设置品牌域名
设置品牌域名的实质就是将您DNS中的完整域名组关联到AppsFlyer中的某个OneLink子域名,如下图所示。
指向AppsFlyer服务器的品牌域名
前期准备:
- 确定一个完整域名,如app.abcdef.com,其中abcdef.com代表您的品牌。
- 您也可以根据实际情况自行配置子域名(如上述示例中的app)。
- 让DNS管理员创建该完整域名(即host)。
- 让DNS管理员设置一个CNAME记录,让完整域名(即品牌域名)指向指定链接(即AppsFlyer host)。即如上图中所示,品牌链接指向AppsFlyer服务器。
将您的完整域名映射到OneLink子域名:
- 进入用户体验与深度链接 > 品牌域名。
- 点击+添加品牌域名。
- 在品牌域名字段中输入您在DNS中设定的完整域名,比如click.abcdef.com
切勿在域名后加句点(.)。 - 在界面所示的列表中选择相关的OneLink子域名。若界面中未显示列表,则表示您需要创建一个OneLink模板,创建完毕后就会呈现一个默认子域名。
- 点击下一步。
- 设置一个CNAME记录:
- 如果您的域名成功指向了AppsFlyer CNAME,界面会显示“找到了AppsFlyer CNAME“的消息。
- 如果未找到CNAME,请复制相关的AppsFlyer CNAME并将其发送给您的DNS管理员,让他们确保您的完整域名指向这个CNAME。您必须将您的完整域名指向一个AppsFlyer CNAME,否则您创建的品牌域名将无法生效。
如果您在ESP场景中使用品牌域名,请选择使用品牌域名配置ESP,然后再复制CNAME。
- 点击完成。
完成以上步骤后,您就可以使用您的品牌域名在该OneLink模板下创建新链接。
注意:
- 如果您已经基于OneLink模板创建了不含品牌域名的链接,这些链接仍然有效。
- 品牌域名从创建到生效最长需要24小时。
-
若您未在7天内设置CNAME记录,您的品牌域名就会失效。发生这种情况时,您需要先刷新您的品牌域名,然后才能使用该域名。刷新品牌域名的方式如下:
- 进入用户体验与深度链接 > 品牌域名。
- 进入您需要刷新的品牌域名。
- 点击刷新。
- 设置一个CNAME记录。
在应用中设置品牌域名
- 请使用以下SDK版本:
- 安卓:V4.10.1及以上
- iOS:V4.10.1及以上
- 如需在用户邀请推荐(邀请好友)场景中使用品牌域名,安卓和iOS都需要使用V5.2.0及以上的SDK
接入品牌域名SDK时的注意事项
- 使用品牌域名的深度链接生效时,AppsFlyer SDK无法获取激活和深度链接的转化数据。
- 要解决上述问题,开发人员需使用
setOneLinkCustomDomain
(安卓)和oneLinkCustomDomains
(iOS)SDK API。 - 该API会查询品牌域名,获取品牌域名所映射的OneLink域名,并将品牌域名填入OneLink。
请务必更新manifest的intent-filter,设置android:host,以确保其中包含您的品牌域名。
在SDK初始化之前在Android global application class中使用该API。
示例
public class AFApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Set branded link domain. Don't include https:// as part of the domain.
AppsFlyerLib.getInstance().setOneLinkCustomDomain("promotion.greatapp.com");
AppsFlyerLib.getInstance().init(AF_DEV_KEY, conversionListener, this);
AppsFlyerLib.getInstance().start(this, AF_DEV_KEY);
}
}
如果您有多个品牌域名,请将所有的品牌域名都传递到该API,以确保您总是可以获取相关的转化数据,并深度链接到应用中。
示例
AppsFlyerLib.getInstance().setOneLinkCustomDomain("promotion.greatapp.com",
"click.greatapp.com",
"deals.greatapp.com");
使用iOS Universal Link时,请按以下方式关联域名:
在AppDelegate.m中使用该API,放在didFinishLaunchingWithOptions方法中。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/** APPSFLYER INIT **/
[AppsFlyerLib shared].appsFlyerDevKey = @"SED_DEV_KEY";
[AppsFlyerLib shared].appleAppID = @"123456789";
[AppsFlyerLib shared].oneLinkCustomDomains = @[@"promotion.greatapp.com"];
//...
//...
}
如果您有多个品牌域名,请将所有的品牌域名都传递到该API,以确保您总是可以获取相关的转化数据,并深度链接到应用中。
示例
[AppsFlyerLib shared].oneLinkCustomDomains = @[@"promotion.greatapp.com", @"click.greatapp.com"];
请在AppDelegate.swift中使用该API,放在didFinishLaunchingWithOptions方法中。
func application(_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
AppsFlyerLib.shared().appsFlyerDevKey = "6CQi4Be6Zs9oNLsCusPbUL"
AppsFlyerLib.shared().appleAppID = "340954504"
AppsFlyerLib.shared().oneLinkCustomDomains = ["example.com"]
//...
//...
}
如果您有多个品牌域名,可以将所有品牌域名以字符串数组的形式传递到该API。这样,无论您使用的是那个品牌链接,都可以保证转化数据的获取以及深度链接的实现。
示例
AppsFlyerLib.shared().oneLinkCustomDomains = ["promotion.greatapp.com", "click.greatapp.com"]
使用并测试品牌域名
前期工作:
在正式使用和测试前,请先完成品牌域名设置流程中的所有步骤。
请按以下步骤创建并测试品牌域名:
- 使用映射到品牌域名的OneLink模板创建OneLink链接。
- 将自定义归因链接复制粘贴到文本编辑器中。
- 自定义归因链接由一个OneLink子域名、OneLink ID和自定义Link ID组成。将OneLink子域名替换为完整域名。示例:
自定义归因链接 品牌域名 abcdef.onelink.me/A1bc/dc1234ef click.abcdef.com/A1bc/dc1234ef - 使用品牌链接测试激活和深度链接。
- 如果您在测试过程中使用原始数据报告,则会在Original URL字段中看到品牌链接。
修改或删除品牌域名
您可以使用编辑功能修改现有完整域名的映射,将其关联到另一个OneLink子域名,无需再设置一个CNAME。
注意
修改在投广告的品牌域名可能会使链接功能发生变化或失效。
请按以下步骤修改品牌域名的映射:
- 进入用户体验与深度链接 > 品牌域名。
- 进入您需要编辑的品牌域名。
- 点击编辑。
请按以下步骤删除品牌域名映射:
- 请联系您的CSM或发邮件至hello@appsflyer.com。
问题排查、特点和局限性
问题排查
故障表现 | 原因/解决方法 |
---|---|
品牌域名无法映射到OneLink模板 |
|
品牌域名无法深度链接到应用中 |
|
未记录到来自品牌域名的激活 |
|
未记录到来自品牌域名的再互动 |
确保以下各项已配置完毕并已激活:
|
在设置品牌域名的过程中界面提示“该域名不存在”。 |
|
在设置品牌域名的过程中界面提示“未找到AppsFlyer CNAME” |
|
使用品牌域名链接时出现route_not_found报错 |
由于品牌域名中不包含相关模板或任何参数,因此在使用品牌域名时,您必须在该品牌域名URL的末尾添加相关模板或参数。 举例来说,假设您的品牌域名为“click.abcdef.com”,当您仅使用“click.abcdef.com”时,就会出现route_not_found_error报错。 您必须在其末尾添加参数或模板,如click.abcdef.com/A1bc/dc1234ef
|
特点与局限性
特征 | 是 ✓ / 否 x | 备注 |
---|---|---|
广告平台访问权限 | X | |
代理访问权限 | X | 代理商无法进入AF后台的品牌域名部分创建品牌域名。但他们能使用品牌域名的子域名创建OneLink自定义链接。 |
代理数据透明化 | X | |
应用配置中的指定时区 | 不适用 | |
应用配置中的指定货币 | 不适用 | |
字符限制 | 不适用 | 输入您的品牌域名时,最后一个字符不能为句点(“.”)。 |
大小限制 | 不适用 | |
频次限制 | ✓ |
品牌域名的SSL/HTTP证书是由AppsFlyer通过Let's Encryp提供的,每个域名每周最多可获取50个新证书。 |
自然用户数据 | ✓ | |
非自然用户数据 | ✓ | |
数据时效性 | N/A | |
历史数据 | ✓ | |
AF用户的访问权限 | ✓ | |
HTTP | X | 品牌链接不支持超文本传输协议(HTTP),必须使用超文本传输安全协议(HTTPS)。 |