Как протестировать подписку на приложение на Android с помощью flutter

#android #flutter #in-app-purchase #in-app-subscription #trial

Вопрос:

  • Я использую версию 1.0.6 in_app_purchase.
  • Настройте подписку с помощью игровой консоли id base_mobile с ежемесячным выставлением счетов, 14-дневной бесплатной пробной версией
  • Приложение публикуется для внутреннего тестирования в игровой консоли

Я могу получить продукты, используя конечный ответ ProductDetailsResponse = ожидание подключения IAP.queryProductDetails(_id);

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

 await iapConnection.buyNonConsumable(purchaseParam: purchaseParam);
 

откроется следующее диалоговое окно:

введите описание изображения здесь

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

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

Есть ли какие-либо ошибки в моей настройке?

Комментарии:

1. Обратитесь к этому developer.android.com/google/play/billing/test#renewals

Ответ №1:

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

Комментарии:

1. Я следил за настройкой кодовой таблицы официального плагина

2. ОК. Вы перешли по ссылке, которую я предоставил? Если это не сработало, возможно, необходим новый подход.

Ответ №2:

Использование статических ответов звучит достаточно просто, не так ли? Вы просто используете один из следующих идентификаторов продукта во время операции покупки:

 android.test.purchased
android.test.canceled
android.test.refunded
android.test.item_unavailable
 

и Play Store ответит соответствующим образом. Код выглядит примерно так:

Измените его идентификаторы вот так

  ProductDetailsResponse response = await iapConnection.queryProductDetails("android.test.purchased");
 

Комментарии:

1. Я делаю запрос для своих продуктов с идентификаторами, зарегистрированными в play console. Проблема не в появлении продукта. Подписка отображается как не возобновляемая, и 1-нажмите «купить» вместо «подписаться».