游戏内购思路

游戏内购 简介背景内购组成内购生命周期Google Play支付的封装思路初始化购买校验交易恢复购买到底是怎么个逻辑?恢复购买的使用测试弱网的情况下:上一次弱网,没有交易完成的情况下,下一次初始化时能否自动重新购买?续订,续订需要哪些操作?订阅到期 最后

简介

最近又有时间整理一下笔记了,开心!这篇笔记主要是记录游戏内购的逻辑,以及对Google play支付SDK的封装思路。

背景

内购的含义就是应用内部购买。内购对我们来说有什么作用呢?对于用户而言,他可以通过购买角色、皮肤、装备等,来满足自己的攀比心、胜负欲、收集欲、甚至权利(万国里面的等级系统就是一个比较成功的权利系统)。对商家而言,可以提高收益、调动玩家情绪方法之一、延长用户的生命周期等。

内购组成

商品列表

消耗品非消耗品订阅

交易

开始交易校验交易交易结果

内购生命周期

恢复交易:切换账号时恢复用户购买过的非消耗品或正在订阅的订阅,或上一次购买流程未走完的情况下,可恢复商品的验证。展示可供购买商品:向用户展示他们可以购买的商品启动购买流程:启动购买流程,以便用户接受购买交易。处理购买交易:在您的服务器上验证购买交易。交易结果:根据结果判断是否需要将商品交给用户。

Google Play支付的封装思路

初始化

初始时,同种类型商品上传验证后,下发时是否能正确的全部获取?
初始化获取的商品信息是本地和gp后台同时存在的商品,其中包括已经售卖的。

初始化下发回来的商品信息是否需要交给cp?
需要,cp根据返回的信息去给出可购买商品。

好了,那么初始化这里具体需要做什么操作呢?

本地化商品调用恢复交易逻辑:1.重新安装时恢复用户购买过的商品;2.游戏内需要记录下购买过的商品,记得排除掉不可二次购买的商品,免得重复展示并重复购买。 购买

购买直接调Google Play的购买接口就好了。

校验交易

暂时做本地校验,远程校验后续再做(服务端没做完,没法验证,以后补上)
本地校验就不做过多的解释了,远程校验更安全嘛,所以本地校验可以忽略。

恢复购买到底是怎么个逻辑?

返回购买过的商品的,其中不包含消耗品。
测试:猜想:成功购买的非消耗品和订阅不能再次购买,而消耗品可再次购买,理论上恢复购买返回的值是已经购买过的商品(非消耗品和订阅)。测试结果:与预想的一致。

衍生问题:cp多次获取恢复购买商品的信息,是否造成用户会多次获得商品?
解决:将交易成功的和恢复成功回调分成两个接口,也就是给一个特定的标识就可以了。

恢复购买的使用

首次安装或者覆盖安装后第一次打开应用,初始化成功后自动执行。最好在onResume()里也执行恢复交易,这样购买交易出问题时,也能通过恢复交易来矫正。

测试弱网的情况下:上一次弱网,没有交易完成的情况下,下一次初始化时能否自动重新购买?

1.购买时,网络断开,支付会一直加载,在加载时间内重开网络,购买会继续执行。
2.上一次交易用户支付成功,但是未完成验证,再次打开应用时会自动去验证交易,验证完交易可将商品交给用户。
3.上一次交易用户未支付成功,消耗品在五分钟内无法再次购买,调一下回复购买就可以再次购买的了。

续订,续订需要哪些操作?

猜测:
1.续订需要在Google商店进行操作。
2.自动续订。
验证:
代码会实现自动续订;在Google play应用商店上取消订阅时出现重新订按钮,在此之后便没有再出现了。

订阅到期

订阅到期后,恢复交易将不再返回之前订阅的信息,用户不能再查看订阅内容,用户可继续购买订阅。

最后

上面的是纯思路,本来想添加代码+思维导图然后进行详细的解释的,可是这是为公司做的,就不能提供代码和思维导图啦!根据上面的思路你就可以去封装Google play的支付SDK了,其实其他的支付SDK也差不多,一通百通嘛。附上Google play的官方文档,希望对你有用,有错误的地方,请多多指教哈,有疑惑请留意,大家一起讨论。在此记录一下自己的笔记以后好翻阅。

相关知识

游戏内购思路
游戏内购攻略
无限内购游戏大全
内购破解版游戏大全
游戏大全内购无限版
解密游戏内购机制:从玩家体验到开发者策略的深度剖析
买断游戏和免费内购游戏的区别是什么?
游戏内购是什么意思,和付费游戏有区别吗
记某单机游戏的一次内购破解
解决某APP游戏内购

网址: 游戏内购思路 http://www.hyxgl.com/newsview329781.html

推荐资讯