Я только что вытолкнул свой проект Экспо из управляемого рабочего процесса в чистый рабочий процесс. В настоящее время я пытаюсь реализовать InAppPurchases: https://docs.expo.io/versions/latest/sdk/in-app-purchases/
Однако я заметил две вещи:
connectAsync
возвращает код ошибки getProductsAsync
зависает
Здесь я звоню connectAsync
, а затем getProductsAsync
:
const getProducts = async () => {
console.log("all response codes: ", IAPResponseCode);
const history = await InAppPurchases.connectAsync();
console.log("connect async:", history);
const items = Platform.select({
ios: ["cloemonthly", "cloeanually"],
android: ["cloemonthly", "cloeanually"],
});
console.log("before get products");
const { responseCode, results } = await InAppPurchases.getProductsAsync(
items
); // <------------------------------------------------ HANGS HERE
console.log("after get products");
if (responseCode === IAPResponseCode.OK) {
setProducts(results);
}
};
useEffect(() => {
getProducts();
}, []);
Когда я обновляю sh приложение, оно печатает this:
LOG all response codes: {"0": "OK", "1": "USER_CANCELED", "2": "ERROR", "3": "DEFERRED", "DEFERRED": 3, "ERROR": 2, "OK": 0, "USER_CANCELED": 1}
LOG connect async: {"errorCode": 0, "responseCode": 2, "results": []}
LOG before get products
Как видите, connectAsyn c возвращает ошибку и зависает на getProductsAsyn c
Я считаю, что у меня есть правильная настройка в Xcode и ItunesConnect
Что еще мне не хватает?