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

Popular posts from this blog

angular - Ionic slides - dynamically add slides before and after -

minify - Minimizing css files -

Add a dynamic header in angular 2 http provider -