// IAP初始化成功回掉函数; public void OnInitialized(IStoreController controller, IExtensionProvider extensions) { Debug.Log("OnInitialized Succ !"); billing_error = ENUM_BILLING_ERROR.E_NONE; m_StoreController = controller; m_StoreExtensionProvider = extensions; if (Application.platform == RuntimePlatform.IPhonePlayer || Application.platform == RuntimePlatform.OSXPlayer) { this.m_AppleExtensions = extensions.GetExtension <IAppleExtensions>(); } // 这里可以获取您在AppStore和Google Play 上配置的商品; ProductCollection products = m_StoreController.products; Product[] all = products.all; //for (int i = 0; i < all.Length; i++) //{ // Debug.Log(all[i].metadata.localizedTitle + "|" + all[i].metadata.localizedPriceString + "|" + all[i].metadata.localizedDescription + "|" + all[i].metadata.isoCurrencyCode); //} #if UNITY_IOS m_AppleExtensions.RegisterPurchaseDeferredListener(OnDeferred); #endif }
public void InitIAP() { if (m_StoreController == null && m_StoreExtensionProvider == null) { Debug.Log("UNITY IAP init iap !!!!!!!!!"); billing_error = ENUM_BILLING_ERROR.E_NET_ERROR; InitUnityPurchase(); } }
// IAP初始化失败回掉函数(没有网络的情况下并不会调起,而是一直等到有网络连接再尝试初始化); public void OnInitializeFailed(InitializationFailureReason error) { switch (error) { case InitializationFailureReason.AppNotKnown: Debug.LogError("Is your App correctly uploaded on the relevant publisher console?"); break; case InitializationFailureReason.PurchasingUnavailable: Debug.Log("Billing disabled! Ask the user if billing is disabled in device settings."); billing_error = ENUM_BILLING_ERROR.E_DISABLE; break; case InitializationFailureReason.NoProductsAvailable: Debug.Log("No products available for purchase! Developer configuration error; check product metadata!"); break; } }