Esempio n. 1
0
        void OnEnable()
        {
#if UNITY_IOS && STOREKIT
            StoreKitManager.productListReceivedEvent += ASKProductListReceived;

            StoreKitManager.purchaseSuccessfulEvent += ASKPurchaseSuccessful;
            StoreKitManager.purchaseFailedEvent     += ASKPurchaseFailed;
            StoreKitManager.purchaseCancelledEvent  += ASKPurchaseCancel;

            StoreKitManager.restoreTransactionsFailedEvent   += ASKRestoreTransactionsFailed;
            StoreKitManager.restoreTransactionsFinishedEvent += ASKRestoreTransactionsFinished;
#endif
#if UNITY_ANDROID && !AMAZONSTORE && GOOGLEIAB
            GoogleIABManager.billingSupportedEvent        += IABBillingSupported;
            GoogleIABManager.billingNotSupportedEvent     += IABBillingNotSupported;
            GoogleIABManager.queryInventorySucceededEvent += IABQueryInventorySucceeded;
            GoogleIABManager.queryInventoryFailedEvent    += IABQueryInventoryFailed;
            GoogleIABManager.purchaseCompleteAwaitingVerificationEvent += IABPurchaseCompleteAwaitingVerification;
            GoogleIABManager.purchaseSucceededEvent        += IABPurchaseSucceeded;
            GoogleIABManager.purchaseFailedEvent           += IABPurchaseFailed;
            GoogleIABManager.consumePurchaseSucceededEvent += IABConsumePurchaseSucceeded;
            GoogleIABManager.consumePurchaseFailedEvent    += IABConsumePurchaseFailed;
#endif
#if UNITY_ANDROID && AMAZONSTORE
            // Register for an event
            iapService.AddGetPurchaseUpdatesResponseListener(OnPurchaseUpdatesResponse);
            iapService.AddGetProductDataResponseListener(OnProductDataResponse);
            iapService.AddPurchaseResponseListener(OnPurchaseResponse);
            iapService.AddGetUserDataResponseListener(OnUserDataResponse);
#endif
        }
Esempio n. 2
0
 void OnEnable()
 {
     EB.Debug.Log("AmazonIAPOnEnable");
     // Listen to all events for illustration purposes
     _iapService.AddGetUserDataResponseListener(GetUserDataResponseCallback);
     _iapService.AddPurchaseResponseListener(PurchaseResponseCallback);
     _iapService.AddGetProductDataResponseListener(GetProductDataResponseCallback);
     _iapService.AddGetPurchaseUpdatesResponseListener(GetPurchaseUpdatesResponseCallback);
 }
Esempio n. 3
0
 private void SubscribeToEvents()
 {
             #if AMAZON_BILLING_ENABLED
     iapService.AddGetUserDataResponseListener(GetUserDataHandler);
     iapService.AddPurchaseResponseListener(PurchaseProductHandler);
     iapService.AddGetProductDataResponseListener(GetProductDataHandler);
     iapService.AddGetPurchaseUpdatesResponseListener(GetPurchaseUpdatesHandler);
             #endif
 }
Esempio n. 4
0
        /// <summary>
        ///  initiates a request to retrieve updates about items the customer has purchased and/or cancelled.
        /// </summary>
        /// <param name="itemType">not required for Amazon</param>
        /// <returns></returns>
        private async Task <List <PurchaseReceipt> > GetPurchaseReceipts()
        {
            var taskCompletionSource = new TaskCompletionSource <List <PurchaseReceipt> >();

            if (context == null)
            {
                context = AmazonIapV2Impl.Instance;
            }


            // Construct object passed to operation as input
            var request = new ResetInput();

            // Set input value
            request.Reset = true;

            // Call synchronous operation with input object
            string requestId = context.GetPurchaseUpdates(request).RequestId;
            // Get return value
            GetPurchaseUpdatesResponseDelegator delegator = null;

            delegator = new GetPurchaseUpdatesResponseDelegator(async response =>
            {
                await Task.Run(() =>
                {
                    if (response.RequestId == requestId)
                    {
                        var receipts = GetPurchasesUpdateEventHandler(response);

                        var sucess = taskCompletionSource.TrySetResult(receipts);
                        //await Task.Delay(TimeSpan.FromMilliseconds(1));an.FromMilliseconds(1));
                        context.RemoveGetPurchaseUpdatesResponseListener(delegator.responseDelegate);
                    }
                });
            });
            // Register for an event
            context.AddGetPurchaseUpdatesResponseListener(delegator.responseDelegate);

            return(await taskCompletionSource.Task);
        }