我正在使用 revenuecat 进行应用内购买我想添加“每月订阅”,所以我按照 Docs用于配置。 并按照他们写的那样设置所有内容。
代码部分
在 App.js 中
import Purchases from 'react-native-purchases';
export default class App extends React.Component {
componentDidMount() {
...
Purchases.setDebugLogsEnabled(true);
Purchases.setup('apiKey');
}
......
}
这里是一个特定的屏幕,我应该返回价格、名称、时间“每月”和其他数据 (display product)
import React, {Component} from 'react';
import {View, Text} from 'react-native';
import Purchases from 'react-native-purchases';
export default class OneMonthPurchases extends Component {
getOfferings = async () => {
try {
const offerings = await Purchases.getOfferings();
console.log('offerings', offerings); // offerings: {"all": {}}
} catch (error) {
console.log('error when get offerings', error);
}
};
componentDidMount() {
this.getOfferings();
}
render() {
return (
<View>
<Text>One Month Purchases</Text>
</View>
);
}
}
但是当我记录报价时,我得到了 offerings: {"all": {}}
那么我该如何解决或者我错过了什么?
注意:我在模拟器上测试
最佳答案
RevenueCat 在其帮助中心提供了有关此错误最常见原因的指南:https://support.revenuecat.com/hc/en-us/articles/360041793174-Why-are-my-products-offerings-or-available-packages-empty-
以下答案摘自那篇文章:
如果您仍在沙盒中进行测试,则很可能是配置问题导致无法从 Apple/Google 检索产品。您的产品标识符在 RevenueCat 中设置,但您的用户购买的实际产品只能直接从 Apple/Google 检索。由于此通信发生在您的应用程序和商店之间,因此 RevenueCat 对 API 请求没有任何可见性,但我们发现了一些常见问题。
RevenueCat 中设置的产品标识符与商店完全匹配 您是在物理设备而不是模拟器上进行测试
在您的应用中正确设置了包 ID [iOS] 或包名称 [Android] 产品处于“准备提交”状态 [iOS]
您已签署“付费应用协议(protocol)”[iOS]
您的应用已在封闭轨道上发布,并且您已添加测试人员 [Android]
如果您的应用已上线并且在测试期间一切正常,您应该检查:
所有产品在 App Store Connect [iOS] 中都处于“已批准”状态
产品已获批 24 小时以上。由于应用商店的传播时间,新产品在获得批准后可能需要 24 小时以上才能上架 - 这对于新应用和将新产品添加到现有应用都是一样的。
关于javascript - Revenuecat React-Native 产品获得空对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63039517/