Моя цель - создать годовую подписку, которая не продлевается сама по себе. Насколько я понял, это делается с расходником на Android и с невозобновляемой подпиской на IOs. Затем в моем приложении есть экран premium_ads.dart, на котором отображаются премиум-функции и кнопка для их покупки. Это виджет с отслеживанием состояния с методом _initState () asyn c, который извлекает продукт из витрины:
void _initState() async {
InAppPurchaseConnection.enablePendingPurchases();
final state = await InAppPurchaseConnection.instance.isAvailable();
print(state);
setState(() => available = state);
if (!available) return;
Set<String> pIds = Set<String>();
pIds.add("premium");
final res =
await InAppPurchaseConnection.instance.queryProductDetails(pIds);
if (res.error != null) {
print("Error: " + res.error.toString());
}
print(res.productDetails);
if (res.productDetails.length == 0) {
setState(() => available = false);
return;
}
setState(() => premium = res.productDetails[0]);
}
Кроме того, я предоставлю скриншоты зарегистрированного продукта в Play Store и App Store:
При входе на экран вызывается метод _initState (), и я получаю следующий результат:
true
[]
Дополнительная информация: я загрузил подписанные двоичные файлы как в магазин приложений, так и в магазин игр, но они еще не проверены. Я не уверен, повлияет ли это на мою проблему.
Сегодня я снова попытался исправить это, и продукт обнаружен на IOs сейчас, однако на Android он все еще не найден.
Заранее благодарим за помощь!