Сервис 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 Play перестанет работать (сбой?)

Раньше это работало пару дней назад. Но сейчас это прекратилось.

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

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

    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) 

2 ответа

Решение

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

Google Ответить:

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

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


EDIT (08.08.2017)

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

Как сказано в комментарии @MarsPeople, это из-за нового обновления магазина игр Google (версия 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. Так что да, мы должны подождать, пока Google даст новое обновление по этому вопросу:)

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

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

Другие вопросы по тегам