私はapp請求(v3)でアプリを追加しました。公開されたアプリは、私がテストした(明らかに少数の)デバイスのうまく動作するように見えました。コードはproguardで難読化されましたが、対応するproguard mapping.txtはそのまま残しました。アプリの請求(v3) - ヌルポイントの受け取りを理解する
いくつかの購入が成功しましたが、クラッシュの報告もあります。私は、スタックトレースの見方について少しかすんだけど、私はおそらく、NULLポインタがあったと推測している
java.lang.NullPointerException
at com.mycompany.mygame.util.IabHelper.void startSetup(com.mycompany.mygame.util.IabHelper$OnIabSetupFinishedListener)(Unknown Source)
void dispose()
void launchPurchaseFlow(android.app.Activity,java.lang.String,int,com.mycompany.mygame.util.IabHelper$OnIabPurchaseFinishedListener,java.lang.String)
boolean handleActivityResult(int,int,android.content.Intent)
com.mycompany.mygame.util.Inventory queryInventory$337baa91(boolean,java.util.List)
void queryInventoryAsync$69bb631c(java.util.List,com.mycompany.mygame.util.IabHelper$QueryInventoryFinishedListener)
java.lang.String getResponseDesc(int)
int getResponseCodeFromBundle(android.os.Bundle)
int queryPurchases(com.mycompany.mygame.util.Inventory,java.lang.String)
int querySkuDetails(java.lang.String,com.mycompany.mygame.util.Inventory,java.util.List)
void logDebug(java.lang.String)
at com.mycompany.mygame.util.IabHelper.void startSetup(com.mycompany.mygame.util.IabHelper$OnIabSetupFinishedListener)(Unknown Source)
void dispose()
void launchPurchaseFlow(android.app.Activity,java.lang.String,int,com.mycompany.mygame.util.IabHelper$OnIabPurchaseFinishedListener,java.lang.String)
boolean handleActivityResult(int,int,android.content.Intent)
com.mycompany.mygame.util.Inventory queryInventory$337baa91(boolean,java.util.List)
void queryInventoryAsync$69bb631c(java.util.List,com.mycompany.mygame.util.IabHelper$QueryInventoryFinishedListener)
java.lang.String getResponseDesc(int)
int getResponseCodeFromBundle(android.os.Bundle)
int queryPurchases(com.mycompany.mygame.util.Inventory,java.lang.String)
int querySkuDetails(java.lang.String,com.mycompany.mygame.util.Inventory,java.util.List)
void logDebug(java.lang.String)
at com.mycompany.mygame.util.IabHelper$2.void run()(Unknown Source)
at java.lang.Thread.run(Thread.java:1019)
:私は、クラッシュスタックトレースを変換するためにretrace.batを使用して、以下の結果を得ましたOnIabPurchaseFinishedListener内で...?もしそうなら、どうしたのでしょうか?
編集:「launchPurchaseFlow」がスタックトレースに表示されるという事実は、ユーザーが何かを購入しようとしている間にプログラムがクラッシュしたことを意味しますか?
EDIT:ここで要求されたリスナーの通り:
/**
* Callback that notifies when a purchase is finished.
*/
public interface OnIabPurchaseFinishedListener {
/**
* Called to notify that an in-app purchase finished. If the purchase was successful,
* then the sku parameter specifies which item was purchased. If the purchase failed,
* the sku and extraData parameters may or may not be null, depending on how far the purchase
* process went.
*
* @param result The result of the purchase.
* @param info The purchase information (null if purchase failed)
*/
public void onIabPurchaseFinished(IabResult result, Purchase info);
}
アプリでGoogleの「デフォルト」コードを使用していますか? –
plz post 'OnIabSetupFinishedListener'リスナーコード –
@classスタッカー:100%あなたが何を意味するかわかりませんが、私はGoogleが提供するIabHelperクラスを使用しています。 – Mick