Необходимо ли держать слушателя транзакций для расходной покупки в Storekit 2?IOS

Программируем под IOS
Ответить
Anonymous
 Необходимо ли держать слушателя транзакций для расходной покупки в Storekit 2?

Сообщение Anonymous »

Я осуществляю расходную покупку, например Пользователь может купить 200 монет за 1,99 доллара в любое время. Я реализовал поток покупки, но Xcode дает мне предупреждение: < /p>

совершаю покупку без прислушивания к обновлениям транзакций
отсутствующие успешные покупки. Создайте задачу для итерации
transaction.updates при запуске. < /P>
< /blockquote>

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

extension AppDelegate {

func observeTransactionUpdates() {
Task {
for await result in Transaction.updates {
switch result {
case .verified(let transaction):
if transaction.productID == ProductID.scans_200_price_1_95.rawValue {
print("Grant 200 scans")
print("Transaction id: \(transaction.id)")
await transaction.finish()
}
case .unverified(_, let error):
print("Unverified transaction: \(error.localizedDescription)")
}
}
}
}
}
Теперь мой вопрос: в случае покупки расходных материалов, какова цель этих наблюдений? Пользователь не собирается разблокировать что-либо до определенной даты, но покупает монеты в любой момент времени.
Когда пользователь нажимает кнопку покупки, я делаю следующее:
func purchase(_ product: Product) async {

do {
let result = try await product.purchase()

switch result
{
case let .success(.verified(transaction)):
print("Grant 200 scans")
print("Transaction id: \(transaction.id)")
await transaction.finish()

case let .success(.unverified(_, error)):
print("Purchase was successful but transaction/receipt can't be verified. This phone could be a jailbroken.")
print("Error: \(error.localizedDescription)")
break

case .pending:
print("Transaction is waiting on SCA (Strong Customer Authentication) or approval from Ask to Buy")
break

case .userCancelled:
print("Purchase was cancelled!")
break

@unknown default:
print("Purchase was failed!")
break
}
}
catch {
print("Purchase was failed!")
}
}
< /code>
Вы можете увидеть грант 200 сканирования < /code> выполняется в двух местах: < /p>

[*] Когда пользователь нажимает на покупку Кнопка
Когда наблюдается, ? Где мне предоставить пользователя 200 токенов?

Подробнее здесь: https://stackoverflow.com/questions/793 ... n-storekit
Ответить

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

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

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

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

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