2017-12-08 4 views
0

私は現地確認テストを行い、現在テストを行っていました。 アップルの受領応答から、私は間違った時間に関連する応答を得ていたので、私は現時点でアプリケーションをテストすることが難しくなりました。ここで自動更新サブスクリプションタイムレスサンドボックスモードが間違っています

は、ログ情報を次のとおりです。ここで enter image description here

は、私は領収書の検証に使用したソースコードである:私は、正確な時刻を取得しておりませんので、もし

public void CheckIfSubscriptionIsActive(bool validateReceipt) 
{ 
    ConfigurationBuilder builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance()); 

    IAppleConfiguration appleConfig = builder.Configure<IAppleConfiguration>(); 
    bool isSubscriptionRunning = false; 

    if (!string.IsNullOrEmpty(appleConfig.appReceipt)) 
    { 
     if (validateReceipt) 
     { 
      // local receipt verification 
      var receiptData = System.Convert.FromBase64String(appleConfig.appReceipt); 
      AppleReceipt receipt = new AppleValidator(AppleTangle.Data()).Validate(receiptData); 
      foreach (AppleInAppPurchaseReceipt productReceipt in receipt.inAppPurchaseReceipts) 
      { 

       Debug.Log("# server date: " + GameManager.Instance.ServerDate + " expire date: " + productReceipt.subscriptionExpirationDate); 
       int result = DateTime.Compare(GameManager.Instance.ServerDate, productReceipt.subscriptionExpirationDate); 
       if (result <= 0) 
       { 
        isSubscriptionRunning = true; 
        Debug.Log(" === ==== === Subscription Running: curr date: " + GameManager.Instance.ServerDate + " expire date: " + productReceipt.subscriptionExpirationDate); 
       } 

       //Debug.Log("PRODUCTID: " + productReceipt.productID); 
       //Debug.Log("PURCHASE DATE: " + productReceipt.purchaseDate); 
       //Debug.Log("EXPIRATION DATE: " + productReceipt.subscriptionExpirationDate); 
       //Debug.Log("CANCELDATE DATE: " + productReceipt.cancellationDate); 
      } 

      if (isSubscriptionRunning) 
       SubscriptionActivated(); 

      // hide loading... 
      showLoader = false; 
      Camera.main.SendMessage("ActivateLoadingDialog", false, SendMessageOptions.DontRequireReceiver); 

     } 
     else 
     { 
      // server side receipt vecification 
      appReceipt = appleConfig.appReceipt; 
      StartCoroutine(CheckSubscriptionStatusServerSideVerification()); 
     } 
    } 
} 

通常毎週サブスクリプションは、3分の継続時間を持っていますどのように私は適切なテストを行うことができます!

は、上記の画像では、私はが15時01分04秒とが9時37分18秒あるリンゴの受信応答時間である私の現地時間、両方の時間を言及しています。 現時点でローカルデバイスの受信確認を使用しているため、作業をテストできません。だから私はテストのためにどのような方法がありますか?

+0

これに関するご提案はありますか?あなたがより多くの情報を望むなら、私はそれを利用できる。 – Siddharth

+0

私は同じ問題を抱えています:( –

+0

私はこの解決策を見つけました。 – Siddharth

答えて

1

基本的に上記の問題では、私はアップルの領収書応答で大きな時間差を得ていましたが、今私はこれに対する解決策を締結しました。 現地時間は15時01分04秒 リンゴの受信応答時間である。このため9時37分18秒

主な理由は、GMT時間差です。 私はインドに住んでいるので、私たちは5時30分の時間の違いがあります。

アップルの受信時には、正確な時間値を取得するためにこのGMTの時間差を追加する必要があります。この後、私たちは残りのコーディングを完了できます。

誰かがそれを必要とするなら、私はUnity Supportディスカッションにリンクを掲示します。

関連する問題