In_app_purchase: Как определить активную подписку на iOS?IOS

Программируем под IOS
Ответить
Anonymous
 In_app_purchase: Как определить активную подписку на iOS?

Сообщение Anonymous »

контекст
У меня есть группа подписки с ежемесячно и Годовые планы.

протестировано на ios с использованием плагина Flutter in_app_purchase версии 3.2.3.
flow:

/> [*] Я сначала приобрела ежемесячную подписку .
[*] Затем я приобрел Годовую подписку .

Слушатель из in_app_purchase возвращает strong>, в том числе orshlyly. Поведение?

Код: Выделить всё

Future _listenToPurchaseUpdated(
List
 purchaseDetailsList, BuildContext context) async {
for (final purchaseDetails in purchaseDetailsList) {
if (purchaseDetails.status == PurchaseStatus.pending) {
//
} else if (purchaseDetails.status == PurchaseStatus.error) {
//
} else if (purchaseDetails.status == PurchaseStatus.purchased ||
purchaseDetails.status == PurchaseStatus.restored) {
// deliver product
// await deliverProduct(purchaseDetails, context);
}

// complete purchase
if (purchaseDetails.pendingCompletePurchase) {
print('Calling completePurchase...');
await inAppPurchase.completePurchase(purchaseDetails);
}
}
}
Вопросы
1 Как среди этих двух покупок определить, какая подписка правильная/активная?
2 Должен ли я проверить это с помощью PurchaseDetails.verificationData.serverVerificationData?
Например, в серверной части Node.js с помощью App от Apple API сервера магазина[/b]:

Код: Выделить всё

import { AppStoreServerAPIClient, ReceiptUtility, Environment, SignedDataVerifier, ProductType } from "@apple/app-store-server-library";

const verifier = new SignedDataVerifier(
appleRootCAs,
enableOnlineChecks,
environment, // Environment.Sandbox or Environment.Production
bundleId
);

const decodedTransaction = await verifier.verifyAndDecodeTransaction(serverVerificationData);
3 Нужно ли мне всегда вызывать inapphrchase.completepurchase ?print('Calling completePurchase...');
await inAppPurchase.completePurchase(purchaseDetails);
< /code>
Для каждого приобретенного ладоня, возвращаемых слушателем (купленным или восстановленным), или только при приобретении. Подписка, затем обновлена ​​до ежегодной подписки.>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ion-on-ios
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»