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

how to prevent APNS device token redundancy in database

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

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

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

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

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

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

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