2017-09-19 16 views
0

テストアカウントでアプリケーションのサブスクリプションをテストすると、成功コールバックが返され、コールバックに応じて私のリモートサーバにいくつかの情報が格納されます...しかし、私はそれを公開し、サブスクリプションの金額は差し引かれ、正常に実行されますが、私はコンテンツにアクセスできないために成功コールバックを受け取ることができません。どうすれば購入モデルや在庫モデルから取引情報を得ることができるのでしょうか?Googleが管理する残り時間などの特定の注文IDについての情報を得るにはどうすればいいですか?私たちは、コンテンツアプリ内のサブスクリプション

mHelper = new IabHelper(this, "Key"); 
    mHelper.startSetup(new IabHelper.OnIabSetupFinishedListener() { 
     public void onIabSetupFinished(IabResult result) { 
      if (!result.isSuccess()) { 
       Log.d(TAG, "In-app Billing setup failed: " + result); 
      } else { 
       Log.d(TAG, "In-app Billing is set up OK"); 
      } 
      // Hooray, IAB is fully set up! 
     } 
    }); 

    levelSubscriptionPurchaseFinishedListener = new IabHelper.OnIabPurchaseFinishedListener() { 
     public void onIabPurchaseFinished(IabResult result, 
              Purchase purchase) { 
      if (result.isFailure()) { 
       Log.d(TAG, "failed billing"); 
      } else { 
       Log.d(TAG, "purchase success Callback billing"); 
       Log.d(TAG, purchase.getToken()); 
       setSubscription(session.getUserDetail().getEmail()); 
      } 

     } 
    }; 


    mReceivedInventoryListener = new IabHelper.QueryInventoryFinishedListener() { 
     public void onQueryInventoryFinished(IabResult result, 
              Inventory inventory) { 

      if (!result.isFailure()) { 
       Log.d(TAG, "Query Inventory failed Callback billing"); 

       /*Toast.makeText(Dashboard.this, "InventoryListener", Toast.LENGTH_SHORT).show(); 
       // Handle failure 
       mHelper.consumeAsync(inventory.getPurchase(ITEM_SKU), 
         mConsumeFinishedListener);*/ 
      } else { 
       Log.d(TAG, "Query Inventory success Callback billing"); 
      } 
     } 
    }; 

    mConsumeFinishedListener = new IabHelper.OnConsumeFinishedListener() { 
     public void onConsumeFinished(Purchase purchase, 
             IabResult result) { 

      if (result.isSuccess()) { 
       Log.d(TAG, "Consume finish success Callback billing"); 
      } else { 
       Log.d(TAG, "Consume finish failed Callback billing"); 
      } 
     } 
    }; 

答えて

0

にアクセスするためのユーザーおよびすべてのデバイス上で(彼/彼女)サブスクリプションをどのように特定することができ、あなたはまた、「中1つのパラメータを追加

Purchase monthlySubscription = inv.getPurchase(SKU_SUBSCRIPTION_MONTHLY); 

     if (monthlySubscription != null) { 
      Log.d(TAG, "User has already subscribed for monthly benefits."); 
      Utils.Log(monthlySubscription.toString()); 

     } else { 
      launchSubscriptions(); 
     } 



private void launchSubscriptions() { 
    try { 
     iabHelper.launchSubscriptionPurchaseFlow((Activity) context, 
     SKU_SUBSCRIPTION_MONTHLY, REQUEST_CODE, new 
     IabHelper.OnIabPurchaseFinishedListener() { 
      @Override 
      public void onIabPurchaseFinished(IabResult result, 
      Purchase monthlySubscription) throws 
      IabHelper.IabAsyncInProgressException { 
       if (result.isFailure()) { 
        Log.e(TAG, "Error purchasing: " + result); 
       } else if (result.isSuccess()) { 
        Log.d(TAG, "---Success---"); 
       } else { 
        Log.d(TAG, "---Error---"); 
       } 
      } 
     }, String.valueOf(preferences.getUserId())); 
    } catch (IabHelper.IabAsyncInProgressException e) { 
     e.printStackTrace(); 
    } 
} 

ようQueryInventoryFinishedListenerで購入の詳細を取得することができますlaunchSubscriptionPurchaseFlow "メソッドを呼び出します。購入の詳細を取得するたびに、その追加パラメータも取得します。あなたはユーザー賢い購入 を識別することができ、このパラメータを使用して、あなたの時間とサポートのための

+0

感謝のakshay(私の場合は、launchSubscriptionsに()メソッドをuserIdを追加)....... –

+0

Akshayは、我々は1人のだけのリスナーが必要でしたサブスクリプション? –

+0

最後の1つの質問は、最後のパラメータdeveloperPayloadを –

関連する問題