要求
创建应用
在 Adjust 控制面板中创建应用。
请注意,Adjust 控制面板仅支持每个应用使用一个 Bundle ID (com.example.app) 和一个应用 Scheme (example://) 。如果您的应用在发布版本和调试版本中使用不同的应用 ID 和/或应用 Scheme,请创建单独的调试应用。
在应用的平台设置中添加 Android。如果您还没有应用 ID,或不确定自己的应用 ID,请勾选 暂时还没有应用 ID 复选框。按照本指南的其余步骤收集全部所需数据点,然后返回控制面板中的平台设置以完成配置。
设置品牌化域名
在 Adjust 控制面板中使用 Adjust 的 go.link 域名,例如:brandname.go.link,设置品牌化域名。如果您的组织使用的是企业域名,请同时进行设置。
如果您的 iOS 应用和 Android 应用在 Adjust 中使用不同的应用,请确保在 Adjust 控制面板中为这两个应用选择相同的品牌化域名 (brandname.go.link)。
如果发布版本和调试版本使用不同的应用,请为调试应用单独创建一个品牌化域名 (brandnamedebug.go.link)。如果调试应用在 Adjust 中使用单独的 iOS 和 Android 应用,请确保在 Adjust 控制面板中为这两个调试应用选择相同的品牌化域名。
请记下您的品牌化域名,以便在下一节中通过 Android Studio 进行配置。
找到您的应用 ID 和应用 Scheme
要配置深度链接,您需要先确定 应用 ID 和 应用 Scheme 。设置一般会匹配下列配置之一。使用这些示例来查找上述值。
在该设置中,应用 ID 定义在 build gradle 文件中,应用 Scheme 被硬编码在应用层级 AndroidManifest.xml 中。
applicationId = "com.example.app"
这是具有不同发布和调试版本的应用的常见设置。应用 ID 和应用 Scheme 均在 build gradle 文件中动态定义。
applicationId = "com.example.app"
manifestPlaceholders["appScheme"] = "example"
// Debug App ID: com.example.app.debug
applicationIdSuffix = ".debug"
manifestPlaceholders["appScheme"] = "exampleDebug"
请记录相关应用 Scheme,以便稍后在 Adjust 控制面板中进行设置。如果您在检查这些文件后没有找到应用 Scheme,那么请在下一部分中创建。
打开应用级别的 AndroidManifest.xml 文件,并针对以下每项内容添加一个 intent 过滤器:
Android 应用链接
- 发布 Adjust 品牌化域名 (
brandname.go.link)
- 企业域名 (
click.brandname.com),如适用
- 调试 Adjust 品牌化链接 (
brandnamedebug.go.link),如适用
应用 Scheme
如果您还没有应用 Scheme,请自行添加。应用 Scheme 必须为 http 或 https 以外的值。
- 发布应用 Scheme (
example://)
- 调试应用 Scheme (
exampleDebug://),如适用
以下两种方法可确保深度链接始终在现有任务中打开应用。请选择与应用当前主要活动启动模式配置对应的方法。
这些选项可确保深度链接行为正确,且无需更改主要活动的启动模式。请参阅 Android 启动模式文档,了解更多信息。
<!-- Use this approach if MainActivity is already singleTask or singleInstance -->
android:name=".MainActivity"
android:launchMode="singleTask"
<!-- Your existing LAUNCHER intent-filter -->
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<!-- Add this intent filter for your Adjust branded domain -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
android:host="brandname.go.link" />
<!-- Add this intent filter for your app scheme -->
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="example" />
<!-- Use this approach if MainActivity is singleTop, standard, or doesn't specify a launch mode -->
android:name=".MainActivity"
android:launchMode="singleTop"
<!-- Your existing LAUNCHER intent-filter -->
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<!-- Add this new activity to your manifest to receive deep links -->
android:name=".DedicatedDeepLinkActivity"
android:launchMode="singleTask"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
<!-- Add this intent filter for your Adjust branded domain -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
android:host="brandname.go.link" />
<!-- Add this intent filter for your app scheme -->
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="example" />
在 Adjust 控制面板中利用所收集的数据点完成 Android 平台设置的配置。
| 数据点 | 示例 | 要求 |
|---|
| 发布应用 ID | com.example.app | 必要。 |
| 调试应用 ID | com.example.app.debug | 如果调试应用 ID 与发布应用 ID 不同,则必填。 |
| 发布应用 Scheme | example:// | 如果 Android 应用链接不受支持,则为必要。 |
| 调试应用 Scheme | exampleDebug:// | 如果调试应用 Scheme 与发布应用 Scheme 不同,则必填。 |
要使用 Android 应用链接设置深度链接 ,您还需要为发布和调试版本获取 SHA-256 证书指纹。