У меня есть приложение на рынке Android с возможностью покупки кредита в приложении уже много месяцев. Наша проблема №1 — это пользователи, которые успешно завершили свою неуправляемую покупку и получили счет, но по какой-то причине мое клиентское приложение не записывает ее на наши серверы. Это не происходит в 100% случаев, большинство покупок выполняются успешно, и у нас есть очень агрессивная логика повторных попыток, если успешная покупка не может быть загружена на сервер из-за проблем с подключением или чего-то еще.
Недавно мы стали свидетелями сценария, когда в приложении была совершена покупка неуправляемого товара, но метод onRequestPurchaseResponse (определенный в примере кода PurchaseObserver.java, на котором основан наш код), фактически не вызывался более 60 секунд.
Теперь я подозреваю, что в этих случаях, когда успешные покупки не загружаются на наши серверы, onRequestPurchaseResponse либо никогда не вызывается, либо пользователь выходит из приложения до того, как уведомление произойдет, потому что оно так задерживается.
Теперь я показываю ProgressDialog каждый раз, когда onResume вызывается после того, как пользователь возвращается из приложения Android Marketplace, чтобы пользователи не уходили слишком быстро и тем самым не позволяли нам записывать покупку.
Может ли кто-нибудь сказать мне, есть ли какие-либо известные ошибки, связанные с задержкой или отсутствием уведомлений из приложения Android Marketplace после успешной покупки, и если да, то какие обходные пути вы использовали?