广告 SDK 在没有应用程序 ID 的情况下初始化
Posted
技术标签:
【中文标题】广告 SDK 在没有应用程序 ID 的情况下初始化【英文标题】:Ads SDK was initialized without an application ID 【发布时间】:2020-02-12 19:08:43 【问题描述】:由于未捕获的异常“GADInvalidInitializationException”而终止应用程序,原因:“Google 移动广告 SDK 在没有应用程序 ID 的情况下进行了初始化。 Google AdMob 发布商,请按照此处的说明:https://googlemobileadssdk.page.link/admob-ios-update-plist 使用有效的 App ID 设置 GADApplicationIdentifier。 Google Ad Manager 发布商,请按照此处的说明进行操作:https://googlemobileadssdk.page.link/ad-manager-ios-update-plist
【问题讨论】:
【参考方案1】:您可以通过将上面链接的文档中的键值对添加到您的 Info.plist 文件来解决此问题。
打开您的 info.plist 文件并输入该行:
key = GADIsAdManagerApp
值 = 真
【讨论】:
这确实有效!我已经有了 GADApplicationIdentifier,但仍然有问题,添加 GADIsAdManagerApp 有效! 这不是解决这个问题的正确方法。 为我工作。谢谢! 也为我工作。所以,如果“这不是解决这个问题的正确方法”,请赐教。【参考方案2】:更新,见官方链接:https://firebase.google.com/docs/admob/ios/quick-start#add-app-id-to-info-plist
您应该将以下对(键、值)添加到您的 Info.plist 文件中:
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string><!-- add your AdMob app ID-->
我希望这会有所帮助。
【讨论】:
【参考方案3】:在 iOS 上不要忘记这些steps。这为我解决了问题。
“从 Google 移动广告 SDK 版本 7.42.0 开始,此步骤是必需的。”
【讨论】:
【参考方案4】:因此,就我而言,我有 2 个目标,1 个专业应用程序和另一个免费应用程序。我在左侧面板下的 Info.plist 文件中添加了 GADthingamabob 键。原来这个只更新 Pro 应用程序信息 plist。您需要做的是选择 Lite 目标,然后转到信息面板并在那里添加 GADthingamabob,然后它不再崩溃。我什至不需要添加 GADIsAdManagerApp 东西。
【讨论】:
同样的问题,谢谢! 我已将 info.plist 文件移动到新位置,并且没有更新构建设置下的地址,因此应用无法找到该文件以访问 info.plist 数据【参考方案5】:请确保在 Info.plist 中添加实际的 admob 应用 ID,而不是广告 ID。如果在 Info.plist 中使用广告 id 作为应用 id,SDK 会崩溃。
【讨论】:
这是我犯的错误 - 谢谢!【参考方案6】:就我而言,我拼错了 -ObjC。检查大写字母和连字符,以及你写它的位置。你应该把它写在:Other Linker Flags在你的项目的构建设置中
【讨论】:
这个技巧拯救了我的一天——我的头到处挠,不知道该放在哪里。感谢发帖【参考方案7】:从 Google 移动广告 SDK 版本 7.42.0 开始需要执行此步骤。未能添加添加此 Info.plist 条目会导致崩溃并显示消息:Google 移动广告 SDK 初始化错误。
在您应用的 Info.plist
文件中,添加一个 GADApplicationIdentifier
键,其中包含您的 AdMob 应用 ID 的字符串值
GADApplicationIdentifier
键,其中包含您的 AdMob 应用 ID (identified in the AdMob UI) 的字符串值。
具有 Google 的 SKAdNetworkIdentifier
值为 cstr6suwn9.skadnetwork
的 SKAdNetworkItems
键。
您可以通过编程方式进行此更改:
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cstr6suwn9.skadnetwork</string>
</dict>
</array>
或者,在属性列表编辑器中编辑它:
要点:在实际应用中,请务必使用您的实际 AdMob 应用 ID,而不是上面列出的 ID。不过,如果您只是想在 Hello World 应用中试验 SDK,则可以使用上面显示的示例应用 ID。
【讨论】:
【参考方案8】:正如谷歌在“手动下载”标签下的guide 中提到的那样:
您必须执行以下操作:
转到您的项目 XCode >Targets > Build settings > Other linker flags 并添加“-ObjC”,如指南所示:
想来大家都在尝试使用 CocoaPods 使用 Admob,倾向于跳转手动下载选项卡,但问题是“Other Linked Flags”相关的部分在最后一个,所以它必须是分开以使其作为完成指南的“待办事项”步骤可见。
享受;
【讨论】:
【参考方案9】:这样你就可以使用了。它适用于 Google Mobile Ads SDK 8.1.0:
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxYOUR_IDxxxxx</string>
<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cstr6suwn9.skadnetwork</string>
</dict>
</array>
<key>GADIsAdManagerApp</key>
<true/>
添加的所有广告网络:(https://developers.google.com/admob/ios/ios14)
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-xxxxYOUR_IDxxxxx</string>
<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>cstr6suwn9.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4fzdc2evr5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>2fnua5tdw4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ydx93a7ass.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>5a6flpkh64.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>p78axxw29g.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>v72qych5uu.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>c6k4g5qg8m.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>s39g8k73mm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3qy4746246.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3sh42y64q3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>f38h382jlk.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>hs6bdukanm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>prcb7njmu6.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>wzmmz9fp6w.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>yclnxrl5pm.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>4468km3ulz.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>t38b2kh725.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>7ug5zh24hu.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9rd848q2bz.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>n6fk4nfna4.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>kbd757ywx3.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>9t245vhmpl.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>2u9pt9hc89.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>8s468mfl3y.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>av6w8kgt66.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>klf5c3l5u5.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>ppxm28t8ap.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>424m5254lk.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>uw77j35x4d.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>e5fvkxwrpn.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>zq492l623r.skadnetwork</string>
</dict>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>3qcr597p9d.skadnetwork</string>
</dict>
</array>
<key>GADIsAdManagerApp</key>
<true/>
【讨论】:
【参考方案10】:在 info.plist 上始终使用您的实际项目 id.(ca-app-pub-xxxxYOUR_IDxxxxxx)
如果你正在调试,那么在实例化的时候 GADBannerView,使用假人 adUnitID("ca-app-pub-3940256099942544/2934735716")
make sure you replace this dummy adUnitID by your actual project id.
更多详细信息,请访问:-google admob documentation
【讨论】:
以上是关于广告 SDK 在没有应用程序 ID 的情况下初始化的主要内容,如果未能解决你的问题,请参考以下文章
iOS - 如何在没有第三方网络的情况下添加自己的广告(哪个 SDK?)?
使用 Facebook iOS SDK 发布安装 -> 找不到有效的归因 ID 或广告商 ID
如何在没有 SDK 或自定义应用程序 ID 的情况下创建 Facebook 分享按钮?