跳转到主要内容
Adjust 是一家移动测量合作伙伴 (MMP),可对您各个营销渠道中的安装、会话和应用内事件进行归因。此集成会将 OneSignal 的 External ID 作为 onesignal_customer_id 合作伙伴参数传递给 Adjust,以便 Adjust 能够将它转发到 OneSignal 的事件与正确的用户关联起来。

要求

  • OneSignal 移动 SDK 版本 5.5.0 或更高版本。
  • 在 OneSignal 用户上已设置的 External ID。Adjust 与 OneSignal 之间的数据同步以此 ID 为键,因此该集成无法为匿名用户关联事件。

设置

要让 Adjust 的回调抵达正确的 OneSignal 用户,需要满足两个条件:Adjust 必须已配置为将事件转发到 OneSignal,并且您的应用必须在每个会话中将 External ID 作为合作伙伴参数附加。

1. 在 Adjust 控制台中启用数据共享

在您的 Adjust 控制台中,启用 OneSignal 集成并选择要转发的事件。Adjust 默认发送 installsession 活动;您还可以映射自定义事件和应用内收入。请按照 Adjust 的 Set up OneSignal 指南进行具体操作。
如果没有完成控制台中的这一步,Adjust 就不会向 OneSignal 发送任何回调,下一步中的 SDK 代码也就没有任何回调可以附加 onesignal_customer_id 参数。

2. 将 External ID 作为合作伙伴参数传递

当用户登录您的应用时,调用 OneSignal 的 login 方法来设置 External ID,然后调用 Adjust 的 addGlobalPartnerParameter 方法,其中键为 onesignal_customer_id,值为同一个 External ID。Adjust 会在之后的每个回调中转发该键–值对,OneSignal 使用 onesignal_customer_id 将回调匹配到正确的用户。
除 iOS 之外的所有 Adjust SDK 都使用 (key, value) 参数顺序。iOS 的 Swift 与 Objective-C 使用 (value, forKey: key)。如果错误地将 External ID 作为键传入,集成会在不报错的情况下失效:Adjust 会转发一个以您的用户 ID 字符串命名的参数,而 OneSignal 将永远看不到 onesignal_customer_id
val externalId = "your_user_id"
OneSignal.login(externalId)
Adjust.addGlobalPartnerParameter("onesignal_customer_id", externalId)
有关底层 Adjust SDK 参考,请查看 Adjust 的 Global Partner Parameters 文档:AndroidiOS

Deep linking

Adjust 使用 iOS Universal Links 与 Android App Links 将推送点击引导至您应用中的特定页面。发送需要打开 Adjust 深度链接的 OneSignal 通知时,请按照 Adjust 的 Push Notifications 指南所述,将通知的 Launch URL 设置为 Adjust 深度链接。请参阅 OneSignal 的深度链接指南,了解各平台上 Launch URL 的处理方式。

FAQ

什么是 onesignal_customer_id 合作伙伴参数?

onesignal_customer_id 是 OneSignal 在 Adjust 回调中读取的确切键名,用于将 Adjust 事件与 OneSignal 用户关联起来。请将其值设置为您传递给 OneSignal.login 的同一个 External ID。任何其他键名都不会被识别。

应该在什么时候调用 Adjust.addGlobalPartnerParameter

每次调用 OneSignal.login 时都调用它:在应用启动时一旦获得用户 ID 就调用,账户切换时再次调用。这与 OneSignal 的登录指南一致,能让 Adjust 合作伙伴参数与当前的 OneSignal 用户保持同步。

用户注销或切换账户时会发生什么?

Adjust 会将全局合作伙伴参数保留在内存中,直到您更改或移除它们。用户注销时,请调用 Adjust.removeGlobalPartnerParameter("onesignal_customer_id")(或在下次登录时覆盖其值)。否则,Adjust 会继续把后续事件归到上一个用户的 External ID 上。

Adjust 会向 OneSignal 发送哪些数据?

默认情况下,Adjust 会转发 installsession 活动,以及您在 Adjust 控制台中映射的任何事件。所转发字段的完整列表记录在 Adjust 的 OneSignal 集成文章中。

相关页面

External ID

为您的 OneSignal 用户设置一个稳定的标识符,以便合作伙伴集成能够关联数据。

Mobile SDK: login

OneSignal.login 的参考文档,包括何时调用及其重试行为。

Deep linking

为推送、应用内、邮件和短信配置 Universal Links、App Links 和 URI 方案。

Keys & IDs

查找您的 OneSignal App ID 和 REST API Key,用于 Adjust 控制台的设置。