尝试放置 AdMob 后未找到 Xamarin.iOS Runtime.cs
Posted
技术标签:
【中文标题】尝试放置 AdMob 后未找到 Xamarin.iOS Runtime.cs【英文标题】:Xamarin.iOS Runtime.cs not found after try to put AdMob 【发布时间】:2021-06-23 14:57:45 【问题描述】:我尝试在我的 xamarin ios 项目中放置一些来自 AdMob 的横幅。我放松了这个步骤:
Xamarin Forms with Google Admob tutorial
我将 App.xaml.cs 文件中的 MainPage = new MainPage();
更改为 MainPage = new NavigationPage(new MainPage());
我在我的基础项目上创建了新文件夹Controls
,然后我用他的代码创建了新类AdMobControl.cs
:
使用系统;
using Xamarin.Forms;
using static WeatherLocationInfo.Controls.AdMobControl;
namespace WeatherLocationInfo.Controls
public class AdMobControl : View
public static readonly BindableProperty AdUnitIdProperty = BindableProperty.Create(
nameof(AdUnitId),
typeof(string),
typeof(AdMobControl),
string.Empty);
public string AdUnitId
get => (string)GetValue(AdUnitIdProperty);
set => SetValue(AdUnitIdProperty, value);
我在我的基础项目上创建新文件,并将其命名为 AppConstants.cs
,并使用以下代码:
使用系统;
using Xamarin.Forms;
namespace WeatherLocationInfo
public class AppConstants
public static string AppId
get
switch (Device.RuntimePlatform)
case Device.android:
return "";
default:
return "";
/// <summary>
/// These Ids are test Ids from https://developers.google.com/admob/android/test-ads
/// </summary>
/// <value>The banner identifier.</value>
public static string BannerId
get
switch (Device.RuntimePlatform)
case Device.iOS:
return "ca-app-pub-3940256099942544/6300978111";
default:
return "ca-app-pub-3940256099942544/6300978111";
/// <summary>
/// These Ids are test Ids from https://developers.google.com/admob/android/test-ads
/// </summary>
/// <value>The Interstitial Ad identifier.</value>
public static string InterstitialAdId
get
switch (Device.RuntimePlatform)
case Device.Android:
return "ca-app-pub-3940256099942544/1033173712";
default:
return "ca-app-pub-3940256099942544/1033173712";
public static bool ShowAds
get
_adCounter++;
if (_adCounter % 5 == 0)
return true;
return false;
private static int _adCounter;
在我的MainPage.xaml.cs
下我在InitializeComponent();
下添加了这段代码:
AdMobControl admobControl = new AdMobControl()
AdUnitId = AppConstants.BannerId
;
Label adLabel = new Label() Text = "Ads will be displayed here!" ;
内容 = 新 StackLayout() 孩子 = adLabel, admobControl ;
this.Title = "Admob Page";
我在我的 iOS 项目中添加来自 Nuget 的新包 -> Xamarin.Google.iOS.MobileAds
在我的AppDelegate.cs
中添加此代码 -> Google.MobileAds.MobileAds.Configure(AppConstants.AppId);
之后我尝试在调试模式下运行项目,但收到此错误:
Runtime.cs file not found
有没有办法解决这个问题?
P.S 很抱歉,部分代码不在撇号中,但是当我复制代码时,编辑器自己并没有把它放在撇号中
【问题讨论】:
【参考方案1】:您是否更新了 info.plist 文件?
<key>GADApplicationIdentifier</key>
<string>YOUR APP ID</string>
<key>GADIsAdManagerApp</key>
<true/>
【讨论】:
以上是关于尝试放置 AdMob 后未找到 Xamarin.iOS Runtime.cs的主要内容,如果未能解决你的问题,请参考以下文章