在Expo项目中使用Firebase应用内消息传递

new9mtju  于 2023-08-07  发布在  其他
关注(0)|答案(2)|浏览(94)

我正在尝试用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语句
我的意思是,如果有人曾经遇到过这个问题,我希望在我的项目中能够使用应用程序内消息和动态链接,如果有人尝试过与世博会的实现,并有任何想法

wfauudbj

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

  • 对于iOS有点不同,您必须编辑文件eas.json
{
  "cli": {
    "version": ">= 0.43.0"
  },
  "build": {
    "development": {
      "distribution": "internal",
      "android": {
        "gradleCommand": ":app:assembleDebug"
      },
      "ios": {
        "buildConfiguration": "Debug"
      }
    },
    "preview": {
      "distribution": "internal"
    },
    "production": {
      "ios": {
        "cocoapods": "1.11.2"
      }
    }
  },
  "submit": {
    "production": {}
  }
}

字符串
使用这行代码为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

js81xvg6

js81xvg62#

我认为你需要使用Expo dev客户端在本地运行
https://docs.expo.dev/development/getting-started/
大多数情况下,expo不支持的包可以原生运行。但你需要成功地建立在EAS建设。

相关问题