Как легко тестировать покупки в приложении, не публикуя и не подписывая сначала?

Фон

В моем приложении есть биллинг внутри приложения (например, этот ), и я хочу протестировать его перед публикацией.

Я просмотрел несколько лекций Google IO, прочитал несколько статей и все подготовил.

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

Эта проблема

Кажется, что в консоли разработчика нельзя активировать элементы в приложении.

Я думаю, это потому, что приложение еще не опубликовано, но в этом весь смысл тестирования - я хочу протестировать приложение перед его публикацией ...

Как я также узнал, чтобы протестировать биллинг в приложении, мне нужно сделать много вещей, чтобы заставить его работать, также имея множество ограничений и неудобств:

  1. подпишите приложение и загрузите его в игровой магазин. если вы не используете подписанное приложение, вы получите это сообщение (" Эта версия приложения не настроена для Market Billing ... ").

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

  3. позволить другим проводить тестирование вместо меня, так как моя учетная запись не может быть использована для этого. не только это, но вместо того, чтобы добавлять именно то, что вы хотите добавить, вам нужно создать группу Google и туда поместить людей, которые смогут использовать приложение, и все должны будут иметь учетную запись google + ... Вы будете также необходимо подождать некоторое время, пока тестировщики смогут использовать биллинг вашего приложения в приложении, и до тех пор они получат сообщение об ошибке «Пользователь не имеет права на эту покупку».

  4. из-за №1 мне нужен какой-то механизм для сброса покупок в самом приложении, но я также не должен забывать удалить / скрыть эти функции для конечных пользователей, чтобы они не сбрасывали его ошибка

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

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

Вопрос

Почему так?

Почему нет простого способа протестировать биллинг в приложении?

Как бы вы справились с проблемами, о которых я писал?

Можно ли протестировать покупки в приложении до того, как приложение будет опубликовано?

Почему я не могу использовать свою учетную запись Google?

Кроме того, предположим, что я совершаю (поддельную) покупку, как мне сбросить ее (все / определенные покупки), чтобы проверить ее снова? Правда ли, что я не могу этого делать нигде, кроме самого приложения?

Я что-нибудь упускаю?


person android developer    schedule 06.01.2014    source источник
comment
отстой в Android. так легко протестировать при покупке приложения в iOS.   -  person coolcool1994    schedule 16.08.2020
comment
@ coolcool1994 На самом деле стало проще. Теперь, если вы используете свою учетную запись, она работает как настоящая покупка (но, конечно, с вас не будет взиматься плата).   -  person android developer    schedule 17.08.2020


Ответы (4)


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

person tyczj    schedule 06.01.2014
comment
Почему я не могу использовать одну и ту же учетную запись? Google просто не позволит этого? Кроме того, если у меня есть рабочая учетная запись, могу ли я использовать ее вместо нее? Как мне заставить приложение использовать нужную мне учетную запись? Все, что у меня есть, это APK-файл ... - person android developer; 07.01.2014
comment
Я не знаю конкретной причины, по которой вы не можете протестировать с помощью своей учетной записи разработчика, но если вы попытаетесь, вы получите сообщение об ошибке, в котором говорится, что вы не можете приобрести элемент с помощью этой учетной записи. Вы можете тестировать только с учетной записью, которая связана с магазином Google Play, поэтому, если ваша рабочая учетная запись связана, тогда да, просто создайте другого пользователя на устройстве и переключитесь на этого пользователя при тестировании - person tyczj; 07.01.2014
comment
о, но у меня нет этой функции, так как она доступна только для планшетов. может есть инструмент для рутированных устройств для переключения пользователей? - person android developer; 07.01.2014

Вам нужно будет опубликовать приложение в бета-режиме, чтобы вы могли протестировать покупки в приложении. Бета-режим позволит протестировать функциональность с ограниченным набором пользователей.

person Amrut    schedule 06.01.2014
comment
В чем именно разница между всеми уровнями? - person android developer; 07.01.2014

Да, вы можете протестировать свое приложение без публикации (а также без публикации в бета-режиме). Есть инструкция http://developer.android.com/google/play/billing/billing_testing.html#billing-testing-test. Пожалуйста, помните, что после 1 балла может потребоваться подождать час или два.

