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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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>(); } } }
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); }
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); }
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); }
#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); }
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); }
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); }
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); } }
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); }
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); }
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); } } }
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); }
/// <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); }
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); }
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); }
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); }
/// <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); }
// 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; }
/// <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); }