admob-inline-ads-in-flutter
admob-inline-ads-in-flutter copied to clipboard
Incorrect Dart setup for `NativeAd`
For the instructions under:
https://codelabs.developers.google.com/codelabs/admob-inline-ads-in-flutter#7
(Integrate the native ad with Flutter widgets, step 3)
_ad is assigned before being subsequently assigned in the onAdLoaded handler. This is not how the BannerAd is set up, nor how the complete version of same is set up. This also throws an error on Android (from logcat):
E h0 : This ad may have not been loaded or has been disposed. Ad with the following id could not be found: 6.
E MethodChannel#flutter/platform_views: Failed to handle method call
E MethodChannel#flutter/platform_views: java.lang.NullPointerException: Attempt to write to field 'int android.view.ViewGroup$LayoutParams.width' on a null object reference in method 'void io.flutter.plugin.platform.o$a.g(io.flutter.embedding.engine.j.k$e, io.flutter.embedding.engine.j.k$b)'
E MethodChannel#flutter/platform_views: at io.flutter.plugin.platform.o$a.g(Unknown Source:119)
E MethodChannel#flutter/platform_views: at io.flutter.embedding.engine.j.k$a.f(Unknown Source:59)
E MethodChannel#flutter/platform_views: at io.flutter.embedding.engine.j.k$a.j(Unknown Source:167)
E MethodChannel#flutter/platform_views: at g.a.c.a.j$a.a(Unknown Source:17)
E MethodChannel#flutter/platform_views: at io.flutter.embedding.engine.f.c.i(Unknown Source:18)
E MethodChannel#flutter/platform_views: at io.flutter.embedding.engine.f.c.j(Unknown Source:20)
E MethodChannel#flutter/platform_views: at io.flutter.embedding.engine.f.c.k(Unknown Source:0)
E MethodChannel#flutter/platform_views: at io.flutter.embedding.engine.f.a.run(Unknown Source:12)
E MethodChannel#flutter/platform_views: at android.os.Handler.handleCallback(Handler.java:938)
E MethodChannel#flutter/platform_views: at android.os.Handler.dispatchMessage(Handler.java:99)
E MethodChannel#flutter/platform_views: at android.os.Looper.loopOnce(Looper.java:201)
E MethodChannel#flutter/platform_views: at android.os.Looper.loop(Looper.java:288)
E MethodChannel#flutter/platform_views: at android.app.ActivityThread.main(ActivityThread.java:7842)
E MethodChannel#flutter/platform_views: at java.lang.reflect.Method.invoke(Native Method)
E MethodChannel#flutter/platform_views: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E MethodChannel#flutter/platform_views: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
E flutter : [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(error, Attempt to write to field 'int android.view.ViewGroup$LayoutParams.width' on a null object reference in method 'void io.flutter.plugin.platform.o$a.g(io.flutter.embedding.engine.j.k$e, io.flutter.embedding.engine.j.k$b)', null, java.lang.NullPointerException: Attempt to write to field 'int android.view.ViewGroup$LayoutParams.width' on a null object reference in method 'void io.flutter.plugin.platform.o$a.g(io.flutter.embedding.engine.j.k$e, io.flutter.embedding.engine.j.k$b)'
E flutter : at io.flutter.plugin.platform.o$a.g(Unknown Source:119)
E flutter : at io.flutter.embedding.engine.j.k$a.f(Unknown Source:59)
E flutter : at io.flutter.embedding.engine.j.k$a.j(Unknown Source:167)
E flutter : at g.a.c.a.j$a.a(Unknown Source:17)
E flutter : at io.flutter.embedding.engine.f.c.i(Unknown Source:18)
E flutter : at io.flutter.embedding.engine.f.c.j(Unknown Source:20)
E flutter : at io.flutter.embedding.engine.f.c.k(Unknown Source:0)
E flutter : at io.flutter.embedding.engine.f.a.run(Unknown Source:12)
E flutter : at android.os.Handler.handleCallback(Handler.java:938)
E flutter : at android.os.Handler.dispatchMessage(Handler.java:99)
E flutter : at android.os.Looper.loopOnce(Looper.java:201)
E flutter : at android.os.Looper.loop(Looper.java:288)
E flutter : at android.app.ActivityThread.main(ActivityThread.java:7842)
E flutter : at java.lang.reflect.Method.invoke(Native Method)
E flutter : at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E flutter : at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
E flutter : )
E flutter : #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:653)
E flutter : #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:296)
E flutter : <asynchronous suspension>
E flutter : #2 MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:499)
E flutter : <asynchronous suspension>
E flutter : #3 TextureAndroidViewController._sendResizeMessage (package:flutter/src/services/platform_views.dart:1084)
E flutter : <asynchronous suspension>
E flutter : #4 RenderAndroidView._sizePlatformView (package:flutter/src/rendering/platform_view.dart:182)
E flutter : <asynchronous suspension>
E flutter :
and the ad isn't shown.
Under iOS, this doesn't cause an error, but it does cause the ad to not be shown.