void Start() { if (CoreXT.IsDevice) { // uncomment next line to change the encryption key // but if longer than 3 characters, which is 48 bits, check export laws // IAPXT.encryptionKey = "my encryption key"; Log("can make payments: " + IAPXT.canMakePayments); Log("has bought premium: " + IAPXT.HasBought(premiumProductID)); Log("has bought no ads: " + IAPXT.HasBought(noAdsProductID)); Log("has bought coins: " + IAPXT.HasBought(coinsProductID)); // subscribe to events IAPXT.InitializationCompleted += OnInitializationCompleted; IAPXT.InitializationFailed += OnInitializationFailed; IAPXT.TransactionCompleted += OnTransactionCompleted; IAPXT.TransactionFailed += OnTransactionFailed; IAPXT.DownloadUpdated += OnDownloadUpdated; IAPXT.RestorationCompleted += OnRestorationCompleted; IAPXT.RestorationFailed += OnRestorationFailed; // initialize IAPXT with a list of product IDs IAPXT.Init(new string[] { premiumProductID, noAdsProductID, coinsProductID }); } }
void OnGUI() { KitchenSink.OnGUIBack(); if (CoreXT.IsDevice) { GUILayout.BeginArea(new Rect(50, 50, Screen.width - 100, Screen.height / 2 - 50)); GUILayout.Label("MUST first setup iTunesConnect and change IAPTest.cs with correct product IDs."); GUILayout.BeginHorizontal(); if (GUILayout.Button("Buy Coins", GUILayout.ExpandHeight(true))) { // buy 2 coins IAPXT.Buy(coinsProductID, 2); } if (GUILayout.Button("Premium", GUILayout.ExpandHeight(true))) { // buy premium upgrade IAPXT.Buy(premiumProductID); } if (GUILayout.Button("No Ads", GUILayout.ExpandHeight(true))) { // buy no ads upgrade IAPXT.Buy(noAdsProductID); } if (GUILayout.Button("Restore", GUILayout.ExpandHeight(true))) { // restore all previously bought products IAPXT.RestoreCompletedTransactions(); } if (GUILayout.Button("Store View", GUILayout.ExpandHeight(true))) { // show the store view in game IAPXT.ShowStore("571059586"); } GUILayout.EndHorizontal(); GUILayout.EndArea(); } OnGUILog(); }
void OnInitializationCompleted(object sender, InitializationEventArgs e) { Log("InitializationCompleted"); SKProduct product = IAPXT.GetProduct(premiumProductID); if (product == null) { Log("Error: Product not defined: " + premiumProductID); return; } Log("title: " + product.localizedTitle); Log("description: " + product.localizedDescription); var price = product.price; Log("price type: " + price.GetType()); Log("price: " + price); Log("localized price: " + product.localizedPrice); }
public override void RestoreCompletedTransactionsFailed(SKPaymentQueue queue, NSError error) { IAPXT._OnRestoreFailed(error); }
public override void RestoreCompletedTransactionsFinished(SKPaymentQueue queue) { IAPXT._OnRestoreCompleted(); }
public override void UpdatedDownloads(SKPaymentQueue queue, object[] downloads) { IAPXT._OnUpdatedDownload(downloads); }
public override void UpdatedTransactions(SKPaymentQueue queue, object[] transactions) { IAPXT._OnUpdatedTransactions(transactions); }