Как проверить на своем сервере, что приложение было успешно приобретено через Android Market? - PullRequest
4 голосов
/ 09 марта 2011

У меня есть приложение Android, которое получает премиум-контент, и я хочу проверить на стороне сервера, что приложение было приобретено через Android Market. Я могу использовать Службу лицензирования для проверки доступа к приложению. Существует ли способ подключения к Службе лицензирования с сервера? Если нет, могу ли я использовать данные API Google Checkout для подтверждения покупки?

1 Ответ

4 голосов
/ 09 марта 2011

Ответы Службы лицензирования Android Market подписываются с использованием частного ключа, и подпись отправляется вместе с подписанными данными. Используя ключ public из консоли разработчика, вы можете убедиться, что подпись действительна для подписанных данных. Только подпись, сгенерированная с помощью private , будет действительна для данных данных. Аналогично, если данные были изменены, подпись больше не будет правильной.

В приложении Android вы можете отправить подпись и подписанные данные на ваш контент-сервер, который может проверить подпись и разрешить доступ к контенту, если подпись действительна.

Если вы используете PHP, вы можете использовать функцию openssl_verify для проверки подписи.

Если вы используете Java, вы можете увидеть, как библиотека Android проверяет подпись в LicenseValidator.verify.

...