Xcode 将 AdMob 插件添加到 Ionic 项目时出错

Xcode Error When Added AdMob Plugin To Ionic Project

我有一个 Ionic 3 项目及其 运行 通常在 Ionic DevApp 和 Xcode 上。但是当我添加 AdMob 插件时,它的 运行 通常是 Ionic DevApp 但它不是 运行 Xcode。我尝试了 Simulator 和 Real Device,但我都犯了一些错误。

有我的错误代码;

Terminating app due to uncaught exception
'GADInvalidInitializationException', reason: 
'The Google Mobile Ads SDK was initialized incorrectly. 
Google AdMob publishers should follow instructions here: 

https://googlemobileadssdk.page.link/admob-ios-update-plist 
to include the AppMeasurement framework, 
set the -ObjC linker flag, and set 
GADApplicationIdentifier with a valid App ID. 

Google Ad Manager publishers should follow 
instructions here: 
https://googlemobileadssdk.page.link/ad-manager-ios-update-plist

这个问题已经困扰两天了。问题似乎是 xcode 项目的 plist 文件没有正确设置 admob。所以不得不像这样手动添加它们:

打开 "ionic-project-root/platforms/ios/your-app-name/" 下的 your-app-name-Info.plist 文件并添加以下行:

<key>GADIsAdManagerApp</key>
<true/>
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-XXXXXXX~YYYYYYY</string>

作为 ca-app-pub-XXXXXXX~YYYYYYY,您在 admob 中的 ios 应用 ID。现在错误应该消失了。

有一个新程序,您需要为 info.plist 文件添加 GADIsAdManagerApp 键,布尔值为

对于带有 Admob 插件的 Ionic App(我只在 Ioniv V3 中试过),您可以在 ./config.xml 在平台 ios 下在每次构建时自动填充 app-name-info.plist 文件。

<platform name="ios">
   <config-file parent="GADApplicationIdentifier" target="*-Info.plist">
      <string>ca-app-pub-12345/12345</string>
   </config-file>

   <config-file parent="GADIsAdManagerApp" target="*-Info.plist">
      <true />
   </config-file>

   ... (other lines) ...

</platform>

运行 cordova prepare 重新生成文件(另外删除 ios 平台并使用:ionic cordova platform rm ios , ionic cordova platform add ios 重新安装)。