ShouldDelayBannerRenderingListenerImplementor Error after Xamarin AdMob SDK 118.1.1 update

↘锁芯ラ 提交于 2020-05-17 06:23:48

问题


After a long wait for Admob SDK Update on Xamarin to implement Adaptive Banners and new Native Ads ,after upgrade to new Nuget package Sdk 118.1.1preview ,Visual Studio open a .Java File and mention the following error :

error: ShouldDelayBannerRenderingListenerImplementor is not abstract and does not override abstract method zzb(Runnable) in ShouldDelayBannerRenderingListener.


回答1:


To take advantage of the new xamarin admob sdk (118.1.1 preview) , and overcome the JAVA error : error: ShouldDelayBannerRenderingListenerImplementor is not abstract and does not override abstract method zzb(Runnable) in ShouldDelayBannerRenderingListener.

just put the following code on the java file poped-up and build solution :

 @Override
     public boolean zzb(Runnable runnable) {
         return false;
     }

or let this c# code (FileWatcher)keep running :

static void Main(string[] args)
{

 var Javacode = File.ReadAllText(@"MyJavaFile.java");
        while (true)
        {
            try
            {
                var JavaFilePah = @"C:\Project\Android\apps\AppName\obj\Debug\100\android\src\mono\com\google\android\gms\ads\formats\ShouldDelayBannerRenderingListenerImplementor.java";

                DateTime LastFileChang = File.GetLastWriteTime(JavaFilePah);

                if (LastFileChang != LastFileChangesave)
                {
                    if (File.Exists(JavaFilePah) && File.ReadAllText(JavaFilePah).Contains("zzb") == false)
                    {
                        File.WriteAllText(JavaFilePah, Javacode);
                        Console.WriteLine("ok");
                    }
                    LastFileChangesave = LastFileChang;
                }


                Thread.Sleep(10);
            }
            catch (Exception e)
            {

            }
        }
}

change JavaFilePah with path of ur android app. MyJavaFile content is :

package mono.com.google.android.gms.ads.formats;


public class ShouldDelayBannerRenderingListenerImplementor
    extends java.lang.Object
    implements
        mono.android.IGCUserPeer,
        com.google.android.gms.ads.formats.ShouldDelayBannerRenderingListener
{
/** @hide */
    public static final String __md_methods;
    static {
        __md_methods = 
            "";
        mono.android.Runtime.register ("Android.Gms.Ads.Formats.IShouldDelayBannerRenderingListenerImplementor, Xamarin.GooglePlayServices.Ads.Lite", ShouldDelayBannerRenderingListenerImplementor.class, __md_methods);
    }


    public ShouldDelayBannerRenderingListenerImplementor ()
    {
        super ();
        if (getClass () == ShouldDelayBannerRenderingListenerImplementor.class)
            mono.android.TypeManager.Activate ("Android.Gms.Ads.Formats.IShouldDelayBannerRenderingListenerImplementor, Xamarin.GooglePlayServices.Ads.Lite", "", this, new java.lang.Object[] {  });
    }

    private java.util.ArrayList refList;
    public void monodroidAddReference (java.lang.Object obj)
    {
        if (refList == null)
            refList = new java.util.ArrayList ();
        refList.add (obj);
    }

    public void monodroidClearReferences ()
    {
        if (refList != null)
            refList.clear ();
    }
     @Override
     public boolean zzb(Runnable runnable) {
         return false;
     }
}


来源:https://stackoverflow.com/questions/61604669/shoulddelaybannerrenderinglistenerimplementor-error-after-xamarin-admob-sdk-118

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!