Iphone Apple推送通知、注销应用程序和删除应用程序问题/解决方案

Iphone Apple推送通知、注销应用程序和删除应用程序问题/解决方案,iphone,ios,push-notification,apple-push-notifications,Iphone,Ios,Push Notification,Apple Push Notifications,推送通知对我来说非常有效,但有一种情况除外。我们正在使用的应用程序要求您登录/注销,因此,当您登录时,服务器会向您发送通知,而当您未登录时,服务器不应发送通知 如果用户在登录时删除了该应用程序,则服务器不知道该用户已删除该应用程序。如果应用程序保持删除状态并且服务器尝试发送通知,则这不是问题-服务器端的APNS反馈机制捕捉到这一点并关闭会话 如果用户重新安装该应用程序会怎么样?他们仍然从服务器的角度登录。在应用程序启动时,您可以向服务器发送注销消息。如果你不启动应用程序怎么办?应用程序仍将看到通

推送通知对我来说非常有效,但有一种情况除外。我们正在使用的应用程序要求您登录/注销,因此,当您登录时,服务器会向您发送通知,而当您未登录时,服务器不应发送通知

如果用户在登录时删除了该应用程序,则服务器不知道该用户已删除该应用程序。如果应用程序保持删除状态并且服务器尝试发送通知,则这不是问题-服务器端的APNS反馈机制捕捉到这一点并关闭会话

如果用户重新安装该应用程序会怎么样?他们仍然从服务器的角度登录。在应用程序启动时,您可以向服务器发送注销消息。如果你不启动应用程序怎么办?应用程序仍将看到通知传入


这是我不该担心的愚蠢的边缘案件吗?或者有没有一个公认的方法来解决这个问题。

我认为解决这个问题的最佳方法是设定一个时间段(可能是一周或两周),如果用户不使用应用程序或服务器没有收到用户的任何数据,它会将其注销


这样一来,它会自动将他们注销,如果他们已经两周没有使用该应用程序,他们在再次使用该应用程序时必须登录。你可以做一件事,当设备向服务器发送通知注册请求时,服务器可以检查设备的UDID,如果发现任何通知,服务器可以将其清除

您无法再检查设备中的udid以将其发送到服务器这或多或少是我们当前正在做的事情。还有一种方法可以从设备上获取udid。@nflacco如何在ios9中获取udid