(1) 使用 Google Android IAP V3 时的最佳实践是什么?
--> 官方文档说只有支付交易将由 google play 本身处理,但在应用程序中您必须设置业务逻辑如何在产品购买后处理 UI 集成和其他事情。您还可以使用应用内购买 v3。
(2) 另外,如果用户的设备没有安装 Google Play,我可能想使用 paypal 进行付款,但是如果我要求用户使用简单的 paypal 付款来获取许可证,如何跟踪购买并为用户解锁功能钥匙?我不想使用任何其他计费SDK,如果通过Paypal网页购买许可证,如何实现?
--> 您可以要求用户动态更新 google play 版本。 Google 开发人员文档称,超过 90% 的设备使用 2.2 操作系统并安装了 Google Play 商店。我不能对 paypal 交易说任何话,因为我以前没有使用过它,但是使用 v3 的应用程序购买非常容易实现和理解支付流程。
如何在您的应用程序中使用
管理应用程序产品数据的三种方法。
1) 共享偏好:您可以使用共享偏好值来检查是否已购买。如果用户卸载了该应用程序,然后重新安装该应用程序,那么您可以检查用户是否已购买,此时您会发现该商品已购买。并且您必须管理用户才能访问您的应用程序数据。
2)本地数据库:您还可以使用本地 sqlite 数据库来存储购买详细信息和购买状态。如果用户清除数据或卸载应用程序,则与上述相同,然后再次请求购买商品并检查用户是否购买了商品。
or
2)服务器数据库:如果您使用网络服务器来存储用户数据,那么与上述方法相比,这是更好的方法。在这种类型下,如果用户卸载应用程序或清除应用程序数据,您甚至不需要进行第二次管理。
3)混淆:(与共享偏好相比最有效的方法)
EDIT:
在 SharedPreference 中设置一个值来标记用户已购买该商品是否可以且安全?如果用户在 SharedPreference 中破解此值会怎样?或者我每次都需要连接IAP服务来检查用户是否可以使用它?
当我在互联网上搜索时我发现Nikolay Elenkov's
回答如下:
如果您只是在共享首选项中保存一个标志,则任何具有 root 权限的用户
设备可以随意翻转标志并无需付费即可“订阅”。
所以你至少应该做一些混淆。这是一个样品方式 http://developer.android.com/google/play/licensing/adding-licensing.html#impl-Obfuscator去做
它。此外,还有一个API https://developers.google.com/android-publisher/v1/检查订阅状态,所以
您应该定期检查以确保订阅有效。
更多信息检查尼古拉·埃连科夫的回答 https://stackoverflow.com/questions/12270367/how-to-store-subscription-data-for-android-in-app-billing/12273593#12273593
应用内购买或 Paypal 哪种计费方式最好?
这取决于产品类型,
--> 在应用程序计费中:最适合谷歌的应用程序计费,
对于包括媒体等可下载内容的数字产品
文件或
照片、游戏关卡或药水等虚拟内容、高级内容
服务和功能等等。
http://developer.android.com/google/play/billing/index.html http://developer.android.com/google/play/billing/index.html
--> Paypal:最适合 Paypal 计费,
对于您想要分享的实体内容或产品。你不是
允许使用“应用内购买”销售实物商品或服务
因为通过这种方式购买的商品必须与
使用它们的应用程序。
从 iPhone 应用程序购买实体产品,无需 Apple 在应用程序内购买 https://stackoverflow.com/questions/3355313/purchase-physical-product-from-iphone-app-without-apple-in-app-purchase/3355619#3355619
希望它能帮助你。