0

这几天我正在将 iab 添加到我的应用程序中,但是在阅读了谷歌的所有文档并进行了一些测试之后,我有一个疑问。我应该什么时候启动服务?现在是应用程序初始化的好时机吗?每次用户想购买产品时我应该初始化系统吗?

你怎么处理这个?

干杯。

4

2 回答 2

2

好的,我猜是时候给出一个完整的答案了。

  • 当您需要执行事务或检索信息/完成时,您可以绑定到 IAB 服务/取消绑定。无需担心那里的性能,因为这是一项本地服务,当您绑定到它时不一定会连接到 Google 服务器(唯一的例外:购买,但无论如何这需要一些时间);它遵循不同的策略来决定何时上网。
  • 正如 tjPark 所说,将您的应用程序内部关于用户拥有的内容的想法与 IAB 的想法同步是一个好主意。无论是在您的应用程序启动时还是仅在用户做出几个选择之后,都取决于您的应用程序。如果您需要为您的初始屏幕了解用户拥有哪些 IAB 项目,请在您的初始屏幕 Activity 中执行此操作。如果它只是稍后才变得相关,那么稍后查询 IAB 服务会更有意义。
  • You should also carefully think of a consumption strategy which suits your need if your IAB items can be consumed.
  • Always be aware that IAB V3 uses caching extensively so even synchronizing your app with the IAB service does not necessarily get you the latest information. E.g. when a user buys an in-app product on device 1 and wants to use it on device 2, there will be a delay until it shows up. Or if you cancel a transaction in Google Checkout/Wallet and the device is offline, you also won't know immediately.
  • Don't use Google example code without refining it to achieve product maturity.
  • Know that IAB service responses can be subject to re-play attacks because you cannot provide a nonce with your request.
  • 要知道,如果您没有服务器端验证,那么您的整个 IAB 代码可能会被替换为仅返回正面响应的虚拟代码。
于 2013-04-29T15:37:44.790 回答
1

http://developer.android.com/google/play/billing/api.html ,

从上面,谷歌说

当您的应用程序启动或用户登录时,最好使用 Google Play 检查以确定用户拥有哪些项目。要查询用户的应用内购买,请发送 getPurchases 请求。如果请求成功,Google Play 会返回一个 Bundle,其中包含已购买项目的产品 ID 列表、单个购买详细信息列表以及购买签名列表。

我想检查每个初始化都会为您的产品提供更多保护

于 2013-04-29T15:22:49.510 回答