首页 > 解决方案 > React Native:是否可以仅将 Expo 用于开发?

问题描述

我是 Expo 的新手,但到目前为止,不必打开 Android Studio / Xcode 来在本地运行我的应用程序似乎非常简洁。无需触摸这些东西,开发起来就更加方便了。

但是,我想在我的应用程序中加入应用程序购买(订阅),从我迄今为止所做的研究来看,它似乎不像 Expo 的解决方案(https://docs.expo.io/versions/latest/sdk/ in-app-purchases/ ) 非常发达。

我找到了这个用于应用内购买的 npm 包,它看起来很有希望:https ://github.com/dooboolab/react-native-iap 。然而,Expo 不支持它,而且我觉得仅仅为了这一功能就放弃 Expo 的所有好处是不值得的。

我注意到这里的问题中有一条非常有趣的评论:https ://github.com/dooboolab/react-native-iap/issues/174#issuecomment-393704277

这个人建议我可以继续使用masterExpo的分支,然后在时间准备好时按照这些步骤弹出和部署。我从来没有这样做过,但我想知道这是否可行:

在主人

1)运行npm install --save react-native-iap但不要运行react-native link react-native-iap

2)用这段代码包装我的应用内购买模块。这样你的代码在调用 IAP 方法时不会崩溃

import { NativeModules } from 'react-native';
const { RNIapModule } = NativeModules;
function hasIAP() {
  return !!NativeModules.RNIapModule;
}

3) 继续使用 Expo 进行开发,如果出现则跳过 IAP 内容!hasIAP()

在用于最终 QA / 部署的单独分支上:

1)创建一个名为的新分支detached

2) 运行expo eject

3) 运行react-native link react-native-iap和此处列出的所有其他手动安装步骤:https ://github.com/dooboolab/react-native-iap#manual-installation

4) QA 一切

5) 部署

有没有人有过这种混合的“开发博览会,没有生产博览会”方法的经验?

标签: react-nativein-app-purchaseexpoin-app-billingin-app-subscription

解决方案


如果您弹出并使用Expo,您可以像使用默认React-native项目一样使用它。Android文件夹和iOS文件夹已创建,您将在创建它们之前输入适当的包名称。您已安装的模块和其中的模块在Expo您弹出Expo. 检查或文件。MainApplication.java_ 有些事情不适用于在您弹出. 可以参考官方文档进行设置。AndroidInfo.listiOSApp.jsonExpo

一旦Expo被弹出,React-native link命令就会被出色地执行。

弹出Expo不会改变或从模块使用中消失


推荐阅读