2

我们有两个版本的应用程序(免费和付费),我们希望支持这两个版本的推送通知,并且它们都使用相同的服务器。

到目前为止,我们可以更新服务器上的用户数据,所以如果用户从免费版本更改为付费版本,我们会更新服务器,用户将开始接收到付费版本的推送通知。

但是,我过去看到过应用程序的更新,这对付费版本产生了负面影响,人们已经降级到免费版本。这是一种罕见的情况,但是如何处理呢?

我们用于注册令牌的逻辑如下:我们将令牌和确认存储在用户设置(AppDefaults)中。当用户启用推送通知时,我们会检查应用程序是否注册了这些设置(notification_token 和 notification_token_confirmed_by_server)。如果我们有一个令牌,但它没有得到服务器的确认(就像你第一次为应用程序启用推送通知),我们会将令牌连同它是什么版本的应用程序一起发送到服务器。

那么如果用户在手机上既有付费版又有免费版,无论出于何种原因选择使用免费版,在升级付费版之后,这种情况的最佳处理方式是什么?

我看到一个名为 Draw Something 的应用程序,它要求用户卸载免费版本,但我认为这是一个糟糕的解决方案(你不能“要求”你的用户做任何事情并以此为基础!)

4

1 回答 1

0

最终的解决方案是向用户上次登录的应用程序版本发送推送通知。

假设您在请求中包含应用程序版本,您也可以在每次用户发出请求时更新服务器,但这会变得“健谈”,因此为了不经常访问数据库,这是一个很小的代价

于 2012-04-30T08:18:12.143 回答