(1) 使用 Google Android IAP V3 时的最佳做法是什么?
--> 官方文档说只有支付交易会由google play自己处理,但是在应用程序中你必须设置你的业务逻辑你如何处理产品购买后的UI集成和其他事情。您也可以使用应用内购买 v3。
(2) 另外,如果用户的设备没有安装 Google Play,我可能想使用 paypal 进行付款,但是如果我要求用户使用简单的 paypal 支付来获得许可证,如何跟踪购买并为用户解锁功能钥匙?我不想使用任何其他计费 SDK,如果用 Paypal 网页购买许可证,如何实现?
--> 您可以要求用户动态更新 google play 版本。谷歌开发者文档说超过 90% 的设备使用 2.2 操作系统并安装了谷歌游戏商店。我不能说任何关于贝宝交易的事情,因为我以前没有使用过它,但是在使用 v3 的应用程序购买中是的,实现和理解支付过程非常简单。
如何在您的应用程序中使用
管理应用程序产品数据的三种方法。
1)SharedPrefrence:
可以使用share prefrence值,查看是否购买。如果万一用户卸载了应用程序然后重新安装了应用程序,那么您可以检查用户是否已购买,此时您会得到该项目已经购买。而且您必须管理用户以访问您的应用程序数据。
2)本地数据库:
您也可以使用本地sqlite数据库来存储购买明细和购买状态。与上述相同,如果用户清除数据或卸载应用程序,然后再次请求购买商品并检查用户是否购买了商品。
或者
2)服务器数据库:
如果您使用Web服务器存储用户数据,这是与上述相比更好的方法。在这种类型中,如果用户卸载应用程序或清除应用程序数据,您甚至不需要进行第二次管理。
3)混淆:(与共享偏好相比最有效的方式)
编辑:
在 SharedPreference 中设置一个值来标记用户已购买此商品是否可以且安全?如果用户在 SharedPreference 中破解此值怎么办。还是我每次都需要连接 IAP 服务以检查用户才能使用它?
当我在互联网上搜索时,我找到了Nikolay Elenkov's
如下答案:
如果您只是在共享首选项中保存一个标志,任何拥有根设备的用户都可以随意翻转标志并“订阅”而无需付费。所以你至少应该做一些混淆。这是一个示例方法。此外,还有一个用于检查订阅状态的API,因此您应该定期检查以确保订阅有效。
更多信息查看Nikolay Elenkov 的回答
什么是最适合在应用内购买或 Paypal 计费?
这取决于产品类型,
-->应用内计费: 最适合谷歌应用内计费,
对于数字产品,包括媒体文件或照片等可下载内容、游戏关卡或药水等虚拟内容、高级服务和功能等。
http://developer.android.com/google/play/billing/index.html
--> Paypal:最适合 Paypal 计费,
对于物理内容或产品,您想分享。您不得使用“应用内购买”销售实物商品或服务,因为通过此方法购买的商品必须与使用它们的应用直接相关。
从 iPhone 应用购买实体产品,无需 Apple 在应用内购买
希望它会帮助你。