Airbridge 会向过去 6 个月内执行过至少 1 次 App 事件的用户发送静默推送通知,以检查用户是否已卸载 App。此静默推送通知在每天 UTC 15:00 至 16:00 之间发送。App 卸载事件可在 Airbridge 报告和通过导出原始数据查看。
需要在 Airbridge 面板输入 Apple Developer 和 Google Cloud 控制台凭证。
请从 Apple Developer 获取 4 项凭证:
为了获取 APNs(Apple Push Notification service)Auth Key,请首先在 Apple Developer 开启 App 的推送通知。
在 Apple Developer 点击 [Identifiers]。
搜索并点击要追踪的 App,勾选 “Push Notification”。
在 Apple Developer [Keys] 点击 “+”,创建并下载 APNs Auth Key(p8)。
APNs Auth Key(p8)只能在创建时下载,无法重复下载。若丢失,需重新生成。
每次最多可创建 2 个 APNs Auth Key。
可在 [Keys] 中点击已创建的 APNs Auth Key 以获取 Key ID。
请在 Apple Developer 点击 [Certificates, Identifiers & Profiles]>[Identifiers],搜索并点击要追踪的 App,即可获取该 App 的 Bundle ID。
Team ID (App ID Prefix) 可在 Apple Developer 的 [Account]>[Membership details] 获取。
请通过以下 3 个步骤从 Google Cloud 控制台获取凭证。
请按照以下步骤创建 App 卸载追踪所需的 Google Cloud IAM(Identity and Access Management)自定义角色:
1. 登录 Google Cloud 控制台,在下拉列表中选择要创建自定义角色的项目。
2. 导航至 [IAM 和管理]>[角色],点击 “创建角色”。
3. 将角色的名称、ID、角色发布阶段设置为如下:
名称:Airbridge Uninstalls
ID:abr_uninstalls
角色发布阶段:正式版
4. 点击 “添加权限”。
5. 点击 “输入属性名称或值“,搜索并选择 cloudmessaging.messages.create
,勾选复选框后点击 ”添加“。
6. 点击 “创建” 即可完成创建自定义角色。
请按照以下步骤创建服务账号以创建私钥:
1. 导航至 [IAM 和管理]>[服务账号],点击 “创建服务账号”。
2. 将服务账号名称设置为 ABR Uninstall Service Account
。点击 “创建并继续”。
3. 在 “请选择一个角色” 下拉列表搜索并选择 “Airbridge Uninstalls”,点击 “继续”。
4. 点击 “完成” 即可完成创建服务账号。
请按照以下步骤创建包含凭证的私钥文件:
1. 导航至 [IAM 和管理]>[服务账号]。在服务账号列表中选择名称为 ABR Uninstall Service Account
的服务账号的邮箱。
2. 选择 [密钥] 选项卡,点击 “添加密钥” 后选择 “创建新密钥”。
3. 选择 “JSON” 密钥类型后点击 “创建” 即可下载包含私钥的 JSON 文件。将此文件保存至安全的位置。
请输入各平台的凭证。
请在 Airbridge 面板导航至 [设置]>[卸载追踪]>[iOS App 卸载追踪],输入从 Apple Developer 获取的所有凭证。
在 Airbridge 面板完成所有凭证的输入后,请选择要收集推送 Token 的 App 环境。根据所选 App 环境,收集的推送 Token 将不同。例如,在 “生产” 环境中收集的推送 Token 无法在 “开发” 环境中使用。
支持的 App:在 App Store 上发布的 App 以及通过 TestFlight、Ad Hoc、或 Enterprise 发布的测试版 App
收集的推送 Token:用于卸载追踪的实际推送 Token
支持的 App:“生产” 不支持的测试版 App
收集的推送 Token:在开发环境中使用的推送 Token
“开发” 仅支持静默推送通知测试。请使用 “生产” 追踪实际卸载。
请按照以下步骤在 Airbridge 面板输入凭证。
1. 请在 Airbridge 面板导航至 [设置]>[卸载追踪]。
2. 请在 [Android] 页面上传从 Google Cloud 控制台下载的 JSON 文件。
3. 您可将文件拖放到上传区域或点击上传区域进行文件搜索和上传。
各平台的静默推送通知测试详情如下。
您可通过点击 “测试静默推送” 按钮,检查静默推送通知是否根据已输入的凭证成功发送至设备。静默推送测试既不监测也不创建实际卸载事件,因此 Airbridge 面板上不会显示任何卸载事件。
此外,卸载追踪所需的 Bundle ID 只能通过静默推送测试来验证其有效性,因此,建议进行静默推送测试。
为了进行静默推送测试,需要 APNs 推送 Token(Device Token)。由于根据 App 环境收集的推送 Token 不同,在进行静默推送测试之前,需要确认推送 Token 和 App 环境。有关确认 APNs 推送 Token 的方法,请参阅 Apple Developer 文档。
当 Airbridge 向设备发送静默推送通知时,您可以查看成功消息或错误代码。可以通过 iOS 静默推送测试查看的主要错误代码如下。有关错误代码的更多信息,请参阅 Apple Developer 文档。
错误代码 | 含义 |
---|---|
403 (InvalidProviderToken) | APNs 凭证无效。请输入有效的 Key ID 和 Team ID 后重试。 |
400 (TopicDisallowed) | Bundle ID 无效。请输入有效的 Bundle ID 后重试。 |
400 (BadDeviceToken) | 推送 Token 无效。请检查测试 App 和 App 环境设置是否匹配。 |
410 (Unregistered) | 推送 Token 无效。请检查测试 App 和 App 环境设置是否匹配。另外,用户可能在几天前已经卸载了测试 App。 |
410 (ExpiredToken) | 推送 Token 无效。请检查测试 App 和 App 环境设置是否匹配。另外,用户可能在几天前已经卸载了测试 App。 |
部分表示 App 已被卸载的错误代码在静默推送通知成功追踪到卸载事件时也会出现。然而,这会导致无法分辨静默推送测试是否成功,从而削弱测试的目的。因此,为确保测试有效,请使用最近 10 天内未卸载测试 App 的设备进行静默推送测试。
注意
iOS Simulator 无法进行静默推送测试。
您可以通过测试静默推送通知以检查静默推送通知是否正常发送至设备。请点击 “测试静默推送” 按钮,并输入测试设备的 FCM 注册 Token。获取 FCM 注册 Token 的方法,请参阅 Firebase 文档。
当静默推送通知成功发送至测试设备时,您可以查看成功消息。对于已卸载 App 的测试设备,可以查看 404 错误代码。
以下是在 Android 环境测试静默推送通知时可能遇到的主要错误代码。有关错误代码的更多信息,请参阅 Firebase 文档。
错误代码 | HTTP 状态码 | 含义 |
---|---|---|
INVALID_ARGUMENT | 400 | 请求参数无效,请检查包名称等信息是否输入正确。 |
THIRD_PARTY_AUTH_ERROR | 401 | APNs 证书或 Web 推送 Auth key 无效或丢失。请检查凭证。 |
SENDER_ID_MISMATCH | 403 | 认证的发送者 ID 与注册 Token 的发送者 ID 不一致。请检查发送者 ID。 |
UNREGISTERED | 404 | 注册 Token 无效,表示根据 Airbridge 的判断,App 已被卸载。App 卸载事件可正常被 Airbridge 收集。 |
QUOTA_EXCEEDED | 429 | 已超过消息目标的发送限制。 |
INTERNAL | 500 | Firebase 服务器出现错误,请稍后再试。若错误继续,请联系 Firebase。 |
UNAVAILABLE | 503 | Firebase 服务器过载,未能及时处理请求。请稍后再试。 |
静默推送通知测试既不监测也不创建实际 App 卸载事件,因此不会影响 Airbridge 面板上的 App 卸载事件数据。因此,无法通过静默推送通知测试在 Airbridge 报告或通过导出原始数据查看是否发生了 App 卸载事件。
为了追踪 App 卸载事件,需要完成 Airbridge SDK 设置。
Airbridge 通过静默推送通知追踪 App 卸载情况,因此请确保 App 已启用接收推送通知。
当推送 Token 生成后,请调用 registerPushToken
函数,将该 Token 传递至 SDK。
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';
...
Airbridge.registerPushToken(token);
注意
iOS 需传递 APNs 推送 Token,Android 需传递 Firebase 推送 Token。
为了卸载追踪发送的静默推送通知,不应该在 App 中显示给用户。为了使 App 忽略此静默推送通知,请参见以下代码设置:
import 'package:airbridge_flutter_sdk/airbridge_flutter_sdk.dart';
...
if (Airbridge.isUninstallTrackingNotification(payload)) {
// app uninstall tracking push by airbridge.
// ignore these push notifications.
return
}
在 Airbridge 面板输入凭证并完成 Airbridge SDK 设置后,即可打开 “启用 App 卸载追踪” 切换按钮开始追踪卸载。有关卸载追踪的更多信息,请参阅 本指南。
Was this page helpful?