expo-in-app-покупок `connectAsync` не разрешается для рецензентов App Store - PullRequest
1 голос
/ 03 апреля 2020

У нас есть собственное приложение, в которое мы только что добавили покупки в приложении с помощью пакета expo-in-app-shoppingages. Кажется, что все работает при тестировании сборок для разработки и распределенных выпусков TestFlight на наших собственных устройствах.

Однако мы обнаруживаем, что приложение постоянно не работает при проверке рецензентами из App Store.

В последнем обзоре, с помощью нашего механизма регистрации ошибок, мы обнаружили, что была выдана следующая ошибка:

«Необходимо дождаться выполнения обещания, прежде чем вызывать функцию.»

Это было сгенерировано, потому что во время проверки рецензент вызвал выполнение следующего кода дважды, с интервалом в 7 минут:

import { getProductsAsync } from 'expo-in-app-purchases';

...

const { responseCode, results } = await getProductsAsync(iOSProductIdArray));

Оказывается, первоначальный вызов getProductsAsync никогда не разрешается, то есть когда мы назвали это снова, некоторые логики c в покупках expo-in-app (ссылка выше) вызвала ошибку.

Но мы не знаем, почему этот метод не делает неясно, когда обозреватели Apple используют наше приложение, когда оно всегда работает, когда мы делаем. Рецензенты входят в iTunes Store, используя те же учетные данные песочницы, которые мы используем, и используем ту же сборку, что и мы, но никогда не можем загружать сведения о продукте, а это значит, что они никогда не смогут просматривать варианты покупки в приложении.

Есть ли что-то особенное в среде просмотра, которая мешает работе этой функции? Мы предположили, что InAppPurchases.connectAsync(), который мы называем при первой загрузке приложения, не подходит для рецензентов, но мы не знаем, как и почему. Кто-нибудь знает, как среда или процесс проверки могут вызвать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...