如何将react-native-google-mobile-ads与Expo结合使用?

Don*_*al0 5 react-native expo

我有一个运行良好的 Expo 应用程序。现在,我想在将其发布到 Play 商店之前添加一些广告,以便赚点钱。Expo 说他们的内部广告包已被弃用,我必须使用react-native-google-mobile-ads.

因为react-native-google-mobile-ads是本机包,这意味着我需要执行特殊任务,并且不太清楚如何从这里继续。

据我了解,我需要:

  • 安装expo-dev-client并react-native-google-mobile-ads

  • 添加react-native-google-mobile-ads在 app.json 的expo plugin

"expo": { "plugins": ["react-native-google-mobile-ads"]}
Run Code Online (Sandbox Code Playgroud)

  • 添加我的 adMob api 密钥app.json

"react-native-google-mobile-ads": {
"android_app_id": "ca-app-pub-xxxxxxxx~xxxxxxxx",
"ios_app_id": "ca-app-pub-xxxxxxxx~xxxxxxxx"
  }
Run Code Online (Sandbox Code Playgroud)

  • 在我的终端上创建一个帐户https://expo.dev并运行eas login

  • 然后run eas build --profile development --platform android生成一个构建

  • 由于 expo-go 由于本机软件包而不再工作,我将无法在真正的手机上运行该应用程序。我必须通过运行expo start --dev-client并按在 Android 模拟器上a打开应用程序来完成 Android 模拟器上的开发。

  • 然后添加代码以显示广告。

  • 完成后,运行eas build --platform android以创建构建

  • 按照漫长的流程将我的第一个版本上传到 Play 管理中心

  • 将其发布为测试版应用程序,将链接发送至 adMob 审核。

  • 一旦 adMob 表示一切正常,我就可以在 PlayStore 上永久发布该应用程序。

这不是一个顺利的过程……我不知道为什么世博会决定取消这样一个常见的套餐!有人可以向我确认这是正确的过程吗?或者也许有一个更简单的方法,使用不同的库?

Don*_*al0 5

我找到了解决方案。以下是要采取的步骤:

  • yarn add react-native-google-mobile-ads
  • 添加您的 adMob 凭据app.json(在 expo 对象之外)
  • 订阅世博会的 EAS。
  • 在您的终端中运行eas login并输入您的凭据
  • 通过运行确保您已正确登录eas whoami
  • 确保您已安装 Android studio 和 SDK 31
  • 确保您安装了 Java 11 Zulu
  • 运行博览会安装expo-dev-client
  • 如果你想为 ios 构建,请运行eas device:create. 否则,转到下一行。
  • run eas build --platform android --profile development --local(您可以替换android为ios或仅运行不带标志的命令--platform。我添加--local是因为云构建因未知原因而无法工作)。这将在您的机器上创建一个版本。
  • 将构建(.apk适用于 Android)直接拖放到模拟器上。这将安装它。
  • 跑步expo start --dev-client
  • 您的应用程序现在正在您的手机上运行。恭喜。快速刷新已启用,您可能会玩得很开心。
  • 一旦您对编码感到满意,请再次开始构建。