2012-05-24 3 views
2

Мы только что запустили нашу игру в Android-магазине Amazon с их новым SDK для покупки приложений. Мы видим несколько продаж, в результате чего пользователи не получают виртуальный доход, за который они платили. Я воспроизвел один случай, который заставит это случиться каждый раз.Ошибка Amazon In-App-Purchase

В основном пользователь инициирует и IAP, они попадают в диалоговое окно покупки Amazon, они совершают покупку, и им предоставляется диалоговое окно подтверждения покупки Amazon.
Если пользователь нажал кнопку «Закрыть» в диалоговом окне «Диалог» или «Назад» на панели параметров в нижней части экрана (с помощью Kindle Fire), диалог закрывается, и процесс IAP отправляет сообщение в приложение, которое имеет был успешным. Я получаю сообщение и обрабатываю его, все хорошо.
Однако, если пользователь нажимает кнопку «Главная», подтверждение покупки закрывается, и пользователь получает сброс на главный экран, приложение никогда не получает сообщение об успешном приобретении.

Я пытаюсь получить какую-то работу, так как пользователи не будут заботиться о капризах приёмов квитанций в реализации IAP Amazon, им просто нужно, чтобы они заплатили за то, чего они не получили. У нас есть 1 невосприимчивый товар, который не является проблемой, так как наше приложение проверяет предыдущие покупки при запуске. Но расходные материалы - еще одна проблема. Вы не можете их восстановить.

Неужели кто-нибудь сталкивался с этим и есть обходное решение?

ответ

1

Существует фактически 2 приложения, выполняющие покупку. Покупка инициируется вашим приложением, но выполняется с помощью компонента amazon IAP на устройстве, которое является другим приложением. Если вы нажмете кнопку «Домой», это приведет как приложение к фону, так и часто из-за агрессивного управления памятью Android, приложение переходит в неактивную стадию или даже убивается в зависимости от того, сколько ресурсов используется на устройстве. Это приводит к тому, что покупка не достигает вашего приложения.

У Amazon есть обходной путь. Как описано здесь - https://developer.amazon.com/public/apis/earn/in-app-purchasing/docs-v2/implementing-iap-2.0, реализуйте onPurchaseUpdateResponse(), который будет получать ожидающую покупку при каждом запуске приложения. Существует небольшая временная задержка, которая предотвращает немедленное «получение ожидающих покупок».

Также убедитесь, что вы вызываете notifyFullfilment() после того, как элемент был выполнен пользователю. Это не приведет к тому, что ваше приложение будет работать; но это может негативно повлиять на вашу монетизацию (для этого есть разные причины, о которых я не буду вдаваться в подробности).

Смежные вопросы