Android Facebook Native ads error: 1001 no fill on user device -
our application use facebook native ad via mediation platform mopub, , works good, should move platform.
i've replaced sdk platform, using same placementid , app_id , tested application developer. works in test mode real ads also, cannot ads on real devices.
i tried implement facebook native without mediation platforms(code in bottom), still have same result.
so issue not in partner platform,but cannot ads on real devices. facebook native throws error: 1001 no fill
it looks strange, because have:
- application has real users , shows ads in previous version.
- application in playmarket(but previous implementation) same package id, placementid , app_id.
- facebook has checked app.
- i can see requests new , previous version.
code , logs: androidmanifest: //...
//... <meta-data android:name="com.facebook.sdk.applicationid" android:value="@string/app_id" />
application build.gradle:
//... ext { supportlibraryversion = '25.3.1' playservicesversion = '11.0.1' fbversion = "4.25.0" } dependencies { compile project(':library') compile filetree(include: ['*.jar'], dir: 'libs') //... compile "com.facebook.android:audience-network-sdk:$fbversion" //... }
facebooknativeloader.java:
//... /** * initiate ad container native ad */ override public view createcontentview(context context) { log(" createcontentview"); layoutinflater inflater = (layoutinflater) context.getsystemservice(context.layout_inflater_service); return inflater.inflate(r.layout.facebook_ad_native_view, null); } @override public void loadad(final myviewmanager myviewmanager, final resultlistener resultlistener) { log(" loadad"); adnativelayout = myviewmanager.getcontentview(); // create ad request facebook ad placementid adnative = new nativead(myviewmanager.getcontext(), adplacementid); // adnative.setadlistener(new adlistener() { @override public void onerror(ad ad, aderror aderror) { log("facebooknative ad loading failed." + "error:" + native_load_error + " errorcode:" + aderror.geterrorcode() + " errormessage" + aderror.geterrormessage()); //call error hide ad layout resultlistener.onerror(native_load_error); } @override public void onadloaded(ad ad) { log("facebooknative ad loading completed"); //... // download icon native ad if (adnative.getadicon() != null) { string iconurl = adnative.getadicon().geturl(); if (iconurl != null && iconurl.length() > 0) nativead.downloadanddisplayimage(adnative.getadicon(), icon); } // download cover native ad if (adnative.getadcoverimage() != null) { string coverurl = adnative.getadcoverimage().geturl(); if (coverurl != null && coverurl.length() > 0) nativead.downloadanddisplayimage(adnative.getadcoverimage(), contentimage); } //show debug info log("adnative.getcalltoaction() - " + adnative.getadcalltoaction()); log("adnative.getbody() - " + adnative.getadbody()); log("adnative.getclickurl() - " + adnative.getadcalltoaction()); baselockscreenmanager.url = adnative.getadcalltoaction(); title.settext(adnative.getadtitle()); text.settext(adnative.getadsubtitle()); downloadbutton.settext(adnative.getadcalltoaction()); // add adchoices icon linearlayout adchoicescontainer = (linearlayout) adnativelayout.findviewbyid(r.id.ad_choices_container); adchoicesview adchoicesview = new adchoicesview(myviewmanager.getcontext(), adnative, true); adchoicescontainer.addview(adchoicesview); //call success show ads resultlistener.onsuccess(true); } @override public void onadclicked(ad ad) { //do } @override public void onloggingimpression(ad ad) { //do } }); //register ad container catch user interactions adnative.registerviewforinteraction(adnativelayout); // initiate request load ad. // loading ad started here... adnative.loadad(); }
in facebook documentation "error: 1001 no fill" means:
this common error seen while testing, , relates "no fill" response; common reason user not logged in facebook app when testing mobile app or not logged in facebook mobile website when testing mobile website.
error 1001 - no fill. may due 1 or more of following: - user not logged native facebook app on mobile device(but real device logged native facebook app)
- limit ad tracking turned on (ios)(but not relevant android app)
- opt out of interest-based ads turned on (android) (but i've turned value off)
- no ad inventory current user (what mean?)
- your testing device must have native facebook application installed.(but tested on real device real facebook account)
- your application should attempt make request after 30 seconds.(but i'have same result everytime)
logcat messages:
developer device:
facebookloader: i/----facebookloader: loadad i/----facebookloader: createcontentview i/----facebookloader: facebooknative ad loading completed i/----facebookloader: adnative.getcalltoaction() - learn more i/----facebookloader: adnative.getbody() - latoken aims tokenize assets worth $1.2 trillion 2025. i/----facebookloader: adnative.getclickurl() - learn more
user device:
facebookloader: i/----facebookloader: loadad i/----facebookloader: createcontentview i/----facebookloader: facebooknative ad loading failed.error:669 errorcode:1001 errormessage: no fill
what can issue of it? has same issue?
i'm afraid make release without ability sure user can see ads, because main idea of our application advertisement.
Comments
Post a Comment