Кажется, что в консоли разработчика нельзя активировать элементы в приложении.

это нормально, просто убедитесь, что вы отметили его как активный. Перед публикацией приложения оно выглядит неактивным, но вы можете его протестировать.

Я могу использовать свою учетную запись Google, верно?

Настоятельно рекомендую иметь дополнительный аккаунт только для тестовых покупок.

Кроме того, предположим, что я совершаю (поддельную) покупку, как мне сбросить ее (все / определенные покупки), чтобы проверить ее снова?

Вам необходимо будет заполнить платежную информацию для своей тестовой учетной записи. Но когда вы делаете тестовую покупку, транзакции на реальные деньги не происходит. Каждое приложение в приложении можно протестировать еще раз после того, как приложение его использует.

person Helen Allien Poe    schedule 06.01.2014
comment
Но как я могу выбрать, какую учетную запись использовать? все, что у меня есть, это APK-файл ... Кроме того, о каком пункте вы говорите? Я также не понимаю сброс покупок - можно ли это сделать в консоли разработчика или мне следует добавить скрытую функцию для использования всех покупок в самом приложении? - person android developer; 07.01.2014
comment
Извините за задержку. Вы должны войти в консоль разработчика в настройках и добавить тестовую учетную запись (developer.android.com/google/play/billing/). Затем войдите в свой телефон в тестовой учетной записи. Затем установите APK-файл на свой телефон. На этом все, можно тестировать покупки. Вы говорите: «Кроме того, о каком 1 пункте вы говорите? Извините за недопонимание. Я имею в виду, что иногда вам нужно подождать несколько часов после загрузки файла APK в консоль разработчика. - person Helen Allien Poe; 09.01.2014
comment
Вы говорите: «Я также не понимаю сброс покупок - можно ли это сделать в консоли разработчика, или мне следует добавить скрытую функцию для использования всех покупок в самом приложении?». Да, нужно. Посмотрите на developer.android.com/google/play/billing/api. html # потреблять - person Helen Allien Poe; 09.01.2014
comment
Нет лучшего способа сбросить покупки? Почему существует так много ограничений на выставление счетов в приложениях? это так раздражает: нужно подписать приложение, поместить его в игровой магазин, настроить тестовые учетные записи других людей (кроме себя по какой-то причине), добавить кредитные карты (даже если они не будут списаны), добавить сброс покупок в приложении (и не забудьте скрыть / удалить его для конечных пользователей), ... почему все это не может быть похоже на тестирование приложения в eclipse, как обычные функции тестируются (и исправляются)? на лекциях это выглядело так легко, но это очень раздражает. - person android developer; 11.01.2014
comment
На самом деле вы можете использовать поддельные покупки developer.android.com / google / play / billing /. Вы не можете протестировать все случаи, но большинство из них должны работать. Надеюсь, это вам поможет. - person Helen Allien Poe; 12.01.2014
comment
нет, не пойдет. он просто скажет вам, что это удалось / не удалось / все, что вы ему скажете. он не будет иметь ничего общего с реальным потоком покупок. это почти ничего не стоит :( - person android developer; 13.01.2014

Я также работаю над тем, как лучше всего тестировать In-App-Billing для Android.

С реальными транзакциями мне кажется, что это действительно слишком сложно и требует слишком много усилий. Итак, я сейчас думаю о том, чтобы «только» протестировать этот материал со статическими ответами (http://developer.android.com/google/play/billing/billing_testing.html#billing-testing-static).

Теоретически я предполагаю, что как только это сработает, все будет хорошо и в производственной среде, так как в исходном коде только идентификатор SKU изменяется для live-релиза.

person nr1    schedule 10.01.2014
comment
но ответ, который вы получите, не включает то, что вы купили. это только говорит о том, что вы добились успеха или нет. это бесполезно... - person android developer; 27.01.2014
comment
Да, вы можете протестировать только один элемент одновременно - person nr1; 16.02.2014
comment
это не просто один предмет. дело в том, что он не говорит вам, что это за покупка, он не запоминает, что вы ее купили. Ничего. он возвращает только то, что вы ему говорите. - person android developer; 16.02.2014
comment
Да, следующий ввод-вывод Google состоится 25 июня 2014 г. может они покажут что-нибудь получше. - person android developer; 22.02.2014