правильно делать проверку активная ли подписка? Проблема в том, что на дебаге все работает норм. А в testFlight происходит проблема.
isSubscriptionActiveIos = () => {
RNIap.getPurchaseHistory()
.then(purchases => {
// console.log('purchases', purchases)
RNIap.validateReceiptIos({
//Get receipt for the latest purchase
'receipt-data': purchases[purchases.length - 1].transactionReceipt,
'password': 'secret'
}, true)
.then(receipt => {
//latest_receipt_info returns an array of objects each representing a renewal of the most
const renewalHistory = receipt.latest_receipt_info
const expiration = renewalHistory[renewalHistory.length-1].expires_date_ms
expiration > Date.now() ? this.props.handleIsSubscribed(true) : this.props.handleIsSubscribed(false);
})
.catch(error => {
console.log('ERROR', error);
Alert.alert(error.message);
this.props.handleIsSubscribed(false)})
})
}
this.props.handleIsSubscribed(true) - в этом методе я пишу значение в стору и потом юзаю в дальнейшем
ооо
добавьте в запрос еще одну пропертю: exclude-old-transactions: true - станет быстрее здесь еще нужно учитывать cancellation_date - дату когда юзер сделал refund через apple support. т.е. похорошему, нужно искать любую незаэкспайренную подписку и у которой нет cancellation_date
Обсуждают сегодня