推送通知,是我们只需要设备令牌,还是更多?

Push notification, is it the device token all we need, or more?

我正在阅读 this previous thread,因为我在将设备令牌转换为可以在 POST 中发送的内容时遇到问题。问题已解决,我的令牌已正确发送到服务器,我们将其存储在用户的帐户记录中。

这就是我需要做的,对吧?如果我们使用该令牌进行通知,它将发送给该​​用户,并且只发送给该用户?还是我在这里遗漏了一些非常重要的东西?

当您说 'user' 时,您的意思是您的应用可以让不同的用户登录和注销吗?

要处理这个问题,您可以设置一个 table 来将 user_id 映射到 push_tokendevice_id。您还应该向此映射添加一个 enabled 标志 - 这意味着用户当前已登录该设备。

从概念上讲,虽然一台设备只有一个推送令牌,但它可能有很多用户,而一个用户可能有很多设备。

当用户在您发送 user_idpush_tokendevice_id 的设备上登录您的应用程序并在您的 table 中设置 enabled=TRUE。如果此 user/device 组合从未存在,请添加到您的 table.

当用户在您的设备上退出您的应用程序时,您发送 user_iddevice_id 并在您的 table.

中设置 enabled=FALSE

当一个事件发生时会触发向使用 user_id 的用户推送,那么您可以查找 push_tokensuser_idenabled=TRUE 关联的内容。然后你可以简单地推送到那些令牌。

@dmorrow 是对的。此外,您需要制作一个具有相同应用程序 ID 的 .pem 证书才能使服务器推送通知正常工作,检查此 ANSWER