示例#1
0
    public void InitializePurchasing()
    {
        // If we have already connected to Purchasing ...
        if (IsInitialized())
        {
            // ... we are done here.
            return;
        }

        // Create a builder, first passing in a suite of Unity provided stores.

        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

        builder.AddProduct(FIRST_PRODUCT, ProductType.Consumable);
        builder.AddProduct(SECOND_PRODUCT, ProductType.Consumable);
        builder.AddProduct(THIRD_PRODUCT, ProductType.Consumable);
        builder.AddProduct(FOURTH_PRODUCT, ProductType.Consumable);
        builder.AddProduct(FIFTH_PRODUCT, ProductType.Consumable);

        UnityPurchasing.Initialize(this, builder);
    }
示例#2
0
        public void InitializePurchasing()
        {
            // If we have already connected to Purchasing ...
            if (IsInitialized())
            {
                // ... we are done here.
                return;
            }

            // Create a builder, first passing in a suite of Unity provided stores.
            var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

            // Add a product to sell / restore by way of its identifier, associating the general identifier with its store-specific identifiers.
            builder.AddProduct(Coins100, ProductType.Consumable);            //, new IDs(){{ kProductNameAppleConsumable,       AppleAppStore.Name },{ kProductNameGooglePlayConsumable,  GooglePlay.Name },});// Continue adding the non-consumable product.
            builder.AddProduct(Coins500, ProductType.Consumable);
            builder.AddProduct(Coins1000, ProductType.Consumable);
            builder.AddProduct(NoAdsNonConsumable, ProductType.NonConsumable);
            //	builder.AddProduct(kProductIDNonConsumable, ProductType.NonConsumable, new IDs(){{ kProductNameAppleNonConsumable,       AppleAppStore.Name },{ kProductNameGooglePlayNonConsumable,  GooglePlay.Name },});// And finish adding the subscription product.
            //	builder.AddProduct(kProductIDSubscription, ProductType.Subscription, new IDs(){{ kProductNameAppleSubscription,       AppleAppStore.Name },{ kProductNameGooglePlaySubscription,  GooglePlay.Name },});// Kick off the remainder of the set-up with an asynchrounous call, passing the configuration and this class' instance. Expect a response either in OnInitialized or OnInitializeFailed.
            UnityPurchasing.Initialize(this, builder);
        }
示例#3
0
    public void InitializePurchasing()
    {
        // If we have already connected to Purchasing ...
        if (IsInitialized())
        {
            // ... we are done here.
            return;
        }

        // Create a builder, first passing in a suite of Unity provided stores.
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

        // Add products
        builder.AddProduct(DONATION_1_DOLLAR, ProductType.Consumable);
        builder.AddProduct(DONATION_3_DOLLAR, ProductType.Consumable);
        builder.AddProduct(DONATION_5_DOLLAR, ProductType.Consumable);

        // Kick off the remainder of the set-up with an asynchrounous call, passing the configuration
        // and this class' instance. Expect a response either in OnInitialized or OnInitializeFailed.
        UnityPurchasing.Initialize(this, builder);
    }
示例#4
0
        public void InitializePurchasing()
        {
            // If we have already connected to Purchasing ...
            if (IsInitialized())
            {
                // ... we are done here.
                return;
            }

            // Create a builder, first passing in a suite of Unity provided stores.
            var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

            // Add a product to sell / restore by way of its identifier, associating the general identifier
            // with its store-specific identifiers.
            builder.AddProduct(coins100, ProductType.Consumable);


            // Kick off the remainder of the set-up with an asynchrounous call, passing the configuration
            // and this class' instance. Expect a response either in OnInitialized or OnInitializeFailed.
            UnityPurchasing.Initialize(this, builder);
        }
示例#5
0
    public void InitializePurchasing()
    {
        // If we have already connected to Purchasing ...
        if (IsInitialized())
        {
            // ... we are done here.
            return;
        }

        // Create a builder, first passing in a suite of Unity provided stores.
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

        // Add a product to sell / restore by way of its identifier, associating the general identifier
        // with its store-specific identifiers.
        builder.AddProduct("words500", ProductType.Consumable);
        builder.AddProduct("words2500", ProductType.Consumable);
        builder.AddProduct("words5000", ProductType.Consumable);
        // Continue adding the non-consumable product.

        UnityPurchasing.Initialize(this, builder);
    }
