[MSetup] public void Setup() { if (!IsTestRunningInPlayingMode()) { SkipCurrentTest("Purchase feature should run on MainThread."); return; } ; var authorized = false; Action onMainThread = () => { var dataPath = Application.persistentDataPath; var fwPath = Path.Combine(dataPath, AuthSettings.AUTH_STORED_FRAMEWORK_DOMAIN); DeleteAllData(fwPath); Autoya.TestEntryPoint(dataPath); Autoya.Auth_SetOnAuthenticated( () => { authorized = true; } ); }; RunOnMainThread(onMainThread); WaitUntil( () => { return(authorized && Autoya.Purchase_IsReady()); }, 5, "failed to auth or failed to ready purchase." ); }
public IEnumerator PurchaseReadyGetProductsFailThenReadyAgain() { // まずシャットダウン Autoya.Purchase_DEBUG_Shutdown(); // 通信を必ず失敗するようにセット Autoya.forceFailHttp = true; // routerを再度生成する。 Autoya.Purchase_DEBUG_Reload(); // attemptReadyPurchaseを着火する必要があるタイミングに切り替わるのを待つ yield return(WaitUntil( () => Autoya.Purchase_NeedAttemptReadyPurchase(), () => { throw new TimeoutException("too late."); }, 10 )); Autoya.forceFailHttp = false; Autoya.Purchase_AttemptReadyPurcase(); yield return(WaitUntil( () => Autoya.Purchase_IsReady(), () => { throw new TimeoutException("too late."); }, 10 )); }
private IEnumerator WaitPurchaseFeatureOfAutoya(Action done) { Autoya.TestEntryPoint(Application.persistentDataPath); while (!Autoya.Purchase_IsReady()) { yield return(null); } done(); }
IEnumerator Start() { while (!Autoya.Purchase_IsReady()) { yield return(null); } // display all products. var products = Autoya.Purchase_ProductInfos(); foreach (var product in products) { Debug.Log("productId:" + product.productId + " info:" + product.info + " avaliable:" + product.isAvailableToThisPlayer); } // it's convenient to set purchase id for each purchase. because purchase feature is async. var purchaseId = "myPurchaseId_" + Guid.NewGuid().ToString(); Autoya.Purchase( purchaseId, "100_gold_coins", pId => { Debug.Log("succeeded to purchase. id:" + pId); }, (pId, err, reason, autoyaStatus) => { if (autoyaStatus.isAuthFailed) { Debug.LogError("failed to auth."); return; } if (autoyaStatus.inMaintenance) { Debug.LogError("failed, service is under maintenance."); return; } Debug.LogError("failed to purchase, id:" + pId + " err:" + err + " reason:" + reason); } ); }
public IEnumerator Setup() { Autoya.forceMaintenance = false; Autoya.forceFailAuthentication = false; Autoya.forceFailHttp = false; var dataPath = Application.persistentDataPath; var fwPath = Path.Combine(dataPath, AuthSettings.AUTH_STORED_FRAMEWORK_DOMAIN); DeleteAllData(fwPath); Autoya.TestEntryPoint(dataPath); yield return(WaitUntil( () => { return Autoya.Purchase_IsReady(); }, () => { throw new TimeoutException("failed to auth or failed to ready purchase."); }, 10 )); }