首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在应用程序购买Android中做出反应

在应用程序购买Android中做出反应
EN

Stack Overflow用户
提问于 2018-05-02 16:15:34
回答 1查看 1.8K关注 0票数 0

我正在尝试添加应用程序购买(或者谷歌喜欢这样称呼它;“在应用程序计费”)到我的反应本土应用。

我所做的:

  1. 在Google控制台中创建一个产品(带有标识符"unlock_premium“)
  2. yarn add react-native-iap (库)
  3. 将下面的代码添加到我的应用程序中的组件中
  4. 在物理设备上使用react-native run-android进行测试,并通过将其发布到Google控制台的Alpha测试

注意:应用程序已签名,清单文件中启用了计费权限,react-native-iap的版本为0.3.23。

问题:在运行调试版本时,console.log()只打印产品是undefined,而productInfo在运行Alpha版本时不会在屏幕上显示(因此产品在那里也没有定义)。products变量只是一个空数组。

( try-statement似乎成功了,因为我看到它没有打印错误。)

代码语言:javascript
复制
import InAppPurchase from "react-native-iap";

const itemSKUs = Platform.select({
    android: [
        "com.kimer.unlock_premium" // I've also tried just "unlock_premium"
    ]
})
...

constructor(props) {
        super(props);
        this.state = {
            modalVisible: false,
            premiumProduct: undefined
        };
}

...

async componentDidMount() {
        try {
            await InAppPurchase.prepare();
            const products = await InAppPurchase.getProducts(itemSKUs);
            console.log("finished call to get products");
            console.log(products[0]);
            this.setState({premiumProduct: products[0]});
        } catch (err) {
            console.warn(err);
        }
}

...

render() {
        let productInfo;
        if (this.state.premiumProduct !== undefined) {
            productInfo = (
                <Text>{this.state.premiumProduct}
                {this.state.premiumProduct.localizedPrice}
                {this.state.premiumProduct.currency} {this.state.premiumProduct.productID}
                {this.state.premiumProduct.title}
                {this.state.premiumProduct.description}</Text>
            );
        }

        return (
            <View>
                ...
                {productInfo}
                ...
            </View>
        );
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-03 15:17:10

解决了:,它现在为我工作!我尝试了几件事,但我不知道让它起作用的关键是什么--这就是我所做的:

  1. 重新安装软件包
  2. import InAppPurchase from "react-native-iap;" to "import * as InAppPurchase from 'react-native-iap';"更改了导入语句
  3. 将代码中的SKU从"com.kimer.unlock_premium“改为"unlock_premium”
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50139161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档