Подтвердить что ты не робот

Служба Google Play перестает работать, когда я делаю покупку с помощью android.test.purchased

Bundle buyIntentBundle = inappService.getBuyIntent(3, this.getPackageName(), "android.test.purchased", "inapp", "myUserId");
int responseCode = buyIntentBundle.getInt("RESPONSE_CODE");
if (responseCode == 0) {
   PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT");
   this.startIntentSenderForResult(pendingIntent.getIntentSender(), PURCHASE_REQUEST_CODE, new Intent(), 0, 0, 0);
}

Похоже, что когда я выполняю код выше, моя служба игры google перестанет работать (сбой?)

Это работало пару дней назад. Но теперь он остановился.

Вы, ребята, знаете, что я могу сделать? Когда я тестировал настоящий продукт с бета-тестированием, все работает.

Вот добавленная трассировка стека. Похоже, что это происходит из самого магазина Google Play.

    07-21 14:28:51.172 18056-18224/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #4
                                                       Process: com.android.vending, PID: 18056
                                                       java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:318)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:762)
Caused by: java.lang.NullPointerException: Attempt to read from field 'long com.google.wireless.android.finsky.dfe.nano.an.b' on a null object reference
at com.google.android.finsky.billing.lightpurchase.s.a(SourceFile:5)
at com.google.android.finsky.billing.lightpurchase.h.doInBackground(SourceFile:27)
at android.os.AsyncTask$2.call(AsyncTask.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
at java.lang.Thread.run(Thread.java:762) 
4b9b3361

Ответ 1

Я связался с поддержкой Google Developer, и они сказали, что это ошибка в Google Play Store.

Ответ Google:

Мы знаем об этой проблеме, и наши инженеры в настоящее время ее изучают. Я буду предоставлять больше обновлений, как только я получу от них информацию.

Таким образом, не нужно ничего делать с этим сбоем. Дождитесь исправления ошибок в приложении Google Play Store.


ИЗМЕНИТЬ (08.08.2017)

Сегодня проблема с "проблемой android.test.purchased" устранена.. Версия приложения для магазина Google Play Store 8.0.73.R-all [0] [PR] 162689464.

Ответ 2

Как сообщается @MarsPeople на комментарий Это из-за google play store нового обновления (версия 8.0.26.R-all [0] [PR] 161173660). Я тестировал (в биллинге приложений) около 3-4 устройств, которые содержат эту версию магазина Google Play Store, поэтому в этом случае сбои в Google Play Store и получение исключения nullpointer, но когда я удалю обновление и протестирую его с старой версией (как и в моем случае версия 5.1.11), он работает отлично, но через некоторое время активно обновляет обновление магазина (версия 8.0.26.R-all [0] [PR] 161173660), а затем я попробовал его, а затем Google Play Store crash. Итак, да, нам нужно подождать, пока Google не опубликует новое обновление по этой проблеме:)

но на удивление он отлично работает с реальным SKU, который предоставляется с консоли Google. и не работать с тестом SKU (android.test.purchased)

Я надеюсь, что это поможет кому-то, кто получит эту проблему в google play store версии 8.0.26.R-all [0] [PR] 161173660