带有Expo管理工作流的react-native-google-mobile-ads将无法工作

7vux5j2d  于 2023-02-05  发布在  React
关注(0)|答案(1)|浏览(153)

我遵循了所有最新的指南和建议,让react-native-google-mobile-ads与世博会管理的工作流程配合使用,包括:
How to use react-native-google-mobile-ads with Expo?
How do I use react-native-google-mobile-ads with Expo and Expo Go?
但我总是得到同样的错误:
ERROR TypeError: null is not an object (evaluating 'RNAppModule.eventsNotifyReady')
看起来这个错误源于这个jest.setup.ts文件:https://github.com/invertase/react-native-google-mobile-ads/blob/main/jest.setup.ts
但我不知道错误在哪里,也不知道如何克服它。
当我按照官方文档启动interstitial.load()时,发生此错误。
任何帮助都将不胜感激。

rsaldnfx

rsaldnfx1#

遇到了同样的问题。原来要使用的命令隐藏在他们的文档中,在构建步骤的最后没有任何解释。
https://docs.page/invertase/react-native-google-mobile-ads#setting-up-google-admob
使用react-native-google-mobile-ads,Expo Go将不再能够处理所有本机依赖项的链接。因此,您必须使用EAS来构建它。根据文档,您可以使用npx eas-cli build --profile development来构建开发。或者,要在本地安装而不是在EAS服务器上安装,将--local标志添加到该命令。请注意,如果在本地构建,您可能需要按照说明设置Android SDK路径,以在Expo build EAS - local - SDK location not found编辑您的eas.json
在为Android构建之后(我没有Mac,所以我不能说iOS上的开发),它会生成一个apk,你需要安装在你的设备上。我相信也有一种方法可以在模拟器上安装它。
一旦你打开这个应用程序,它会引导你使用expo start --dev-client启动一个开发服务器。这将运行一个类似于普通Expo Go的开发服务器。它会弹出一个二维码,你可以扫描它,它会带你进入你的应用程序。热加载也像预期的那样工作。这样做我的测试横幅广告显示没有任何错误。
here讨论了相同的解决方案。

相关问题