尝试放置 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的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 视网膜和非视网膜的屏幕底部放置 admob 横幅

Proguard 后未显示插页式广告

导航后未放置ViewModel实例

添加我自己的框架后未找到框架错误

长时间 AJAX 请求后未找到 404

无法识别启动活动:升级到 Android Studio 4.0 后未找到默认活动