Google Play应用内付费知识点,google play上的应用免费吗Google Play应用内付费知识点Google Play应用内付费的一些术语1.应用与Google play进行IPC通信,负责购买请求和结果响应2.要完成应用内购买请求,Google Play应用必须能够通过网络访问Google Play......
Google Play应用内付费的一些术语
1.应用与Google play进行IPC通信,负责购买请求和结果响应
2.要完成应用内购买请求,Google Play应用必须能够通过网络访问Google Play服务器
3.使用Google Play Developer Console定义商品,包括商品类型、SKU、价格、说明,等等
4.托管和未托管,托管是指谷歌负责记录商品的购买情况,并可查询,即使卸载/更换设备;在版本3中,所有应用内商品均是托管的
5.消耗托管商品,托管商品被购买,消耗商品是需要给谷歌服务器发快递消耗请求,才能进行下次购买
6.订阅,按年或按月定期向用户收费,与应用内商品不同,订阅无法消耗。
7.非消耗型和消耗型应用内商品
购买商品
购买请求的基本顺序。
Version 3 API中的典型购买流程如下所示:
1.您的应用向Google Play发快递isBillingSupported请求,以确定您当前使用的Inapp Billing API目标版本是否受支持。
2.当您的应用启动或用户登录时,最好向Google Play进行查询,确定该用户拥有哪些商品。要查询用户的应用内购买,请发快递getPurchases请求。如果请求成功,Google Play会返回一个Bundle,其中包含所购商品的商品ID列表、各项购买详情的列表以及购买签名的列表。
3.通常情况下,您需要将可供购买的商品通知用户。要查询您在Google Play中定义的应用内商品的详细信息,应用可以发快递getSkuDetails请求。您必须在查询请求中指定商品ID列表。如果该请求成功,Google Play会返回一个包含产品详情(包括商品的价格、标题、说明和购买类型)的Bundle。
4.如果用户还未拥有某种应用内商品,您可以提示购买。为了发起购买请求,您的应用会发快递getBuyIntent请求,指定要购买商品的商品ID以及其他参数。当您在Developer Console中创建新的应用内商品时,应记录其商品ID。
Google Play返回的Bundle中包含PendingIntent,您的应用可用它来启动购买结账UI。
您的应用通过调用startIntentSenderForResult方法启动待定Intent。
结账流程结束后(即用户成功购买商品或取消购买),Google Play会向您的onActivityResult方法发快递响应Intent。onActivityResult的结果代码中有一个代码将用于表明购买是成功还是已取消。响应Intent中包含所购商品的相关信息,包括Google Play为了对此次购买交易进行唯一标识而生成的purchaseToken字符串。Intent中还包含使用您的开发者私钥签署的购买签名。
要详细了解Version 3 API的调用和服务器响应,请参阅应用内购买结算参考。
消耗应用内商品
您可以使用消耗机制跟踪用户对应用内商品的所有权。
在版本3中,所有应用内商品均是托管的。这意味着用户对所购全部应用内商品的所有权均由Google Play进行维护,您的应用可以在需要时查询用户的购买信息。当用户成功购买应用内商品后,此次购买就会记录在Google Play中。应用内商品一经购买,就会被视为“被拥有”。状态为“被拥有”的应用内商品无法再通过Google Play购买。您必须对“被拥有”的应用内商品发快递消耗请求,然后Google Play才能允许再次购买。消耗应用内商品会将商品切换回“未被拥有”状态,并舍弃之前的购买数据。
为了检索用户所拥有的商品列表,您的应用会向Google Play发快递getPurchases调用。您的应用可以通过发快递consumePurchase调用发起消耗请求。在请求参数中,您必须指定应用内商品的唯一purchaseToken字符串,此字符串在商品售出时由Google Play指定。Google Play会返回一个状态代码,指明此次消耗是否已成功记录。
非消耗型和消耗型应用内商品
您需要决定是要将您的应用内商品作为非消耗型商品还是消耗型商品进行处理。
非消耗型商品
通常情况下,对于在应用内购买一次就能永久使用的应用内商品,您无需实现消耗。这些商品在购买后将永久与用户的Google帐户相关联。高级版升级和关卡包就属于非消耗型应用内商品。
消耗型商品
相反,对于可多次购买的商品,您可以实现消耗。通常情况下,这类商品提供某些临时效果。例如,用户在游戏中的角色可以从自己的库存中获得生命值或额外的金币。在您的应用中分配所购商品的收益或效果称为配置应用内商品。您负责控制和跟踪如何向用户配置应用内商品。
重要说明:您必须先向Google Play发快递消耗请求,在收到表明此次消耗已成功记录的响应之后,才能在应用中配置消耗型应用内商品。
下面是购买消耗型应用内商品的基本流程:
1.调用getBuyIntent启动购买流程。
2.从Google Play接收表明购买是否成功完成的响应Bundle。
3.如果购买成功,则通过调用consumePurchase消耗购买。
4.从Google Play接收表明消耗是否成功完成的响应代码。
5.如果消耗成功,则在您的应用中配置商品。
之后,当用户启动或登录到您的应用时,您应检查该用户是否拥有任何尚未消耗的消耗型应用内商品;如果有,请务必消耗并配置这些商品。如果您在应用中实现消耗型应用内商品,则可以采用下面推荐的应用启动流程:
1.发快递getPurchases请求,查询此用户拥有的应用内商品。
2.如果有任何消耗型应用内商品,请通过调用consumePurchase消耗这些商品。必须执行这步操作,因为应用虽然可能已完成此消耗型商品的购买订单,但在其发快递消耗请求之前仍有可能已停止运行或断开连接。
3.从Google Play接收表明消耗是否成功完成的响应代码。
4.如果消耗成功,则在您的应用中配置商品。
个人结论:购买后需要立即消费?
版权声明:本文为博主原创文章,遵循CC 4.0 BYSA版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011484134/article/details/80918878
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部