У меня есть:
[*]настроенные подписки 2 продукта на каждый, 2 базовых плана — каждый план активен. [*]тестеры лицензий [*]внутренние тестеры [*]иметь тот же номер сборки во внутренней дорожке, что и в моей студии Android [*]Я выпустил сборку и установил ее на свое устройство через adb [*]те же ключи подписи [*]Я могу перечислить свои подписки, указав артикулы.
Но, к сожалению, я до сих пор не могу избавиться от ошибки при покупке:
ошибка { "message": "Этот элемент недоступен.", "debugMessage": "", "код": "E_ITEM_UNAVAILABLE", «код ответа»: 4 } Я использую библиотеку response-native-iap, и это мой код (упрощенно):
const {subscriptions, currentPurchase, FinishTransaction, getSubscriptions, getPurchaseHistory} = useIAP() const subscribe = async (productId: string, OfferToken: string) => { console.log('идентификатор продукта', productId, 'offertoken', OfferToken) пытаться { ожидайте запроса на подписку({ артикул: идентификатор продукта, ...(offerToken && { подпискаПредложения: [{sku: ProductId, OfferToken}], }), }) } catch (ошибка: любой) { console.warn(код ошибки, сообщение ошибки) } } useEffect(() => { constподписка = PurchaseUpdatedListener((покупка: Покупка) => { console.log('покупка', JSON.stringify(покупка, ноль, 2)) }) возврат () => { подписка.удалить() } }, []) useEffect(() => { constподписка = PurchaseErrorListener((ошибка: PurchaseError) => { console.log('ошибка', JSON.stringify(ошибка, ноль, 2)) }) возврат () => { подписка.удалить() } }, []) константное завершение = () => { если (текущая покупка) { FinishTransaction({purchase: currentPurchase, isConsumable: false}) } } ... {subscriptions.map((подписка) => подписка.subscriptionOfferDetails.map((предложение) => ( подписаться(subscription.productId, Offer.offerToken)} > {подписка.имя} )), )} [*]Нужно ли мне отправить приложение на закрытое тестирование, чтобы продолжить тестирование? [*]У меня что-то неправильно настроено? Любые советы и подсказки приветствуются