首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在服务器上使用deviceID、orderID、PurchaseToken验证购买是否足够?

问在服务器上使用deviceID、orderID、PurchaseToken验证购买是否足够?
EN

Stack Overflow用户
提问于 2019-06-26 13:55:36
回答 1查看 52关注 0票数 0

在过去的几天里,我一直在设置应用程序账单,并试图走正确的道路。本指南建议使用安全的后端服务器来存储购买令牌,而不是本地存储数据。在服务器上验证购买的文档非常少,我不确定我是否走对了这条路。

我正在使用云火商店来存储标题中提到的购买信息。我有几个问题:

我是否应该从服务器读取我的产品id,而不是将其硬编码到apk中?

在这种情况下,我应该多久读取一次设备id并在数据库上进行搜索,以确保用户购买了有效的设备?是一次性购买还是间歇性购买?

如果我这样做,当购买者更换他们的手机时会发生什么?设备ID将是不同的,我不会有他们的新设备成功购买的记录。或者我在这里查询skupurchase,它返回已经拥有的物品,将这些新的详细信息写入数据库?

最后,我是否应该将成功购买标志存储在共享首选项中,这样我就不会经常读取数据库,并且用户可以脱机使用设备?

我本来打算用这个答案here让用户发邮件的,但是有很多评论说这非常具有侵入性,我只需要它做一件简单的事情。所以我选择了设备ID路由。

顺便说一句,我只有一个产品,解锁全部功能,是非消耗品。

正确的做法是什么呢?

EN

回答 1

Stack Overflow用户

发布于 2019-06-28 12:56:40

这就是我解决同样问题的方法。它可能与您的场景无关。希望能有所帮助。

我是否应该从服务器读取我的产品id,而不是将其硬编码到apk中?

您应该将productID存储在代码中,因为它们将用于提供编码到应用程序中的功能。

我/我需要多久读取一次设备id?

您不应该依赖设备id,因为您已经提出了有关用户更换电话的问题。您可能希望实现登录系统,并让用户在购买产品之前登录到应用程序。这将使您的订阅设备独立。

这个过程应该是:

  1. 用户尝试使用锁定功能。
  2. 应用程序要求登录。让用户注册并登录。

应用程序用户再次点击购买按钮并完成purchase.

  1. Your服务器存储用户登录信息与购买information.
  2. User更改设备。
  3. 用户尝试使用锁定功能。
  4. 应用程序要求登录。用户登录。
  5. 服务器返回包含用户信息的购买详细信息。
  6. 应用程序解锁该功能。

我应该多久从服务器上查看一次购买明细?

您应该断断续续地检查购买详细信息。

为什么?用户可能会在一段时间后要求退款,或者支付网关会因为某种原因而使购买无效。

在IMO中,应该有两种类型的同步方法:静默和强制。在我的方法中,静默同步将每9天检查一次互联网。如果互联网不可用,它什么也做不了。而强制同步将从上次同步起每25天检查一次互联网。如果互联网不可用,它会要求用户打开它,否则用户将无法使用该应用程序。

我使用的是一个月的订阅期限,但由于你有一个非消耗性产品,你可以负担2-4个月的强制同步期限。

我应该将成功购买标志存储在共享首选项或其他什么地方,这样我就不会经常读取数据库,用户可以脱机使用设备吗?

同步过程和登录将解决此问题。

我想你可能不愿意为这么小的东西实现一个登录系统,并认为它会让更少的用户购买你的产品。但通过实现谷歌身份验证,它将变得更快,用户将不会对此感到沮丧。

实现这种方法涉及到大量的服务器端逻辑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56766084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档