GdxPay "onPurchaseHistoryResponse failed with responseCode -1"
GdxPay "onPurchaseHistoryResponse failed with responseCode -1"
以下是我在 AndroidLauncher onCreate 方法中设置采购管理器的方法(使用 libgdx 1.9.6 和 gdxpay 0.11.3):
purchaseManager = new PurchaseManagerGoogleBilling(this);
PurchaseManagerConfig pmc = new PurchaseManagerConfig();
pmc.addStoreParam(PurchaseManagerConfig.STORE_NAME_ANDROID_GOOGLE, base64EncodedPublicKey);
pmc.addOffer(new Offer().setType(OfferType.ENTITLEMENT).setIdentifier(globals.skuFullVer));
myPurchaseObserver = new MyPurchaseObserver(globals, highScores);
purchaseManager.install(myPurchaseObserver, pmc, true);
purchaseManager.purchaseRestore();
但是,当调用 purchaseRestore() 时,出现以下异常:
FATAL EXCEPTION: main
Process: com.eb.droid, PID: 8823
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.eb.droid/com.eb.droid.android.AndroidLauncher}: java.lang.NullPointerException: Attempt to invoke interface method 'void com.badlogic.gdx.Application.error(java.lang.String, java.lang.String)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2491)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2564)
at android.app.ActivityThread.access0(ActivityThread.java:170)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1441)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5576)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void com.badlogic.gdx.Application.error(java.lang.String, java.lang.String)' on a null object reference
at com.badlogic.gdx.pay.android.googlebilling.PurchaseManagerGoogleBilling.onPurchaseHistoryResponse(PurchaseManagerGoogleBilling.java:197)
at com.android.billingclient.api.BillingClientImpl.queryPurchaseHistoryAsync(BillingClientImpl.java:477)
at com.badlogic.gdx.pay.android.googlebilling.PurchaseManagerGoogleBilling.purchaseRestore(PurchaseManagerGoogleBilling.java:191)
at com.eb.droid.android.AndroidLauncher.onCreate(AndroidLauncher.java:141)
at android.app.Activity.performCreate(Activity.java:6041)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2437)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2564)
at android.app.ActivityThread.access0(ActivityThread.java:170)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1441)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5576)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
我调试PurchaseManagerGoogleBilling.javapurchaseRestore方法时,responseCodereturns-1和purchase对象为null,通过Gdx报如下错误:
onPurchaseHistoryResponse failed with responseCode -1
请注意,我在设置 PurchaseManager 之后在 AndroidLauncher > onCreate 中调用初始化。
有人对这里出了什么问题有任何指示吗?我使用旧的 IabHelper 完成了付款,但我已经切换到 GdxPay,因为它使用较新的 BillingLibrary,应该更稳定。另外,我只针对 Android.
以下是我在 AndroidLauncher onCreate 方法中设置采购管理器的方法(使用 libgdx 1.9.6 和 gdxpay 0.11.3):
purchaseManager = new PurchaseManagerGoogleBilling(this);
PurchaseManagerConfig pmc = new PurchaseManagerConfig();
pmc.addStoreParam(PurchaseManagerConfig.STORE_NAME_ANDROID_GOOGLE, base64EncodedPublicKey);
pmc.addOffer(new Offer().setType(OfferType.ENTITLEMENT).setIdentifier(globals.skuFullVer));
myPurchaseObserver = new MyPurchaseObserver(globals, highScores);
purchaseManager.install(myPurchaseObserver, pmc, true);
purchaseManager.purchaseRestore();
但是,当调用 purchaseRestore() 时,出现以下异常:
FATAL EXCEPTION: main
Process: com.eb.droid, PID: 8823
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.eb.droid/com.eb.droid.android.AndroidLauncher}: java.lang.NullPointerException: Attempt to invoke interface method 'void com.badlogic.gdx.Application.error(java.lang.String, java.lang.String)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2491)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2564)
at android.app.ActivityThread.access0(ActivityThread.java:170)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1441)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5576)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void com.badlogic.gdx.Application.error(java.lang.String, java.lang.String)' on a null object reference
at com.badlogic.gdx.pay.android.googlebilling.PurchaseManagerGoogleBilling.onPurchaseHistoryResponse(PurchaseManagerGoogleBilling.java:197)
at com.android.billingclient.api.BillingClientImpl.queryPurchaseHistoryAsync(BillingClientImpl.java:477)
at com.badlogic.gdx.pay.android.googlebilling.PurchaseManagerGoogleBilling.purchaseRestore(PurchaseManagerGoogleBilling.java:191)
at com.eb.droid.android.AndroidLauncher.onCreate(AndroidLauncher.java:141)
at android.app.Activity.performCreate(Activity.java:6041)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2437)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2564)
at android.app.ActivityThread.access0(ActivityThread.java:170)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1441)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5576)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
我调试PurchaseManagerGoogleBilling.javapurchaseRestore方法时,responseCodereturns-1和purchase对象为null,通过Gdx报如下错误:
onPurchaseHistoryResponse failed with responseCode -1
请注意,我在设置 PurchaseManager 之后在 AndroidLauncher > onCreate 中调用初始化。
有人对这里出了什么问题有任何指示吗?我使用旧的 IabHelper 完成了付款,但我已经切换到 GdxPay,因为它使用较新的 BillingLibrary,应该更稳定。另外,我只针对 Android.