跳转到主要内容
自定义别名允许您为 OneSignal 中的用户分配自定义键值标识符,从而使用您自己的内部 ID 实现跨平台用户跟踪和识别。
重要:您必须在使用自定义别名之前设置一个 External IDOneSignal 使用唯一的 onesignal_id 来识别用户。此 ID 只有在具有相同 external_id 的情况下才能在 订阅 之间保持一致。自定义别名不会将订阅链接在一起——它们依赖于 external_id 才能正常工作。没有它,别名将无法跨设备或平台与同一用户关联。

什么是自定义别名?

自定义别名是一个 键 : 值 对,其中:
  • alias_label(键)是所有用户的一致静态标识符(例如,facebook_idfirebase_idcrm_user_id)。
  • alias_id(值)是该标签的特定用户 ID(例如,facebook_id: 3453443firebase_id: test3555)。
这允许您将 OneSignal 用户记录链接到来自其他平台或数据库的标识符。

为什么使用别名?

  1. 跨多个平台和数据库识别用户。
  2. 使用 Create Message REST API 发送有针对性的事务性消息。
  3. 通过用户 REST API 获取、更新或删除用户。

如何设置别名

您可以使用 OneSignal SDK 或通过 REST API 设置别名。

使用 SDK

在您的应用中按照以下步骤操作:
  1. 设置 External ID 调用 OneSignal.login(externalId) 来关联用户记录。
  2. 设置自定义别名 使用 OneSignal.User.addAlias(label, id) 添加单个别名,或使用 OneSignal.User.addAliases({ label1: id1, label2: id2 }) 设置多个别名。
  3. 注销(可选) 使用 OneSignal.logout() 移除该设备或会话的 external ID 和任何关联别名。
Example:
OneSignal.login("user_123");

OneSignal.User.addAliases({
  facebook_id: "3453443",
  firebase_id: "test3555"
});

// Later, when the user logs out
OneSignal.logout();

使用 REST API

要通过 API 设置自定义别名,请使用 Create Alias 端点。此方法通常用于后端系统进行服务器端用户管理。 Example Request:
POST /aliases
{
  "subscription_id": "abc123",
  "aliases": {
    "facebook_id": "3453443",
    "crm_user_id": "XYZ789"
  }
}

最佳实践

  • 在分配任何别名之前,始终设置 external_id
  • 使用稳定、描述性的标签(例如,crm_user_idlegacy_user_id)以避免团队间的混淆。
  • 避免使用敏感信息(如电子邮件地址或电话号码)作为别名值。
  • 在设备注销或用户切换事件时使用 logout() 清理别名。

自定义别名教程完成! 下一步:
  • 如果您还没有,请查看我们的 用户订阅 文档。
  • 探索我们的 REST API 文档,了解通过 API 使用别名的更多详细信息。
  • 设置 集成 以跨系统同步用户数据。

I