React Native:是否可以仅将 Expo 用于开发?
React Native: Is it possible to use Expo just for development?
我是 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
此人建议我可以继续使用 Expo 的 master
分支,然后在时间准备好时按照这些步骤弹出和部署。我从来没有这样做过,但我想知道这是否可行:
主控:
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 进行开发,如果 !hasIAP()
则跳过 IAP 内容
在用于最终质量检查/部署的单独分支上:
1) 创建一个名为 detached
的新分支
2) 运行 expo eject
3) 运行 react-native link react-native-iap
以及此处列出的所有其他手动安装步骤:https://github.com/dooboolab/react-native-iap#manual-installation
4) 质量检查一切
5) 部署
有没有人有使用这种混合 "expo for development, no expo for production" 方法的经验?
如果弹出并使用 Expo
,则可以像默认 React-native
项目一样使用它。 Android
文件夹和iOS
文件夹已创建,您将在创建它们之前输入适当的包名称。当您弹出 Expo
时,您安装的模块和 Expo
中的模块将添加到软件包列表中。检查 MainApplication.java
中的 Android
或检查 Info.list
个文件中的 iOS
。有些东西不适用于 App.json
设置,这些设置在您弹出 Expo
后负责设置。可以参考官方文档设置。
一旦 Expo
被弹出,React-native link
命令就会出色地执行。
弹出 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
此人建议我可以继续使用 Expo 的 master
分支,然后在时间准备好时按照这些步骤弹出和部署。我从来没有这样做过,但我想知道这是否可行:
主控:
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 进行开发,如果 !hasIAP()
在用于最终质量检查/部署的单独分支上:
1) 创建一个名为 detached
2) 运行 expo eject
3) 运行 react-native link react-native-iap
以及此处列出的所有其他手动安装步骤:https://github.com/dooboolab/react-native-iap#manual-installation
4) 质量检查一切
5) 部署
有没有人有使用这种混合 "expo for development, no expo for production" 方法的经验?
如果弹出并使用 Expo
,则可以像默认 React-native
项目一样使用它。 Android
文件夹和iOS
文件夹已创建,您将在创建它们之前输入适当的包名称。当您弹出 Expo
时,您安装的模块和 Expo
中的模块将添加到软件包列表中。检查 MainApplication.java
中的 Android
或检查 Info.list
个文件中的 iOS
。有些东西不适用于 App.json
设置,这些设置在您弹出 Expo
后负责设置。可以参考官方文档设置。
一旦 Expo
被弹出,React-native link
命令就会出色地执行。
弹出 Expo
不会改变或从模块使用中消失