Биллинг Android-приложений: действительно ли необходимо создавать локальный сервис? - PullRequest
2 голосов
/ 04 января 2012

Официальная документация гласит, что "Ваше приложение должно иметь локальную службу для облегчения обмена сообщениями между вашим приложением и Android Market."

Мой вопрос: действительно ли это необходимо?И если да, то почему?

Разве нельзя было бы просто привязать к MarketBillingService из метода onCreate Activity без необходимости сначала создавать локальную службу?

Необходимость создания локальной службы, которая пересылает запросы на удаленный MarketBillingService, кажется немного сложной.

1 Ответ

2 голосов
/ 04 января 2012

Я согласен, что пример приложения In-App Billing имеет несколько уровней, которые кажутся ненужными, но идея использования Сервиса для взаимодействия с Market является хорошей.Это связано с тем, что процесс очень асинхронный (и может занимать много времени), и некоторые события генерируются вне рабочего процесса покупки пользователя.

Пока пользователь будет взаимодействовать с некоторым пользовательским интерфейсом Market, решая, следует лиЧтобы купить «товар», после завершения этого процесса между вашим приложением и приложением Market будет долгий путь назад и назад, чтобы авторизовать и завершить транзакцию, причем многие шаги задерживаются, пока Market связывается со своими серверами.Вы не хотите удерживать пользователя и заставлять его ждать этой операции просто, чтобы вы могли завершить покупку.Вы хотите, чтобы это было в Службе, чтобы пользователь мог перемещаться в приложении или оставить его на некоторое время полностью, и при этом иметь возможность завершить покупку и загрузить соответствующий приобретенный контент, не опасаясь удаления вашего процесса.

Кроме того, есть много событий, которые могут возникнуть в вашем приложении, если покупки отменены или отклонены иным образом, которые могут произойти ДЛИННО после первоначальной покупки туда-сюда, и пользователь может делать что-то совершенно другое или не иметь свой телефонпроснуться вообще в это время.Вы хотите иметь возможность обрабатывать эти события, не вызывая Активность.

В итоге, это длительный фоновый процесс ... для этого и были разработаны Сервисы.

НТН

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...