需要在Dashboard上设置以下两种信息。
URI Scheme
sha256_cert_fingerprints
请按照上面图片所示,在Android URL Scheme
输入框中输入包含://
的URL Scheme,如下所示。
example://
Attention
Airbridge的URI Scheme仅支持英文小写字母、数字以及部分特殊字符 (
-
,+
,.
)。
获取sha256_cert_fingerprints的方法如下。
请准备好在Google Play商店注册应用时使用的
keystore
文件。
请在 Terminal
中执行以下命令。
keytool -list -v -keystore my-release-key.keystore
3. 如下所示,复制 Certificate fingerprints
区域中的 SHA256
值,然后按照上方图片所示,将其输入到 Android sha256_cert_fingerprints
输入框中。
Certificate fingerprints:
MD5: 4C:65:04:52:F0:3F:F8:65:08:D3:71:86:FC:EF:C3:49
SHA1: C8:BF:B7:B8:94:EA:5D:9D:38:59:FE:99:63:ED:47:B2:D9:5A:4E:CC
SHA256: B5:EF:4D:F9:DC:95:E6:9B:F3:9A:5E:E9:D6:E0:D8:F6:7B:AB:79:C8:78:67:34:D9:A7:01:AB:6A:86:01:0E:99
Attention
Android sha256_cert_fingerprints可以用逗号(
,
)分隔形式设置多个值。
请根据下面的步骤设置Intent Filter。
打开 AndroidManifest.xml
文件。
在将处理DeepLink的 Activity
中,按照以下方式添加Intent Filter
。
<activity ...>
...
<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" />
<data android:scheme="http" android:host="YOUR_APP_NAME.abr.ge" />
<data android:scheme="https" android:host="YOUR_APP_NAME.abr.ge" />
</intent-filter>
<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" />
<data android:scheme="http" android:host="YOUR_APP_NAME.airbridge.io" />
<data android:scheme="https" android:host="YOUR_APP_NAME.airbridge.io" />
</intent-filter>
<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_APP_URI_SCHEME" />
</intent-filter>
...
</activity>
YOUR_APP_NAME.deeplink.page
: Airbridge App Links 版本2
YOUR_APP_NAME.airbridge.io
: Airbridge App Links 版本1
YOUR_APP_URI_SCHEME
: URI Scheme方式的DeepLink
在 Airbridge Dashboard中创建监测链接时,可以使用 deeplink.page
或 abr.ge
形式的监测链接,但为了提高监测链接的品牌效果和点击率(CTR),也可以使用自定义 URL,如 go.my_company.com/abcd
。
按照 该指南 设置要使用的自定义域名。
请创建 res/values/airbridge.xml
文件并在文件中添加之前设置的自定义域名地址。
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<string-array name="co_ab180_airbridge_custom_domains">
<item>YOUR_CUSTOM_DOMAIN</item>
</string-array>
</resources>
与之前设置的 Intent Filter
一样, 请将 Intent Filter
添加到处理DeepLink的 Activity
中,如下所示。
<activity ...>
...
<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" />
<data android:scheme="http" android:host="YOUR_CUSTOM_DOMAIN" />
<data android:scheme="https" android:host="YOUR_CUSTOM_DOMAIN" />
</intent-filter>
...
</activity>
Attention
上述内容中的
YOUR_CUSTOM_DOMAIN
应与Airbridge Dashboard中设置的信息相符。
为了处理前面设置的Activity
中添加的Intent Filter
的DeppLink,需要进行以下操作。
@Override
protected void onResume() {
super.onResume();
Airbridge.getDeeplink(getIntent(), new AirbridgeCallback<Uri>() {
@Override
public void onSuccess(Uri uri) {
// Process deeplink data
}
@Override
public void onFailure(Throwable throwable) {
// Error
}
@Override
public void onComplete() {
// After process deeplink data
}
});
}
// The code below is required for proper deeplink processing
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
}
override fun onResume() {
super.onResume()
Airbridge.getDeeplink(intent, object : AirbridgeCallback<Uri> {
override fun onSuccess(uri: Uri) {
// Process deeplink data
}
override fun onFailure(throwable: Throwable) {
// Error
}
override fun onComplete() {
// After process deeplink data
}
})
}
// The code below is required for proper deeplink processing
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
setIntent(intent)
}
在Airbridge SDK中,Deferred DeepLink通常会根据AndroidManifest.xml
中设置的Intent Filter
自动调用相应的Activity
,并通过与前面描述的DeepLink回调设置相同的方式统一进行处理。
如果需要使用通过Deferred DeepLink获取的信息来处理特殊操作,或者不希望通过Deferred DeepLink自动调用Activity
,可以使用以下方法进行设置。
AirbridgeConfig config = new AirbridgeConfig.Builder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
.setOnDeferredDeeplinkReceiveListener(new OnDeferredDeeplinkReceiveListener() {
@Override
public boolean shouldLaunchReceivedDeferredDeeplink(Uri uri) {
// If you want to open the target activity, please return true otherwise false
// Default returning value = true
return true;
}
})
.build();
Airbridge.init(this, config);
val config = AirbridgeConfig.Builder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
.setOnDeferredDeeplinkReceiveListener(object : OnDeferredDeeplinkReceiveListener {
override fun shouldLaunchReceivedDeferredDeeplink(uri: Uri): Boolean {
// If you want to open the target activity, please return true otherwise false
// Default returning value = true
return true
}
})
.build()
Airbridge.init(this, config)
完成Airbridge SDK的DeepLink设置后,可以通过以下链接验证是否正确跳转到相应的移动应用页面。
YOUR_APP_URI_SCHEME://
完成DeepLink设置和验证后,可以在Airbridge Dashboard
> Raw Data
> App Real-time Log
选项卡中查看相关信息。
利用 Airbridge SDK 设置设备别名。 即使应用关闭后,别名将保留,除非以其他方式删除。
Airbridge.setDeviceAlias("ADD_YOUR_KEY", "AND_YOUR_VALUE");
Airbridge.removeDeviceAlias("DELETE_THIS_KEY");
Airbridge.clearDeviceAlias();
Airbridge.setDeviceAlias("ADD_YOUR_KEY", "AND_YOUR_VALUE")
Airbridge.removeDeviceAlias("DELETE_THIS_KEY")
Airbridge.clearDeviceAlias()
方法 | 说明 |
---|---|
| 将键值对添加到设备标识符中。 |
| 删除对应的设备别名。 |
| 删除所有设备别名。 |
请启用此功能如由于隐私法(例:GDPR,CCPR)而仅应在有用户同意的情况下收集和传输数据。
// Default Auto Start Tracking Enabled = true
AirbridgeConfig config = new AirbridgeConfig.Builder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
.setAutoStartTrackingEnabled(false)
.build();
Airbridge.init(this, config);
...
// Set a variable like below
if (properties.isGDPRAccepted) {
Airbridge.startTracking();
}
// Default Auto Start Tracking Enabled = true
val config = AirbridgeConfig.Builder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
.setAutoStartTrackingEnabled(false)
.build()
Airbridge.init(this, config)
...
// Set a variable like below
if (properties.isGDPRAccepted) {
Airbridge.startTracking()
}
Was this page helpful?