Beispiel #1
0
    /// <summary>
    /// 初始化完成
    /// </summary>
    /// <param name="controller"></param>
    /// <param name="extensions"></param>
    public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
    {
        IAPIsInialize = true;
        Controller    = controller;
        var m_AppleExtensions = extensions.GetExtension <IAppleExtensions>();

        m_AppleExtensions.RegisterPurchaseDeferredListener(OnDeferred);

        string logStr = " IAP初始化完成 " + controller;

        Manager.log(logStr);
        mInitializeIAPCallback(Controller.products.all);
    }
    /// <summary>
    /// 验证结果
    /// </summary>
    /// <param name="rpcResultObj"></param>
    private void VerifyTransactionResultCallback(SnapRpcDataVO rpcResultObj)
    {
        StopTimeoutTimer();
        JsonData data = rpcResultObj.data;

        if (rpcResultObj.code == RpcDataCode.RequestFinish)
        {
            string logStr = "验证完成, 有效交易:" + rpcResultObj.code + "(" + rpcResultObj.message + ")";
            if (Manager)
            {
                Manager.log(logStr);
            }
            LogManager.Log(logStr);

            if (Manager)
            {
                Manager.BuyFinishGoToGameLoic();
            }
        }
        else
        {
            string logStr = "验证失败, 无效交易:" + rpcResultObj.code + "(" + rpcResultObj.message + ")";
            if (Manager)
            {
                Manager.log(logStr);
            }
            LogManager.Log(logStr);
        }

        //!!! Item漏单处理完毕

        //收据验证完成, 清除本地
        RemoveItemIAPTransaction(CurrentVerifyTransaction.userID, CurrentVerifyTransaction.transactionID);
        CurrentVerifyTransaction = null;
        //继续巡查
        VerifyItemTransaction();
        if (Manager)
        {
            Manager.clear();
        }
    }