示例#6
0
    public void InitializePurchasing()
    {
        if (IsInitialized() || IsInitializing())
        {
            return;
        }

        m_isInitializing = true;

        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

        foreach (var itemId in IapIds.Ids)
        {
            builder.AddProduct(itemId, ProductType.NonConsumable);
        }

        // TODO: remove that in release version. This is consumable bundle for testing
        // builder.AddProduct("test.pixitallfree.consume_01", ProductType.Consumable);

        UnityPurchasing.Initialize(this, builder);
    }
示例#7
0
    public void InitializePurchasing()
    {
        if (IsInitialized())
        {
            return;
        }
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());


        foreach (ProductDataController.ProductData productData in ProductDataController.Instance.listProductData)
        {
            builder.AddProduct(productData.ProductID, ProductType.Consumable);
        }

        builder.AddProduct(ProductDataController.x2EXP, ProductType.Consumable);
        builder.AddProduct(ProductDataController.x3EXP, ProductType.Consumable);
        builder.AddProduct(ProductDataController.x4EXP, ProductType.Consumable);
        builder.AddProduct(ProductDataController.changeGameSpeedID, ProductType.Consumable);

        UnityPurchasing.Initialize(this, builder);
    }
示例#8
0
    public void InitializePurchasing()
    {
        // If we have already connected to Purchasing ...
        if (IsInitialized())
        {
            // ... we are done here.
            return;
        }

        // Create a builder, first passing in a suite of Unity provided stores.
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

        builder.AddProduct(noAds, ProductType.NonConsumable);
        //builder.AddProduct(kProductIDConsumable, ProductType.Consumable);
        //builder.AddProduct(kProductIDNonConsumable, ProductType.NonConsumable);
        //builder.AddProduct(kProductIDSubscription, ProductType.Subscription, new IDs(){
        //    { kProductNameAppleSubscription, AppleAppStore.Name },
        //    { kProductNameGooglePlaySubscription, GooglePlay.Name },
        //});
        UnityPurchasing.Initialize(this, builder);
    }
示例#9
0
    public void InitializePurchasing()
    {
                // 결제 관련 모듈들이 이미 초기화 되어 있다면
                if(IsInitialized())
        {
            return;
        }

        // 인앱 시스템 빌더를 생성
        ConfigurationBuilder builder =
            ConfigurationBuilder.Instance(
                StandardPurchasingModule.Instance());

        // 인앱 시스템 빌더에 상품을 등록함
        builder.AddProduct("jewelry.100", ProductType.Consumable);
        builder.AddProduct("jewelry.300", ProductType.Consumable);
        builder.AddProduct("jewelry.1000", ProductType.Consumable);

        // 인앱 시스템을 초기화함
        UnityPurchasing.Initialize(this, builder);
    }
