2

我正在使用收入猫进行应用内购买我想添加“每月订阅”,所以我按照文档进行配置。并按照他们编写的方式设置所有内容。

对于代码部分

在 App.js 中

import Purchases from 'react-native-purchases';

export default class App extends React.Component {
  
  componentDidMount() {
...
    Purchases.setDebugLogsEnabled(true);
    Purchases.setup('apiKey');
  }

......
}

这里是一个特定的屏幕 这里我应该返回价格、名称、时间“每月”和其他数据(显示产品

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": {}} 那么我该如何解决它或者我错过了什么?

注意:我在模拟器上测试

4

1 回答 1

2

RevenueCat 在其帮助中心提供了有关此错误最常见原因的指南:https: //support.revenuecat.com/hc/en-us/articles/360041793174-Why-are-my-products-offerings-or-可用包-空-

以下答案来自该文章:

如果您仍在沙盒中进行测试,则很可能是配置问题导致无法从 Apple/Google 检索产品。您的产品标识符在 RevenueCat 中设置,但您的用户购买的实际产品只能直接从 Apple/Google 检索。因为这种通信发生在您的应用程序和商店之间,RevenueCat 对 API 请求没有任何可见性,但是我们看到了一些常见问题。

  • RevenueCat 中设置的产品标识符与您在物理设备而不是模拟器上测试的商店完全匹配

  • 捆绑 ID [iOS] 或包名称 [Android] 在您的应用中设置正确 产品处于“准备提交”状态 [iOS]

  • 您已签署“付费应用程序协议”[iOS]

  • 您的应用已在封闭轨道上发布,并且您已添加测试人员 [Android]

如果您的应用程序已上线并且在测试期间一切正常,您应该检查:

  • 所有产品在 App Store Connect [iOS] 中都处于“已批准”状态

  • 产品已获批 24 小时以上。由于应用商店的传播时间,新产品在获得批准后可能需要 24 小时以上才能上市 - 这对于新应用和向现有应用添加新产品是一样的。

于 2020-07-22T17:14:23.947 回答