重要:您必须在使用自定义别名之前设置一个 External ID。OneSignal 使用唯一的
onesignal_id
来识别用户。此 ID 只有在具有相同 external_id
的情况下才能在 订阅 之间保持一致。自定义别名不会将订阅链接在一起——它们依赖于 external_id
才能正常工作。没有它,别名将无法跨设备或平台与同一用户关联。什么是自定义别名?
自定义别名是一个键 : 值
对,其中:
alias_label
(键)是所有用户的一致静态标识符(例如,facebook_id
、firebase_id
、crm_user_id
)。alias_id
(值)是该标签的特定用户 ID(例如,facebook_id: 3453443
、firebase_id: test3555
)。
为什么使用别名?
- 跨多个平台和数据库识别用户。
- 使用 Create Message REST API 发送有针对性的事务性消息。
- 通过用户 REST API 获取、更新或删除用户。
如何设置别名
您可以使用 OneSignal SDK 或通过 REST API 设置别名。使用 SDK
在您的应用中按照以下步骤操作:-
设置 External ID
调用
OneSignal.login(externalId)
来关联用户记录。 -
设置自定义别名
使用
OneSignal.User.addAlias(label, id)
添加单个别名,或使用OneSignal.User.addAliases({ label1: id1, label2: id2 })
设置多个别名。 -
注销(可选)
使用
OneSignal.logout()
移除该设备或会话的 external ID 和任何关联别名。
使用 REST API
要通过 API 设置自定义别名,请使用 Create Alias 端点。此方法通常用于后端系统进行服务器端用户管理。 Example Request:最佳实践
- 在分配任何别名之前,始终设置
external_id
。 - 使用稳定、描述性的标签(例如,
crm_user_id
、legacy_user_id
)以避免团队间的混淆。 - 避免使用敏感信息(如电子邮件地址或电话号码)作为别名值。
- 在设备注销或用户切换事件时使用
logout()
清理别名。