Android-покупка в приложении - управляемый продукт - PullRequest
0 голосов
/ 03 апреля 2012

Я пытаюсь использовать встроенную систему покупок Android. У меня только один управляемый продукт, и проблема в том, что я не могу проверить его в режиме отладки с помощью eclipse. Когда я подписываю свое приложение и устанавливаю его на консоль разработчика и на телефон, все в порядке.

Но когда я хочу отладить свое приложение с помощью eclipse, я всегда получаю RESULT_DEVELOPER_ERROR для restoreTransactions (). Я хочу проверить, был ли этот управляемый продукт приобретен ранее, когда мое приложение переустанавливалось.

Как правильно тестировать управляемые продукты?

Я предполагаю, что получаю ошибку RESULT_DEVELOPER_ERROR, потому что я работаю в режиме отладки, а это не подписанный apk. Если это правда, как я могу отладить свое приложение для управляемых продуктов?

Ответы [ 4 ]

1 голос
/ 01 августа 2013

Это старый вопрос, но кто-то может все же найти его полезным.

Вы можете фактически отлаживать покупки в приложении:

  • создать пользовательское хранилище ключей отладки из вашего выпускахранилище ключей, как описано здесь: http://blogprogramistyandroid.blogspot.com/2011/04/converting-release-keys-to-debug.html

  • создайте релиз .apk (может также использовать ваш настоящий скрипт релиза, с proguard и прочим) и загрузите его в раздел «альфа-тестирования» вашего Play Storeучетная запись.Публикуйте альфа-версию.Вам также может понадобиться добавить тестовую учетную запись gmail в качестве тестера (просто создайте пустую группу G + с этой учетной записью в качестве владельца) - но она также может работать без нее, я не пробовал.

  • теперь выполните отладку, используя пользовательский ключ отладки, созданный на шаге 1, и убедитесь, что версия приложения в манифесте соответствует версии, загруженной вами как альфа-версия на предыдущем шаге.

  • вам, возможно, придется подождать некоторое время, чтобы альфа-версия была зарегистрирована в недрах Google, но это может быть только для загрузки тестовой версии из магазина приложений.

Вуаля, теперь вы можете пошагово или еще много чего и фактически купить реальные продукты.

PS и не забудьте удалить хранилище пользовательских отладочных ключей после завершения отладки IAP.

0 голосов
/ 01 октября 2012

Невозможно проверить это, если вы подписали свое приложение с помощью ключа отладки.

Обратите внимание, что подписывать ключ отладки нужно только в том случае, если вы хотите запустить отладчик. Я предлагаю подписать ключом релиза и использовать хорошую регистрацию вместо отладки.

И убедитесь, что вы загружаете ту же версию приложения, которую вы развернули на своем устройстве, в консоль разработчика (она может быть черновой, ее не нужно публиковать). См. Биллинг в приложении, невозможно заставить RESULT_DEVELOPER_ERROR уйти

0 голосов
/ 01 октября 2012

Ну, вы можете отлаживать подписанные приложения.

В манифесте установите android:debuggable="true" внутри тега <application>. Запустите приложение, перейдите в перспективу DDMS в Eclipse, найдите процесс приложения на вкладке «Устройства», выберите его и подключите отладчик (зеленая ошибка в меню вкладок).

0 голосов
/ 03 апреля 2012

Пожалуйста, обратитесь к Ссылка на биллинг в приложении , в частности, описание ошибки:

Указывает, что приложение пытается сделать платежный запрос в приложении, но приложение не объявило разрешение com.android.vending.BILLING в своем манифесте. Может также указывать, что приложение не подписано должным образом или что вы отправили некорректный запрос, например запрос с отсутствующими ключами пакета или запрос, который использует нераспознанный тип запроса.

Я думаю, вы обнаружите, что проблема в том, что на эмуляторе не установлен Google Play Store (предоставляется классом com.android.vending), и поэтому он не может поддерживать биллинг в приложении.

На странице Тестирование в приложении прямо указывается, что в приложении нельзя использовать биллинг в приложении с эмулятором:

Для проверки биллинга в приложении в приложении вы должны установить приложение на устройстве с Android. Вы не можете использовать эмулятор Android для тестирования биллинга в приложении.

...