如何找到In App Purchases成功(Native Plugin Use)

时间:2014-10-23 11:49:33

标签: unity3d in-app-purchase in-app-billing in-app

我在Unity游戏中使用Android Native Plugin来购买硬币。我将如何在Unity脚本中了解此次购买是否成功?

newScriptAndroidInApp.loadStore(); AndroidInAppPurchaseManager.instance.purchase(GPaymnetManagerExample.coins_2000);

这就是我调用InApp的方式,之后不知道该怎么做。 是否有返回bool或类似的东西,因为如果购买成功,我必须在当前硬币中添加该数量的硬币。

这是本机插件链接:

https://www.assetstore.unity3d.com/en/#!/content/10825

1 个答案:

答案 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);
        ...
    }
}

请注意,我没有拥有此插件,因此代码可能无法编译,但总体思路应该相同。