2016-06-23 10 views
0

成功したすべてのトランザクションがGoogleアナリティクスに送信されるようにGoogle Analyticsを設定しました。 Googleアナリティクスとマーチャントのデータを比較すると、Googleアナリティクスの成功として反映されたトランザクションの一部は、私のマーチャントアカウントのクレジットではないことがわかりました。ここで私は私のOnIabPurchaseFinishedListenerを設定する方法は次のとおりです。Googleのアプリ内購入の再生は、私の販売アカウントに入金されませんか?

private static final OnIabPurchaseFinishedListener purchaseListener = new OnIabPurchaseFinishedListener() { 
    @Override 
    public void onIabPurchaseFinished(IabResult result, final Purchase info) { 
     if (result.isSuccess()) 
      sendHit(cPREM, "success", info.getSku()); // send to GA 
     else 
      sendHit(cPREM, "failure", result.getMessage()); 

     if (result.isFailure()) { 
      if (result.getResponse() != IABHELPER_USER_CANCELLED) 
       toast(true, "Unknown error occurred: " + result.getMessage()); 
      return; 
     } 

     if (info.getSku().equals(SKUs[FULL_PREM])) { 
      premiumOn = true; 
      laneOn = true; 
      storeEditor.putBoolean(SKUs[PREM], true); 
      storeEditor.putBoolean(SKUs[LANE], true); 
      toast(true, ct.getString(R.string.please_restart)); 
     } else if (info.getSku().equals(SKUs[PREM])) { 
      premiumOn = true; 
      storeEditor.putBoolean(SKUs[PREM], true); 
      toast(true, ct.getString(R.string.please_restart)); 
     } else if (info.getSku().equals(SKUs[LANE])) { 
      laneOn = true; 
      storeEditor.putBoolean(SKUs[LANE], true); 
      toast(true, ct.getString(R.string.download_restart)); 
     } else if (info.getSku().equals(SKUs[DONATE5]) || info.getSku().equals(SKUs[DONATE10])) { 
      try { 
       iabHelper.queryInventoryAsync(queryListener); 
      } catch (Throwable e) { 
       e.printStackTrace(); 
      } 

      toast("Thank You."); 
     } 

     storeEditor.apply(); 
    } 
}; 

また、私のアプリは、このように、私は一週間あたり約3購入を入手するには、2ヶ月です。さらに、GAを確認したところ、サンプリングされていないとのことです。

私の質問は、ここで間違っていますか?それとも、Googleのバグですか?ありがとうございました。

答えて

1

Google Playのバグとして主張することはできません。お支払いが完了したら、機能/ SKUについてGoogle Playに問い合わせてください。この機能を購入すると、購入バンドルが提供されます。そうすることで、購入が行われたことを確認することができます。

さらにもう1つのことは、購入が成功した場合、購入注文IDをデータベースに保存しておくことです。注文IDは、購入を確認できる重要なものです。不一致が発生した場合は、注文IDを使用してGoogle Playのカスタマーサービスに問い合わせます。

コードを使用すると、購入フローと購入チェックresult.isFailure()を行うためにIabHelperを使用しているようであるように思われます。私の推測が正しい場合は、Billing SDKで提供されているTrivalDriveSampleユーティリティを使用しています。

IabHelperユーティリティは、購入後に応答コードを処理しています。怪物が起こっているかもしれない。

IabHelperで購入を開始する方法とレスポンスコードの処理方法を再確認してください。

他の方法では、utilを使用する代わりに独自のコードを実装します。

+0

ありがとうございます。私はこれを試してみる。 –

0

一般に、GoogleアナリティクスよりMerchantアカウントを信頼します。アナリティクスプラットフォームを使用する場合、常にフリンジケースが存在します。期限切れまたはブロックされたカード、キャンセルされた取引、接続の切断は、Googleアナリティクスでは予期せぬことです。あなたの状況に合わせて実際に直接お金を送っているので、あなたのMerchantアカウントはかなり堅牢になります。これは関与する当事者のより高いセキュリティとより大きな関心を引き出す。

関連する問題