在Xamarin.Forms中嵌入Admob应使用哪个包?是否有最新实现指南?
适配Xamarin.Forms的AdMob集成包
你之前考虑的Xamarin.GooglePlayServices.Ads.Lite属于Android端专属的精简功能包,没有配套的Xamarin.Forms跨平台适配逻辑,不推荐跨平台项目使用。
目前官方维护的稳定适配包分端对应:
- Android端:
Xamarin.GooglePlayServices.Ads最新稳定版 - iOS端:
Xamarin.Google.MobileAds最新稳定版
如果不想自己封装跨平台渲染逻辑,也可以使用社区长期维护的Plugin.AdMobNuGet包,已经封装好了跨平台调用接口,直接在共享项目调用即可。
基础实现流程
- 第一步:NuGet安装对应包,原生端(Android/iOS)分别安装对应的原生AdMob包,若使用第三方封装包则共享项目和原生端都要安装对应版本
- 第二步:配置应用ID
- Android端:在AndroidManifest.xml的Application节点下添加元数据,name为
com.google.android.gms.ads.APPLICATION_ID,值填写你在AdMob后台注册的应用ID - iOS端:在Info.plist中添加
GADApplicationIdentifier键,值填写AdMob后台的应用ID
- Android端:在AndroidManifest.xml的Application节点下添加元数据,name为
- 第三步:初始化AdMob
- Android端在MainActivity的OnCreate方法中调用
MobileAds.Initialize(this)完成初始化 - iOS端在AppDelegate的FinishedLaunching方法中调用
MobileAds.SharedInstance.Start(null)完成初始化
- Android端在MainActivity的OnCreate方法中调用
- 第四步:广告渲染
横幅广告可通过自定义控件+Custom Renderer的方式,分别在Android端绑定AdView、iOS端绑定GADBannerView实现渲染;插屏、激励视频等非UI类广告可直接在对应原生端封装调用接口,通过依赖注入供共享项目调用。
注意:测试阶段必须使用AdMob官方提供的测试广告ID,不要直接使用正式ID测试,避免触发账户违规封禁
内容的提问来源于stack exchange,提问作者alexandr f
相关产品推荐
相关产品推荐

