我正在尝试用react-native-expo添加一系列firebase工具的内置应用程序。我设法添加了以下功能:Cloud Messaging和Firebase Analytics。但我还必须集成应用内消息和动态链接。
我第一次安装所有firebase模块/依赖项来完成这个任务。
"@react-native-firebase/app": "^12.9.3",
"@react-native-firebase/in-app-messaging": "^12.9.3",
字符串
我的文件看起来像:
.......
import inAppMessaging from '@react-native-firebase/in-app-messaging
.......
useEffect(()=>{
await inAppMessaging().setMessagesDisplaySuppressed(true);
}[])
型
但我得到一个警告
未处理的promise拒绝:错误:您试图通过调用www.example.com()来使用未安装在Android项目上的firebase模块firebase.app
在那之后,我试图找到一个解决方案,我了解到expo允许创建插件来扩展expo的功能。
我试图解决这个expo documentation下面的问题,但我不能弄清楚如何创建这些插件。
接下来,我找到了一个可以帮助我with-rn-firebase的模块,但它不工作,并且该模块被弃用。
然后我搜索互联网,直到我发现其他人与同样的问题this is the link我看到在他们的app.json
插件的基本配置,我尝试在我的项目中实现,在我安装依赖,我需要添加在我的文件:
"plugins": [
"@react-native-firebase/app",
"@react-native-firebase/analytics",
"@react-native-firebase/in-app-messaging"
],
型
但我得到一个错误:
包“@react-native-firebase/analytics”不包含有效的配置插件。
了解更多:https://docs.expo.io/guides/config-plugins/#creating-a-plugin
不能在模块外部使用import语句
我的意思是,如果有人曾经遇到过这个问题,我希望在我的项目中能够使用应用程序内消息和动态链接,如果有人尝试过与世博会的实现,并有任何想法
2条答案
按热度按时间wfauudbj1#
最后我解决了这个问题,expo当我使用命令expo:buildandroid时,它只编译我的JavaScript文件,但有些代码是用java和其他可选文件在android / ios文件夹中编写的。Fallowing命令:
以administrator cmd的身份运行并写入此行
npm install -g eas-cli
。在expo/react原生项目中初始化新模块,如下代码行
eas init
。使用这一行为Android构建应用程序:
eas build --platform android
个eas.json
:字符串
使用这行代码为iOS构建应用程序:
eas build --platform ios
个Eas build包括在编译所有的app文件.gradle/.js/.java/.xml/.m/.h,这件事为你提供了可能性,在expo中构建与react native cli相同的功能和复杂性的移动的应用程序。
有用链接
https://docs.expo.dev/build/setup/
React Native Expo Build Failing due to cocoapods version的
js81xvg62#
我认为你需要使用Expo dev客户端在本地运行
https://docs.expo.dev/development/getting-started/
大多数情况下,expo不支持的包可以原生运行。但你需要成功地建立在EAS建设。