使用 Adjust 安卓 SDK 监测卸载和重装。Adjust 使用推送标签向用户设备发送静默推送通知并检查您的应用是否处于已安装状态。
按照以下说明来为您的应用添加此功能。
操作前须知
以下是您在操作前需要了解的内容。
要求
- 安卓 SDK v4.12.0 及更新版本
- 将 Firebase 添加到您的安卓项目
- 管理员、编辑员或自定义编辑员权限
将 Google FCM 关联到 Adjust
通过 Google Firebase Cloud Messaging (FCM) API 配置静默推送通知后,您就可以监测卸载和重装。Adjust 需要 FCM HTTP v1 API 私钥才能连接至 Google FCM。
Google Cloud console
1. 为 Adjust 卸载和重装监测创建自定义角色
-
访问您的Google Cloud Console 。
-
选择与 Firebase 项目关联的 Google Cloud 项目。
-
搜索 IAM & 管理员 (IAM & Admin) 。
-
从侧栏菜单中选择 角色 (Roles) 。
-
选择 + 新建角色 (Create Role) 。
-
输入以下详细信息:
- Title : Adjust Uninstall
- ID : adjust_uninstall
- Role launch stage : General Availability
-
选择 + 添加权限 (Add Permissions) 。
-
在 输入属性名称或值 (Enter property name or value) 字段中输入
cloudmessaging.messages.create
并从搜索结果中进行选择。 -
勾选 cloudmessaging.messages.create 选项,然后选择 添加 (Add) 。
-
选择 创建 。
2. 创建一个服务账户
- 在侧栏菜单中选择 服务账户 (Service Accounts) 。
- 选择 + 创建服务账号 (Create Service Account) 。
- 在 服务账户名称 (Service account name) 字段中输入
Adjust Uninstall Service Account
。 - 选择 Create and Continue (创建并继续) 。
- 选择 选择角色 (Select a role) 下拉菜单。输入
Adjust Uninstall
并从搜索结果中选择。 - 选择 Continue (继续)。
- 选择 完成 (Done) 。
3. 生成并下载私人密钥
- 选择新创建的服务账户。格式如下:
adjust-uninstall-service-account@test3-55065.iam.gserviceaccount.com
。 - 选择 密钥 (Keys) 标签页。
- 选择 添加密钥 (Add Key) > 创建新密钥 (Create new key) 。
- 选择 JSON 然后选择 创建 (Create) 。 私人密钥将以 JSON 文件格式下载到您的电脑中。
在 Adjust 控制面板中
现在您已经获得了将 Adjust 连接到 Google FCM 所需的私人密钥详细信息,接下来需要在 AppView 的应用配置中启用卸载与重装监测:
- 选择 平台 标签页。
- 选择 编辑 。
- 在 高级设置 下,找到 记录卸载和重装数据 选项。
- 选择 添加关联 。随后将会弹出一个对话框,提示您添加 Adjust 和 Google FCM 之间的关联。
- 填写必要信息,包括您最近生成的 FCM 私人密钥。 合作伙伴 和 服务 字段会自动填充。
- 选择 关联 。
- 查看应用设置,然后选择 保存 。
集成 Adjust SDK
按照以下说明集成 FCM 与 Adjust SDK
-
确保您的
build.gradle
文件中有 Firebase Messaging 所需的依赖: -
在安卓端设置 Firebase Cloud Messaging 客户端应用,请按照Google 文档中的说明进行操作 (如您还未进行此操作)。
-
将设备的推送标签发送到 Adjust SDK。
- 如果您向应用发送自己的推送通知,请确保改写
FirebaseMessagingService
类中的onMessageReceived
方法,使之可处理所有类型推送通知,包括 Adjust 的卸载和重装监测静默推送通知。
- 如果您向应用发送自己的推送通知,请确保改写
示例
以下代码片段展示了如何扩展FirebaseMessagingService
类以将推送标签传送至 Adjust SDK,并更新推送通知处理逻辑。如果您不自己发送推送通知,则可以跳过onMessageReceived
方法的改写。
- 在初始化 Adjust SDK 前,在您的应用中初始化 Firebase 实例。
示例
以下是安卓项目中应用程序类的示例。您可以看到应用一启动就初始化了 Firebase 实例。
测试集成
Adjust 会检查生产环境中记录了最后一次活动的设备上的安卓应用卸载情况。
要测试卸载和重装监测,您可以使用调试或发布版本。最主要的是在测试安装时,您必须将 Adjust SDK 环境设置为 Production (生产) 。
要测试卸载监测:
-
在 Adjust SDK 中将环境设置为
AdjustConfig.ENVIRONMENT_PRODUCTION
,然后再初始化 Adjust SDK。 -
在测试设备或模拟器上安装应用。
-
打开应用。
-
打开 Adjust 的测试控制台。
-
输入您的 设备 ID ,然后选择 查看设备数据
-
在 应用信息 部分:
- Install state (安装状态) 应显示为 Installed (已安装) 。
- Push token (推送标签) 应当存在值。
-
卸载应用。
-
24 小时后,请再次查看测试控制台,因为 Adjust 每天检查一次卸载。在 应用信息 部分下的 Install state (安装状态) 应显示 Uninstalled (已卸载) 。
状态从 已安装 变为已 已卸载 可确保卸载与重装监测功能正常运行。如果您还想测试重装监测,请按照下列步骤操作:
- 在测试设备或模拟器中重新安装调试或发布版本。
- 打开应用。
- 24 小时后请再次查看测试控制台,Adjust 会每天检查一次重装。在 App information (应用信息) 部分下, Install state (安装状态) 现在应显示为 Reinstalled (已重装) 。
故障排除
以下是测试卸载和重装监测时最常见的问题:
- 进行测试安装时,Adjust SDK 的环境会设置为
AdjustConfig.ENVIRONMENT_SANDBOX
。该设置不支持卸载和重装监测。请确保在 Adjust SDK 中将此设置设为AdjustConfig.ENVIRONMENT_PRODUCTION
。 - 推送标签缺失。如果推送标签未出现在测试控制台中,则可能是您的 Firebase 安装或 Firebase SDK 与 Adjust SDK 集成代码出现了问题。请仔细检查这些元素。
- FCM HTTP v1 API 私人密钥出现问题。例如,您生成的私人密钥可能属于错误的项目,或您在 Adjust suite 中输入的详细信息有误。请查看这些要点并联系您的技术客户经理或发送邮件至support@adjust.com,请同时提供设备的推送标签。他们可以提取日志以检查来自 Google API 的响应。
解决问题后,请按照以下步骤再次测试集成情况:
- 卸载应用。
- 在测试控制台中输入您的 设备 ID ,然后选择 查看设备数据 > 遗忘设备 。
- 重复测试集成部分所述的步骤。