本次例子为我的安吉拉2,仍然是自带应用商店渠道服。
基本操作流程就不详谈,不懂可以看我前贴,或者多看他贴。
内购的思路很简单,我们都知道游戏需要支付才能购买,所以要找到游戏的核心数据:支付。
跟前帖不同的是,这次支付返回,没有任何关键词提示。
平平通过常量过滤关键词,看到了支付成功,点进去看,明显只有支付成功的代码;
其中第二行(830行)很关键,pay一般跟支付相关,这里翻译出来是支付状态。
跳转纵观代码PayState, 你是否一眼锁定了名为onPurchaseSuccess(购买成功时)?
提取关键词对应排列:
Success (成功)
Canceled(取消)
Error (错误)
这一看很明显,相信很多人第一反应:选择第一个Success下手。
不急,我们继续看这里是怎么执行代码的,联想到支付返回没有提示,那就对应了Canceled。
不知大家有没有注意到,Canceled上面的:cond_15(105行)?
它的条件分歧是82行的if-eqz p1, :cond_15
满足条件会跳转到Canceled,
所以我们要把这个条件分歧删除,不让它跳转。
就是利用这个原理,达到内购的目的,比如说让它跳转Success。
简单的说,就是把Success的条件分歧改为无条件跳转,这里也不细详,看修改示意图做就行。
最后支付返回成功了。
总结就是,找到支付核心数据,使其跳转成功。
教程到此为止。
不同厂商游戏情况不一样,结果仅作参考。
平平小白一枚,能力有限,不足之处请多指教。