The problem
A client wants to use AdMob to print his own in-house ads in his own application. He wants to monetize the app through his own sponsors, hence he creates the necessary ads himself and shows them on the app in native ads.
At first we tried to implement our own advertisement system but the app was rejected by Google.
So my former manager (before being fired for incompetence) sold to the client an AdMob account and training (?) by Google (whatever that means). I had to take over recently after having implemented the native ad into the application.
The actual setup
In AdMob I have created the following campaign:
with the following goal (manual eCPM):
I have the following Mediation group created:
with the following settings:
State of things
Still all I see are ads from the AdMob Network. I can't publish the app on a large scale yet because of the missing in-house ads.
What am I doing wrong? I've seen unfortunately few tutorials on the subject and over all they contradictory on the eCPM values.
Thank you in advance!
Our app utilizes Facebook Audience Network ads on Android. It's published on the Google play store for some time now.
Due to circumstances beyond our control, it seems that we'll have to change the app's package name and re-list it on the Google play store as a new app.
We aim to keep the current app id on Facebook to maintain user's identities, users' permission approval, login, server integration, ad manager accounts and also ad placement data.
Is this possible? How should we prepare for this?
Well. It was easier than expected but we did stumble upon an interesting GOTCHA.
Keeping the Facebook app id
Once we've changed the package name and re-published the app, all we had to do was to go to the developer portal, and on the Settings tab, under Android, enter the new package name.
Keeping the Audience Network ads running
All was fine and dandy, then a week after the switch we've stopped receiving ads from Audience Network. It seems that Audience Network maintains a seperate list of apps and package names.
So back to the developer dashboard. This time, under the Audience Network tab, in Apps, we've had to add our new app. Once approved everything was fine again.
We found 1 error. Insufficient Installation History: Your account does not have enough install history to start using billing event for mobile app install ads. Please visit https://developers.facebook.com/docs/reference/ads-api/cost-per-action-ads/ to learn more.
I got above error in facebook advert page. I am new on this please help me.
Thnxx
When your account/app is new, it is usually not allowed to use CPA bidding (optimization goal and billing event set to APP_INSTALLS). You'll need to use impressions or clicks based bidding first and get a few installs that way. Then you can switch to CPA.
There is no official info about the amount of installs, but when you get over 1000, it's usually enough. The number is also tied to account where the ads are created, so you may be allowed to promote your app for installs on one account, while another account is not allowed to do that for the same app yet.
Facebook has a tool called App Ads Helper, where you can check what types of bidding are available for your app and account.
Here's the relevant part from FB docs at the url mentioned in your error message
You will not be able to buy CPA for mobile app installs unless you have already reported back some installs and your account id-app id-mobile store trio has been deemed non-fraudulent. In the meantime, your ad creation call will fail.
Facebook AudienceNetwork loaded failure: No fill, Error Message "No fill", what is the reason about FaceBook android Advertise? And facebook ad offten shows me load frequency, the frenquent has limits?
You need to add a test device. Go to logcat and type Facebook and you will see a message like this, which is also the solution:
When testing your app with Facebook's ad units you must specify the
device hashed ID to ensure the delivery of test ads, add the following
code before loading an ad:
AdSettings.addTestDevice("328404cebf50ec1fdb05795c0007a8a7");
So add this to your onCreate method:
AdSettings.addTestDevice("328404cebf50ec1fdb05795c0007a8a7");
(Don't forget to use your own hash id.)
This means we are not able to serve ads to this person. This could occur because:
The person testing has not logged into the native Facebook app on their mobile device
The person testing has enabled "Limit Ad Tracking" (iOS only) or has selected "Opt out of interest-based ads" (Android only) in their device settings.
We don't have ad inventory to show for that person
Note that if you can see test ads, your implementation works correctly and people will be able to see ads in your app once it's live.
you can get more clarification here
Filling in payout details fixed this for me.
If you want to display real Ads, you have to fill in your payout details.
I have same problem in my application but this helps me
Ref: Step 4: Check for Error Codes of Production Ads Requests
Facebook Error : No fill
1001 - No Fill
This is a common error seen while testing, and relates to a "No Fill" response; the most common reason for this is the user is not logged in to the Facebook App when testing your mobile app or not logged in to the Facebook mobile website when testing your mobile website.
Error 1001 - No Fill. May be due to one or more of the following:
User not logged into Native Facebook App on Mobile Device
Limit Ad Tracking turned on (iOS)
Opt out of interest-based ads turned on (Android)
No Ad Inventory for current user
Your testing device must have the native Facebook application
installed.
Your application should attempt to make another request after 30 seconds.
And Sometimes According to me
If your ad account newly created then wait some time like 1 hour or more
after some time you will get some better response
I know its late answer but this may helps other people who new in android and Using Facebook Ads
If you see
When testing your app with Facebook's ad units you must specify the
device hashed ID to ensure the delivery of test ads, add the following
code before loading an ad:
AdSettings.addTestDevice("328404cebf50ec1fdb05795c0007a8a7");
This may happen because of this:
FacebookSdk.setIsDebugEnabled(true);
Make sure, Your Device have Facebook app installed and logged in. And also make sure, the developer account that created Ads and the Facebook user logged in the device are same. If not read
https://developers.facebook.com/docs/audience-network/testing/
try to this sdk verison.
implementation 'com.facebook.android:audience-network-sdk:5.1.0'
I got the same problem and it's resolved, Please follow the below steps for the live ads issue:
Check the SDK version and use the latest one
Check and confirm live SDK key
Upload your application in store
Enable live mode in Facebook ads console
Fill proper details in testing test
The above steps are upto date, then after the test the application after 48 hours of the time of app publishing.
I wasted more than one month to resolve the No Fill error.
(Only relevant if you're in the Europe?)
On your phone, go to the Facebook app
Go to Settings & Privacy
Permissions > Cookies
Enable "Our cookies on other apps and websites"
On my end, as soon as this is turned off, Audience Network fails to fill any ads.
To request a test ad, you have to use the following test ad type string to concatenate the placement ID with '#'
Example
InterstitialAd(context,"VID_HD_16_9_46S_APP_INSTALL#YOUR_PLACEMENT_ID")
For getting more information about available test ads visit https://developers.facebook.com/docs/audience-network/setting-up/test/test-device
Add this line for display test ad
AdSettings.setTestMode(BuildConfig.DEBUG);
I am trying to display Banner Ads in any of my android Apps the last couple of weeks.
I do get the Test-Banner if I add my device as testdevice.
I do get Interstitial Ads
But I do not get any Banner.
Logcat gives me "I/Facebook Errorīš frequent load" on any of my devices (5 tested), also tested deifferent advertiser ids from facebook.
Does anybody else have this issues?
EDIT:
After installing the facebook app on any of these test devices I do get Banner Ads delivered.
Why do they only deliver ads to users with the facebook ad installed?
The Audience Network requires the fb app to be installed on the device to delivery ads as described here: https://developers.facebook.com/docs/audience-network/faq#a12. There's also a minimum time interval in between ad requests made from the same placement. If you make a new request within that interval, you'll see the frequent load error. Hope this helps!