我在Unity游戏中使用Android Native Plugin来购买硬币。我将如何在Unity脚本中了解此次购买是否成功?
newScriptAndroidInApp.loadStore(); AndroidInAppPurchaseManager.instance.purchase(GPaymnetManagerExample.coins_2000);
这就是我调用InApp的方式,之后不知道该怎么做。 是否有返回bool或类似的东西,因为如果购买成功,我必须在当前硬币中添加该数量的硬币。
这是本机插件链接:
答案 0 :(得分:0)
根据文档https://docs.google.com/document/d/1px0BVXcZqgrW99OQV4bM7q1rD5NYaCYTxXnn4eS4ytY购买功能触发ON_PRODUCT_PURCHASED事件,您应该听取。此事件提供的数据应视为BillingResult,其中bool isSuccess字段具有购买状态。可以通过int响应字段访问高级错误代码(在docs中搜索BillingResponseCodes类)。因此,工作流程如下所示:
AndroidInAppPurchaseManager.instance.addEventListener(AndroidInAppPurchaseManager.ON_PRODUCT_PURCHASED, OnProductPurchased);
...
private void OnProductPurchased(CEvent e) {
BillingResult result = e.data as BillingResult;
if(result.isSuccess) {
Debug.Log("Purchase successful");
...
} else {
Debug.Log("Purchase failed with code: " + result.response);
...
}
}
请注意,我没有拥有此插件,因此代码可能无法编译,但总体思路应该相同。