示例#10
0
        public void InitializePurchasing()
        {
            // If we have already connected to Purchasing ...
            if (IsInitialized())
            {
                // ... we are done here.
                return;
            }

            // Create a builder, first passing in a suite of Unity provided stores.
            var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

            // Add products to sell / restore by way of its identifier, associating the general identifier with its store-specific identifiers.
            Assert.IsTrue(Products.Length > 0, "You need to add products if using Payments");
            foreach (PaymentProduct product in Products)
            {
                builder.AddProduct(product.Name, product.ProductType);
            }

            UnityPurchasing.Initialize(this, builder);
        }
        public UnityTask <bool> InitializeUnityPurchasing(System.Action <AppStore, ConfigurationBuilder> configurationBuilder)
        {
            return(UnityTask <bool> .Run(InitializeUnityPurchasingCoroutine()));

            IEnumerator <bool> InitializeUnityPurchasingCoroutine()
            {
                if (this.initializationState == InitializationState.InitializedSucceeded)
                {
                    yield return(true);

                    yield break;
                }

                float startTime = Time.realtimeSinceStartup;

                this.initializationState = InitializationState.Initializing;
                UnityPurchasing.Initialize(this, this.GetConfigurationBuilder(configurationBuilder));

                while (this.initializationState == InitializationState.Initializing)
                {
                    yield return(default);
    public void Initialize()
    {
        //Are we already initialised return
        if (!IsInitialized())
        {
            //Debug.Log("Initialising IAP...");

            var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

            //Add products
            builder.AddProduct(removeAds, ProductType.NonConsumable);

            UnityPurchasing.Initialize(this, builder);

            //Find Debugger
            if (GameObject.Find("DEBUG_OUTPUT"))
            {
                debugger = GameObject.Find("DEBUG_OUTPUT").GetComponent <Text>();
            }
        }
    }
示例#13
0
    public void InitializePurchasing()
    {
        // If we have already connected to Purchasing ...
        if (IsInitialized())
        {
            // ... we are done here.
            return;
        }

        // Create a builder, first passing in a suite of Unity provided stores.
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());


        builder.AddProduct(kProductIDConsumable, ProductType.Consumable);

        builder.AddProduct(kProductIDNonConsumable, ProductType.NonConsumable);
        
        builder.AddProduct(Product_No_ADS, ProductType.NonConsumable);    // no ads
        
        UnityPurchasing.Initialize(this, builder);
    }
示例#14
0
        public void InitializePurchasing()
        {
            if (!AllInOneMobileSettings.Instance.useInAppPurchases)
            {
                Debug.LogError("InApp-Purchases are disabled.");
                return;
            }
            if (IsInitialized())
            {
                return;
            }

            var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

            foreach (InAppProduct product in AllInOneMobileSettings.Instance.products)
            {
                builder.AddProduct(product.id, product.productType);
            }

            UnityPurchasing.Initialize(this, builder);
        }
示例#15
0
    public void InitializePurchasing()
    {
        // If we have already connected to Purchasing ...
        if (IsInitialized())
        {
            // ... we are done here.
            return;
        }

        // Create a builder, first passing in a suite of Unity provided stores.
        builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
        builder.Configure <IGooglePlayConfiguration>().SetPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhmGoGEHliLOAjHiUemCsEIaa7oPlRKkMVSps/Vb0199tZFs2FxteTQpUAhv7bf6sw126cnsYDO2Tj24ZwDvxE5+X1+semBP6ZJqaJPewZSGd1v++e1TA6h6llM0aXo0lBCYnn2uIM0vc9Q4Yog2AJzkYmCGc51yLeqjLdZnt5WIEiiNPvP9zf9Vk7isW7MsMnErGcGd85tCXtJOpnE1xkFW76PkCxfZmnsI8ZOST17FcxSADqnMu0JgYNo+TOvQHjogAeE3p9mJrvQOWrPaO1ug5Z64l5/L3U+CDF10W6SrdcjYOUiGEGaFXcccf5HpeRcOE7Dq0WYuCgiQCfSW7YQIDAQAB");

        // Add a product to sell / restore by way of its identifier, associating the general identifier
        // with its store-specific identifiers.
        foreach (string key in loggedProducts)
        {
            builder.AddProduct(key, ProductType.Consumable);
        }


        // And finish adding the subscription product. Notice this uses store-specific IDs, illustrating
        // if the Product ID was configured differently between Apple and Google stores. Also note that
        // one uses the general kProductIDSubscription handle inside the game - the store-specific IDs
        // must only be referenced here.

        //foreach (string key in kProductIDSubscription)
        //{
        //    builder.AddProduct(key, ProductType.Subscription, new IDs()
        //    {
        //        { kProductNameAppleSubscription, AppleAppStore.Name },
        //        { kProductNameGooglePlaySubscription, GooglePlay.Name },
        //    });

        //}

        // Kick off the remainder of the set-up with an asynchrounous call, passing the configuration
        // and this class' instance. Expect a response either in OnInitialized or OnInitializeFailed.
        UnityPurchasing.Initialize(this, builder);
    }
示例#16
0
        #pragma warning restore 0414

        // initialize IAPs, billing systems and database,
        // as well as shop components in this order
        void Awake()
        {
            //make sure we keep one instance of this script in the game
            if (instance)
            {
                Destroy(gameObject);
                return;
            }
            DontDestroyOnLoad(this);
            isDebug = Debug.isDebugBuild;

            //set static reference
            instance = this;
            //populate IAP dictionary and arrays with product ids
            InitIds();

            var module  = StandardPurchasingModule.Instance();
            var builder = ConfigurationBuilder.Instance(module);

            RequestProductData(builder);

            builder.Configure <IGooglePlayConfiguration>().SetPublicKey(googleStoreKey);
            if (isDebug)
            {
                builder.Configure <IMicrosoftConfiguration>().useMockBillingSystem = true;
                // Write out our Amazon Sandbox JSON file.
                // This has no effect when the Amazon billing service is not in use.
                builder.Configure <IAmazonConfiguration>().WriteSandboxJSON(builder.products);
            }

            // Now we're ready to initialize Unity IAP.
            UnityPurchasing.Initialize(this, builder);

            //initialize database, remote and shop managers
            GetComponent <IAPListener>().Init();
            GetComponent <DBManager>().Init();
            StartCoroutine(RemoteDownload());
            validator = GetComponent <ReceiptValidator>();
            OnLevelWasLoaded(-1);
        }
示例#17
0
    public void Awake()
    {
        // 仮想ストアの設定
        var module = StandardPurchasingModule.Instance();

        module.useFakeStoreUIMode = FakeStoreUIMode.StandardUser;
        var builder = ConfigurationBuilder.Instance(module);

        // iOSとAndroidの処理分岐
                #if UNITY_IOS
        string             storeName = AppleAppStore.Name;
        PurchaseItemData[] itemData  = iosItems;
                #elif UNITY_ANDROID
        string             storeName = GooglePlay.Name;
        PurchaseItemData[] itemData  = androidItems;
        // GooglePlay共通鍵の設定
        builder.Configure <IGooglePlayConfiguration>().SetPublicKey(googlePlayPublicKey);
                #endif

        // プロダクトの登録
        for (int i = 0; i < itemData.Length; i++)
        {
            // 各データの取得
            string      name = itemData [i].itemName;
            string      pID  = itemData [i].productId;
            ProductType type = itemData [i].productType;

            // プロダクトの登録
            builder.AddProduct(name, type, new IDs {
                { pID, storeName }
            });
        }

                #if RECEIPT_VALIDATION
        validator = new CrossPlatformValidator(GooglePlayTangle.Data(), AppleTangle.Data(), Application.bundleIdentifier);
                #endif

        // IAP初期化
        UnityPurchasing.Initialize(this, builder);
    }
示例#18
0
        public void InitializePurchasing()
        {
            // If we have already connected to Purchasing ...
            if (IsInitialized())
            {
                // ... we are done here.
                return;
            }

            // Create a builder, first passing in a suite of Unity provided stores.
            var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

            //SET GOOGLE PLAY PUBLIC KEY

            // Add a product to sell / restore by way of its identifier, associating the general identifier
            // with its store-specific identifiers.
            builder.AddProduct(kProductIDNonConsumable, ProductType.NonConsumable, new IDs
            {
                { "com.unity3d.unityiap.unityiapdemo.sword.c", GooglePlay.Name }
            });
            builder.AddProduct(kProductIDConsumable, ProductType.Consumable, new IDs()
            {
                { kProductNameGooglePlayConsumable, GooglePlay.Name }
            });
            // Continue adding the non-consumable product.

            // And finish adding the subscription product. Notice this uses store-specific IDs, illustrating
            // if the Product ID was configured differently between Apple and Google stores. Also note that
            // one uses the general kProductIDSubscription handle inside the game - the store-specific IDs
            // must only be referenced here.
            builder.AddProduct(kProductIDSubscription, ProductType.Subscription, new IDs()
            {
                { kProductNameAppleSubscription, AppleAppStore.Name },
                { kProductNameGooglePlaySubscription, GooglePlay.Name },
            });

            // Kick off the remainder of the set-up with an asynchrounous call, passing the configuration
            // and this class' instance. Expect a response either in OnInitialized or OnInitializeFailed.
            UnityPurchasing.Initialize(this, builder);
        }
示例#19
0
文件: IAP.cs 项目: gamevagrant/March
        public void InitializePurchasing()
        {
            // If we have already connected to Purchasing ...
            if (IsInitialized())
            {
                // ... we are done here.
                return;
            }

            var module = StandardPurchasingModule.Instance();

            module.useFakeStoreUIMode = FakeStoreUIMode.StandardUser;

            // Create a builder, first passing in a suite of Unity provided stores.
            var builder = ConfigurationBuilder.Instance(module);

            builder.Configure <IGooglePlayConfiguration>().SetPublicKey(PublicKey);

            m_IsGooglePlayStoreSelected =
                Application.platform == RuntimePlatform.Android && module.appStore == AppStore.GooglePlay;

            ProductItems.ForEach(product =>
            {
                // Add a product to sell / restore by way of its identifier, associating the general identifier with its store-specific identifiers.
                Debug.LogWarning("[===IAP===] adding product: " + product);
                builder.AddProduct(product, ProductType.Consumable,
                                   new IDs {
                    { product, GooglePlay.Name }
                });                                        // Continue adding the non-consumable product.
            });

            try
            {
                UnityPurchasing.Initialize(this, builder);
            }
            catch (Exception e)
            {
                Debug.LogError("Initialize exception: " + e.Message);
            }
        }
示例#20
0
文件: IAP.cs 项目: srob7556/UnityGame
    public void InitializePurchasing()
    {
        // If we have already connected to Purchasing ...
        if (IsInitialized())
        {
            // ... we are done here.
            return;
        }

        // Create a builder, first passing in a suite of Unity provided stores.
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

        // Add a product to sell / restore by way of its identifier, associating the general identifier with its store-specific identifiers.

        builder.AddProduct(kProductIDConsumable1, ProductType.Consumable, new IDs()
        {
            { kProductNameAppleConsumable1, AppleAppStore.Name }, { kProductNameGooglePlayConsumable1, GooglePlay.Name },
        });                                                                                                                                                                                                // Continue adding the non-consumable product.
        builder.AddProduct(kProductIDConsumable2, ProductType.Consumable, new IDs()
        {
            { kProductNameAppleConsumable2, AppleAppStore.Name }, { kProductNameGooglePlayConsumable2, GooglePlay.Name },
        });                                                                                                                                                                                                       // Continue adding the non-consumable product.
        builder.AddProduct(kProductIDConsumable3, ProductType.Consumable, new IDs()
        {
            { kProductNameAppleConsumable3, AppleAppStore.Name }, { kProductNameGooglePlayConsumable3, GooglePlay.Name },
        });                                                                                                                                                                                                       // Continue adding the non-consumable product.
        builder.AddProduct(kProductIDConsumable4, ProductType.Consumable, new IDs()
        {
            { kProductNameAppleConsumable4, AppleAppStore.Name }, { kProductNameGooglePlayConsumable4, GooglePlay.Name },
        });                                                                                                                                                                                                       // Continue adding the non-consumable product.
        builder.AddProduct(kProductIDConsumable5, ProductType.Consumable, new IDs()
        {
            { kProductNameAppleConsumable5, AppleAppStore.Name }, { kProductNameGooglePlayConsumable5, GooglePlay.Name },
        });                                                                                                                                                                                                       // Continue adding the non-consumable product.
        builder.AddProduct(kProductIDConsumable6, ProductType.Consumable, new IDs()
        {
            { kProductNameAppleConsumable6, AppleAppStore.Name }, { kProductNameGooglePlayConsumable6, GooglePlay.Name },
        });                                                                                                                                                                                                       // Continue adding the non-consumable product.
        UnityPurchasing.Initialize(this, builder);
    }
示例#21
0
    public void Awake()
    {
        var module = StandardPurchasingModule.Instance();

        module.useMockBillingSystem = true;
        var builder = ConfigurationBuilder.Instance(module);

        builder.Configure <IGooglePlayConfiguration>().SetPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoijNfTc9kS+M6R12DNc32dG7Mrg/czFABHPgYg8IQ8xebBoQMRXGEbmm4CHoNxCSJk+Fcs05wTogSsGbN0uemOmJUwCYowLQxzIeOBqH4aB2kDqMSDqKJnK08wDUFtDIrIBsczFincIW4i0E4JqtrGPksqn/tG5SvKvheG4x8yUcLWbd/MC885cZY1lMoRsaakVf/EoMfqtOccH+1x2dFVh0Q/NTAkgExILsN4KXHTpM2mHLKr6Dv3NK9ueYsLvf39kL9CwLZFFyD3413cyqtR4ZdfHL0BHw+9rSr0uysMtU3SGfqBHgyjMVNFL0eL6txWgVDhL3MaAXokIm0CePiwIDAQAB");
        // builder.AddProduct("coins", ProductType.Consumable, new IDs
        // {
        //     {"com.unity3d.unityiap.unityiapdemo.100goldcoins.v2.c", GooglePlay.Name},
        //     {"com.unity3d.unityiap.unityiapdemo.100goldcoins.6", AppleAppStore.Name},
        //     {"com.unity3d.unityiap.unityiapdemo.100goldcoins.mac", MacAppStore.Name},
        //     {"com.unity3d.unityiap.unityiapdemo.100goldcoins.win8", WinRT.Name}
        // });
        //
        // builder.AddProduct("sword", ProductType.NonConsumable, new IDs
        // {
        //     {"com.unity3d.unityiap.unityiapdemo.sword.c", GooglePlay.Name},
        //     {"com.unity3d.unityiap.unityiapdemo.sword.6", AppleAppStore.Name},
        //     {"com.unity3d.unityiap.unityiapdemo.sword.mac", MacAppStore.Name},
        //     {"com.unity3d.unityiap.unityiapdemo.sword", WindowsPhone8.Name}
        // });
        builder.AddProduct("sub1week", ProductType.Subscription, new IDs
        {
            { "sub1week", GooglePlay.Name },
        });

        builder.AddProduct("sub1month", ProductType.Subscription, new IDs
        {
            { "sub1month", GooglePlay.Name }
        });

        // First crack at UI configuration
        InitUI(builder.products);

        // Now we're ready to initialize Unity IAP.
        UnityPurchasing.Initialize(this, builder);
    }
示例#22
0
 public void InitStore()
 {
     if (storeController == null)
     {
         if (storeType == StoreType.GoogleStore)
         {
             ConfigurationBuilder builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
             builder.AddProduct(sProductIds[0], ProductType.Consumable, new IDs {
                 { sProductIds[0], GooglePlay.Name }
             });
             builder.AddProduct(sProductIds[1], ProductType.Consumable, new IDs {
                 { sProductIds[1], GooglePlay.Name }
             });
             UnityPurchasing.Initialize(this, builder);
         }
         else if (storeType == StoreType.OneStore)
         {
             string base64EncodedPublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRrFYKKco7ZhEDiS+/xsOih0juoHpwRzTr3gwBKCO2N3jgQcg6iAuI4I9R7HvslBfPOFYTrnD6aT5XrnR1XMxSGMLKUOtFyAD74BUFPonMcGlO12imMhUaaUlxuk+DnkPo1KsNjDamvyO2/oYA8dhkkACYWR2zdU34F48U4NWDSQIDAQAB";
             Onestore_IapCallManager.connectService(base64EncodedPublicKey);
         }
     }
 }
示例#23
0
    void InitStore()
    {
        ConfigurationBuilder builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

        builder.AddProduct(sProductIds[0], ProductType.NonConsumable, new IDs {
            { sProductIds[0], GooglePlay.Name }
        });
        builder.AddProduct(sProductIds[1], ProductType.NonConsumable, new IDs {
            { sProductIds[1], GooglePlay.Name }
        });
        builder.AddProduct(sProductIds[2], ProductType.NonConsumable, new IDs {
            { sProductIds[2], GooglePlay.Name }
        });
        builder.AddProduct(sProductIds[3], ProductType.NonConsumable, new IDs {
            { sProductIds[3], GooglePlay.Name }
        });
        builder.AddProduct(sProductIds[4], ProductType.Consumable, new IDs {
            { sProductIds[4], GooglePlay.Name }
        });

        UnityPurchasing.Initialize(this, builder);
    }
示例#24
0
        /// <summary>
        /// 모든 앱 스토어에서 상품 식별자가 동일할 경우
        /// </summary>
        public void ConnectBilling(string[] productIds, Action <bool> callback)
        {
            Log.Verbose(nameof(UnityInAppPurchaser), "Connect Billing...");

            if (IsInitialized())
            {
                callback.CallSafe(true);
                return;
            }

            _onInitializedCallback = callback;

            var module  = StandardPurchasingModule.Instance();
            var builder = ConfigurationBuilder.Instance(module);

            foreach (var productId in productIds)
            {
                builder.AddProduct(productId, ProductType.Consumable);
            }

            UnityPurchasing.Initialize(this, builder);
        }
示例#25
0
    public void InitializePurchasing()
    {
        // If we have already connected to Purchasing ...
        if (IsInitialized())
        {
            return;
        }

        // Create a builder, first passing in a suite of Unity provided stores.
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

        builder.AddProduct(product_50_godlies, ProductType.Consumable);
        builder.AddProduct(product_500_godlies, ProductType.Consumable);
        builder.AddProduct(product_decara, ProductType.NonConsumable);
        builder.AddProduct(product_bobman, ProductType.NonConsumable);
        builder.AddProduct(product_hoaxer, ProductType.NonConsumable);
        builder.AddProduct(product_garelio, ProductType.NonConsumable);
        builder.AddProduct(product_zeta, ProductType.NonConsumable);
        builder.AddProduct(product_xpeed, ProductType.NonConsumable);

        UnityPurchasing.Initialize(this, builder);
    }
示例#26
0
        public void Init(LocalProduct localProduct, IIapListener listener)
        {
            _listener     = listener;
            _localProduct = localProduct;

            // If Products already installed fetch them from UnityStoreController
            if (IsInitialized())
            {
                FetchedProducts(_unityStoreController.products.all);
                _listener.OnProductsQuerySuccess();
                return;
            }

            #if HMS_BUILD && !UNITY_EDITOR
            var builder = ConfigurationBuilder.Instance(HuaweiPurchasingModule.Instance());
            #else
            var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
            #endif

            builder.AddProduct("remove_ads", ProductType.NonConsumable);
            UnityPurchasing.Initialize(this, builder);
        }
示例#27
0
        public IInAppProcess Inizialization()
        {
            var process = new InAppProcess();

            //if (_isInit)
            //{
            //    process.result = Result.Succes;
            //    process.isDone = true;
            //    return process;
            //}

            void initHandler(Result result)
            {
                if (result == Result.Succes)
                {
                    RefreshProducts();
                }

                process.result = result;
                process.isDone = true;

                _initEvent -= initHandler;
            }

            _initEvent += initHandler;

            var module = StandardPurchasingModule.Instance();

#if UNITY_EDITOR
            module.useFakeStoreUIMode = FakeStoreUIMode.StandardUser;
#endif
            var builder = ConfigurationBuilder.Instance(module);

            _products.ForEach(product => builder.AddProduct(product.Id, (UnityEngine.Purchasing.ProductType)(int) product.ProductType, product.MarketIds));

            UnityPurchasing.Initialize(this, builder);

            return(process);
        }
示例#28
0
        /// <summary>
        /// 課金システム初期化.
        /// </summary>
        private void InitializePurchasing(ProductDefinition[] productDefinitions)
        {
            storeController        = null;
            storeExtensionProvider = null;

            // Unityの課金システム構築.
            var module = StandardPurchasingModule.Instance();

            #if UNITY_EDITOR
            module.useFakeStoreUIMode = FakeStoreUIMode.StandardUser;
            #endif

            var builder = ConfigurationBuilder.Instance(module);

            if (productDefinitions.Any())
            {
                foreach (var productDefinition in productDefinitions)
                {
                    var ids = new IDs();

                    var storeName = DummyStoreName;

                    if (storePurchasing != null)
                    {
                        storeName = storePurchasing.GetStoreName();
                    }

                    if (!string.IsNullOrEmpty(storeName))
                    {
                        ids.Add(productDefinition.storeSpecificId, storeName);
                    }

                    builder.AddProduct(productDefinition.storeSpecificId, productDefinition.type, ids);
                }
            }

            // 非同期の課金処理の初期化を開始.
            UnityPurchasing.Initialize(this, builder);
        }
示例#29
0
    // Use this for initialization
    void Start()
    {
        _instance = this;

        // Set up Unity IAP for real money purchases
#if UNITY_ANDROID && !UNITY_EDITOR
        // https://docs.unity3d.com/Manual/UnityIAPGoogleConfiguration.html
        var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

        builder.AddProduct("100tc", ProductType.Consumable, new IDs
        {
            { "100tc", GooglePlay.Name }
        }).AddProduct("1000tc", ProductType.Consumable, new IDs
        {
            { "1000tc", GooglePlay.Name }
        });

        UnityPurchasing.Initialize(this, builder);
#endif

        PlayFabAuthService.OnLoginSuccess += SignInSuccess;
    }
示例#30
0
        /// <summary>
        /// Use this method for initialization.
        /// For the products, use IAPProduct.Initialize method to create a new product.
        /// </summary>
        public static void Initialize(IAP.OnInitializedHandler callback, bool isTestMode, List <IAPProduct> products)
        {
            onInitComplete = callback;
            IAP.IsTestMode = isTestMode;

            SetupInstance();

            if (products == null || products.Count == 0)
            {
                IAP.LogMessage("IAPManager.Initialize - Product list can't be null or empty!");
                return;
            }

            var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

            for (int i = 0; i < products.Count; i++)
            {
                builder.AddProduct(products[i]);
            }

            UnityPurchasing.Initialize(new Listener(), builder);
        }