OneSignal清理player_id(无需进一步了解操作系统)

时间:2017-09-30 13:42:02

标签: android notifications onesignal

OneSignal是一项免费服务,具有向不同设备(Android,iOS)发送通知的API。

当用户注册到我们的应用程序时,OneSignal player_id(设备令牌ID)将作为deviceToken存储在我们自己的后端中。

在我们的后端,我们为用户存储deviceTokens(playerIds),并向OneSignal发送请求,将userId作为标签存储到OneSignal服务。

由于一个用户可以拥有多个player_id(设备),并且一个设备可以拥有多个用户,因此我们在发送通知时将其用作过滤器。

但是,当用户重新安装应用程序时,player_id可能会更改:

OneSignal Documentation: Player ID

(OneSignal用户/玩家ID何时更改?)

在Android上,没有可用的方法可以在卸载前从OneSignal中删除deviceToken:

Perform a task on uninstall in android

这基本上意味着我们的后端无法销毁未使用的devicetokens(当设备在重新安装后获得新的player_id时)。
此外,我们无法向OneSignal发送请求以删除过期的player_id。

我不喜欢这样,因为我们的后端会继续尝试向不再有效的devicetokens发送通知。
这会增加开销并污染系统。

0 个答案:

没有答案