Exemple #1
0
    [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."
            );
    }
Exemple #2
0
    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
                         ));
    }
Exemple #3
0
    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);
        }
            );
    }
Exemple #5
0
    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
                         ));
    }