sakebook / flutter_native_ads

Show AdMob Native Ads use PlatformView
https://pub.dev/packages/native_ads
Apache License 2.0
66 stars 32 forks source link

Can't load ad from Mac in android device if adding google service 4.2.0 in android build gradle #19

Closed NavneetSi closed 5 years ago

NavneetSi commented 5 years ago

if I comment google-service:4.2.0 from android Gradle then its load success but if I uncomment then it's not loaded in Mac only, For windows also it's working fine

Screenshot 2019-09-10 at 6 27 25 PM Screenshot 2019-09-10 at 6 27 39 PM

but I need google service:4.2.0 at android level

Screenshot 2019-09-10 at 5 58 51 PM Screenshot 2019-09-10 at 5 58 58 PM

sakebook commented 5 years ago

native_ads do not dependency Firebase. I use standalone AdMob SDK https://developers.google.com/admob/android/quick-start

What was the error code for ad load failure? I think it is one of 0-3. https://developers.google.com/android/reference/com/google/android/gms/ads/AdRequest

NavneetSi commented 5 years ago

it's not loading and due to this not getting any error AND showing only empty view I will try to solve it

sakebook commented 5 years ago

You should use event tracking onAdFailedToLoad https://github.com/sakebook/flutter_native_ads#event-callback

Like this example https://github.com/sakebook/flutter_native_ads/blob/master/example/lib/native_ad_view_wrapper.dart#L37

wesleyguirra commented 5 years ago

Same here, but I dont have google-service dependency

E/MethodChannel#flutter/platform_views(10674): Failed to handle method call
E/MethodChannel#flutter/platform_views(10674): android.content.res.Resources$NotFoundException: Resource ID #0x0
E/MethodChannel#flutter/platform_views(10674):  at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:216)
E/MethodChannel#flutter/platform_views(10674):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2155)
E/MethodChannel#flutter/platform_views(10674):  at android.content.res.Resources.getLayout(Resources.java:1155)
E/MethodChannel#flutter/platform_views(10674):  at android.view.LayoutInflater.inflate(LayoutInflater.java:421)
E/MethodChannel#flutter/platform_views(10674):  at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
E/MethodChannel#flutter/platform_views(10674):  at android.view.View.inflate(View.java:24354)
E/MethodChannel#flutter/platform_views(10674):  at sakebook.github.com.native_ads.UnifiedAdLayout.<init>(UnifiedAdLayout.kt:21)
E/MethodChannel#flutter/platform_views(10674):  at sakebook.github.com.native_ads.UnifiedAdLayoutFactory.create(UnifiedAdLayoutFactory.kt:11)
E/MethodChannel#flutter/platform_views(10674):  at io.flutter.plugin.platform.SingleViewPresentation.onCreate(SingleViewPresentation.java:154)
E/MethodChannel#flutter/platform_views(10674):  at android.app.Dialog.dispatchOnCreate(Dialog.java:407)
E/MethodChannel#flutter/platform_views(10674):  at android.app.Dialog.show(Dialog.java:302)
E/MethodChannel#flutter/platform_views(10674):  at android.app.Presentation.show(Presentation.java:249)
E/MethodChannel#flutter/platform_views(10674):  at io.flutter.plugin.platform.VirtualDisplayController.<init>(VirtualDisplayController.java:92)
E/MethodChannel#flutter/platform_views(10674):  at io.flutter.plugin.platform.VirtualDisplayController.create(VirtualDisplayController.java:52)
E/MethodChannel#flutter/platform_views(10674):  at io.flutter.plugin.platform.PlatformViewsController$1.createPlatformView(PlatformViewsController.java:97)
E/MethodChannel#flutter/platform_views(10674):  at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:87)
E/MethodChannel#flutter/platform_views(10674):  at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:51)
E/MethodChannel#flutter/platform_views(10674):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:222)
E/MethodChannel#flutter/platform_views(10674):  at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:96)
E/MethodChannel#flutter/platform_views(10674):  at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:643)
E/MethodChannel#flutter/platform_views(10674):  at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#flutter/platform_views(10674):  at android.os.MessageQueue.next(MessageQueue.java:326)
E/MethodChannel#flutter/platform_views(10674):  at android.os.Looper.loop(Looper.java:160)
E/MethodChannel#flutter/platform_views(10674):  at android.app.ActivityThread.main(ActivityThread.java:6669)
E/MethodChannel#flutter/platform_views(10674):  at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#flutter/platform_views(10674):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/MethodChannel#flutter/platform_views(10674):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
D/        (10674): HostConnection::get() New Host Connection established 0xcc9ffc80, tid 10689
E/flutter (10674): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(error, Resource ID #0x0, null)
E/flutter (10674): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:564:7)
E/flutter (10674): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:316:33)
E/flutter (10674): <asynchronous suspension>
E/flutter (10674): #2      AndroidViewController._create (package:flutter/src/services/platform_views.dart:639:54)
E/flutter (10674): <asynchronous suspension>
E/flutter (10674): #3      AndroidViewController.setSize (package:flutter/src/services/platform_views.dart:556:14)
E/flutter (10674): <asynchronous suspension>
E/flutter (10674): #4      RenderAndroidView._sizePlatformView (package:flutter/src/rendering/platform_view.dart:189:29)
E/flutter (10674): <asynchronous suspension>
E/flutter (10674): #5      RenderAndroidView.performResize (package:flutter/src/rendering/platform_view.dart:170:5)
E/flutter (10674): #6      RenderObject.layout (package:flutter/src/rendering/object.dart:1604:9)
E/flutter (10674): #7      RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:259:13)
E/flutter (10674): #8      RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #9      RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:206:11)
E/flutter (10674): #10     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #11     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:743:15)
E/flutter (10674): #12     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #13     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter (10674): #14     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #15     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter (10674): #16     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #17     RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:165:27)
E/flutter (10674): #18     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #19     RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:181:11)
E/flutter (10674): #20     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #21     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:406:13)
E/flutter (10674): #22     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1334:12)
E/flutter (10674): #23     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1252:20)
E/flutter (10674): #24     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #25     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter (10674): #26     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #27     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter (10674): #28     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #29     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter (10674): #30     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #31     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter (10674): #32     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #33     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter (10674): #34     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #35     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:105:13)
E/flutter (10674): #36     RenderObject.layout (package:flutter/src/rendering/object.dart:1619:7)
E/flutter (10674): #37     _RenderProxyBox&RenderBox&RenderObjectWithChildMixin&RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/
sakebook commented 5 years ago

Probably the layoutName or packageName is specified incorrectly.

You should use your app packageName and your created layout file.

For example

So packageName is sakebook.github.com.native_ads_example

So layoutName is native_ad_layout

Replace if necessary and pass to AndroidParam.