У меня вопрос о нашем потоке покупки в приложении, потому что он был отклонен яблоком.
Причина, по которой мы не знаем, имеет ли пользователь действительную подписку, мы должны сначала получить квитанцию, которая приводит к приглашению пароля Itunes Store (что является нормальным поведением, которое мы правильно понимаем в не производственной среде) , Затем выполняется проверка, и в зависимости от результата мы показываем страницу автообновления подписки или передаем запрошенное действие.
Наш поток:
Получение приема Проверка получения Если действительный - Pass запрошенное действие недействительно - показать страницу автоматического возобновления подписки, где пользователь может совершить покупку in-app. Теперь Apple прокомментировала в своем отказе, что они не видят автоматически обновляемую страницу подписки, вместо этого они получили подсказка пароля из магазина iTunes.
Как мы правильно понимаем, подсказка пароля - это нормальное поведение в не производственной среде, но яблоко, похоже, не ожидает такого поведения. Мы ничего не изменили в способе получения квитанции.
Мы используем SwiftyStoreKit для удобства управления. Это наш код:
SwiftyStoreKit.fetchReceipt(forceRefresh: false) { result in
switch result {
case .success(let receiptData):
let encryptedReceipt = receiptData.base64EncodedString(options: [])
Log.info("Fetch receipt success")
//further code to send the receipt to our server
case .error(let error):
observer.send(error: error.localizedDescription)
}
}
Неправильно ли наш поток или как мы можем проверить, имеет ли пользователь действительную подписку, не получая квитанцию? Мы немного смущены. Может кто-нибудь может дать нам какой-нибудь совет здесь?