Поэтому я настроил свою среду для тестирования биллинга Android в приложении.
- Мой ключ приложения хранится в виде необработанной строки, чтобы избежать каких-либо проблем на данный момент.
- У моего приложения есть разрешение
BILLING
- Мое приложение опубликовано в закрытом бета-тестировании
- Все мои продукты (ни один из них не является подпиской) помечены как
ACTIVE
- Моя активность (та, которая вызывает функции Оплата) переопределяет
onActivityResult
- Я использую IABv3 для реализации In-App Billing.
- Я могу успешно получить
SkuDetails
своих продуктов.
Проблема возникает при вызове :bp.purchase(activity, productId);
(т.е. при запуске процесса покупки), я получаю следующие журналы:
ActivityManager: НАЧНИТЕ u0 {act=com.google.android.finsky.ACQUIRE dat=iabData:inapp:my.package
:productId
pkg =com.android.vending cmp=com.android.vending/com.google.android.finsky.billing.acquire.AcquireActivity (имеет дополнительные функции)} с идентификатором пользователя 10131 на дисплее 0
D/com.android.server.am.ExtraActivityManagerService: MIUILOG- Отказано в доступе : Intent { act=com.google.android.finsky .ACQUIRE dat=iabData:inapp:my.package
:productId
pkg=com.android.vending cmp=com.android.vending/com.google .android.finsky.billing.acquire.AcquireActivity (есть дополнительные функции) } pkg : com.android.vending uid : 10131 tuid : 10170
Из того, что я вижу, все работает хорошо, пока не запустится PurchaseFlow (т.е. когда запустится AcquireActivity
Intent
). Таким образом, разрешение DENIED
, но я не могу понять, почему и как это исправить, поскольку единственным обязательным разрешением является BILLING
, и оно включено.
Примечание. Поскольку IAB можно протестировать только на реальном устройстве, проблема может быть связана с MIUI
, но у меня нет другого устройства, поэтому я не могу проверить, это проблема.