我们有两个版本的应用程序(免费和付费),我们希望支持这两个版本的推送通知,并且它们都使用相同的服务器。
到目前为止,我们可以更新服务器上的用户数据,因此如果用户从免费版本更改为付费版本,我们会更新服务器,用户将开始接收付费版本的推送通知。
但是,我过去看过应用程序的更新,这对付费版本产生了负面影响,人们已降级为免费版本。 这是一种罕见的情况,但如何处理呢?
我们用来注册令牌的逻辑如下: 我们将令牌和确认存储在用户设置(AppDefaults)中。 当用户启用推送通知时,我们会检查应用是否已注册这些设置(notification_token和notification_token_confirmed_by_server)。 如果我们有令牌,但服务器未确认(如第一次为应用启用推送通知),我们会将令牌连同应用程序的版本一起发送到服务器。
因此,如果用户手机上同时拥有付费版本和免费版本,并且出于某种原因选择使用免费版本,则在升级付费版本后,处理场景的最佳方式是什么?像这样?
我看到一个名为Draw Something的应用程序,它要求用户卸载免费版本,但我认为这是一个糟糕的解决方案(你不能'要求'你的用户做任何事情并根据你的逻辑做出决定!)
答案 0 :(得分:0)
最终解决方案是将推送通知发送到用户上次登录的应用版本。
您可以选择每次用户发出请求时更新服务器,假设您在请求中包含应用程序版本,但这会变得“繁琐”,因此为了不经常访问数据库,这是一个很小的代价