如何防止数据库中的APNS设备令牌冗余

时间:2015-12-16 22:00:10

标签: ios apple-push-notifications devicetoken javapns

我正在为我的应用程序使用apns通知,为此我将apns设备令牌存储在我的sql数据库中。

问题在于,每次用户删除或安装应用程序时,它都会生成一个新的设备令牌并将其存储在数据库中,因为同一个用户可以拥有多个设备,我无法为该用户更新令牌,新记录被创建。这让同一设备和同一用户的许多记录。它可能会导致性能问题。

请帮忙。如何解决为同一用户存储多个令牌的问题。

1 个答案:

答案 0 :(得分:0)

很抱歉回复很晚,我们通过运行另一个用于删除存储在数据库中的APNS令牌而不是最新的作业来修复此问题。

我们的数据库为每个用户和每个设备存储了APNS令牌。取决于这些独特性。只有每个设备的最新令牌保存在数据库中,以防止在同一设备上发出多个通知。

另一个解决方案是使用upset(插入或更新),如果任何设备已经有令牌,则用新的或更新来更新它。

我觉得IOS应该提供可靠的API来处理这个问题。目前的Delete令牌API不可靠。