I am using Admob SDK to load banner ads from DFP on Android.
I am using the XML method as defined in this page to load up the ads: https://developers.google.com/mobile-ads-sdk/docs/dfp/fundamentals
When I run the apps, I get
06-21 16:44:30.354: I/Ads(2641): onFailedToReceiveAd(Invalid Ad request.)
When I change to testing mode by
adRequest.addTestDevice("xxx");
Then I can see the Google Test banner successfully. So assume my SDK integration is correct, what the heck if the "Invalid Ad request"?
Your ad unit is most likely invalid. You need to get access to the DFP account you are using and make sure that the network ID, ad unit name and dimensions are correct. There could be no matching ads or anything could be going on really... but like you say the test ad works so it is most probably something setup wrong within DFP.
I usually work with DFP on websites so things may be slightly different with the Admob SDK but if it is any help I have this little tool I use to test my DFP ad delivery:
http://coop182.github.io/jquery.dfp.js/dfptests/test.html?google_console=1&networkID=15572793&adunitID=Leader&dimensions=728x90
you can also press CTRL+F10 to bring up the DFP web console and get some more information on the delivery of the ad... but like I said this might not be that much help because it is an Admob ad... but worth a shot!
Form another thread here :
You don't need to have an app already on the market to get a Publisher ID for a new app. In the Android Package URL field that's on the "Add Site/App" form, just enter "market://details?id=your.package.name". You'll of course want to replace the 'your.package.name' with your app's actual package name.
The viewWidth warnings are fine and you will likely still see them after inserting your Publisher ID.
EDIT: There's a nice suggestion here too.
Related
I just finished my first app, and plan to earn money by admob ads. When I monetise a new app on admob, it want me to search my app in app markets. Does it mean that I should publish my app before put ads in it?
If so, what should I do after getting the admob ad unit id? Copy it into my code and republish a new version of my app which contains the real ads (not the test one)? It sounds stupid to build and publish a new version of app only to put some ads in it.
You should create the Ad Units on AdMob, and then, you only add the next line when you do the requests in your code:
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("XXXXX")
Where "XXXXX" is a the code associated to that specific device, that you obtain in the Logcat. You can add as many devices as you want to test. It is not necessary to remove the lines when compiling or when releasing for Google Play.
You should compile your first release with the ad code ready to go. (That's what I always do).
You use the test script so that you get dummy ads, that their clients don't get charged for, when you're testing. Then you simply swap out that line for the REAL ad serving code when you're ready to release.
You're not going to get in any trouble if you test with the actual admob code as long as you dont:
1. Click an ad. Ever.
2. Test it a gazillion times. Use the test ad for that.
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 successfully using DFP for my website, and the ads I don't manage to sell directly are back-filled with AdSense. This works great.
Now I have developed an Android app containing a new ad-unit. I want to offer this new ad-unit (320x50) via DFP, so I created a new 320x50 ad unit in DFP. I "generated tags" to get the correct AdUnitID for my Android ad, and I can indeed see the house ads I created to fill 10% of the inventory in the app. So the app is connected to DFP, right?
The problem is, AdSense ads are never served and I see the message "No fill from ad server." in ADB. But I am confused, because the DFP ad-unit is configured to display AdSense.
Does anyone know why this is? I have waited a couple of days for all the DFP changes to propagate, but still nothing. I have checked all over Stackoverflow and Google, and I'm slowly pulling my hair out.
For anyone else out there with the same problem, I found a solution. For some crazy reason, DFP ad-units are not automatically backfilled with AdSense, even though both products are from Google. This is by design(!).
The workaround is to create an AdMob ad, and create a new DFP line item with a single creative of type "AdMob" linked to your AdMob ad. So then DFP will refuse to serve AdSense, but instead will serve AdMob which serves AdSense for you anyway.
I have followed all integration guide at flurry.com for android, but I'm not receiving any ad. FlurryAgent.getAd allways returns false. And verbose output states -> "Ad request succesful but server delivered no ad units". Documentation states that the only thing to do to start receiving ads is just do the basic setup (Create app and configure ad space for this app), but, I'm starting to wonder if I need to configure the AppCircle tab on flurry.com.
Could anybody help here?
Thanks in advance.
To get ads on Flurry, you simply need to create an ad space on the Flurry website (dev.flurry.com) and call it inside your code. All the ad space configuration needs to be done under the Publishers tab. AppCircle tab need only be used if you're promoting your app using Flurry.
With regards to ads not showing up, can you please send the following details to support#flurry.com:
1. Flurry SDK version
2. Snippet of integration
3. App name and ad space name
(Full Disclosure: I work in the Support team at Flurry)
I've been searching through StackOverflow and I'm wondering about some things regarding AdMob. I'm done developing my app and have decided to make one free application and one non-free. The free one should have AdMob like a banner on it with ads of course.
Now I did, as everyone, the mistake with not putting target to sdk 14 or something and then I saw the banner space with a error message but now when I fixed it I did a fake android application on AdMob but nothing shows, even after I placed the ad - id number there.
I'm actually wondering, when does the ads show up on my application? Does a advertiser choose just my app to show ads on? Can't I have like always ads but I only get money when someone presses them?
Thanks in advance!
You'll know if you implemented the ads correctly by setting your test device and requesting a test ad. The test ad should come back every time, assuming your publisher id is valid.
It takes a few days and multiple requests for the new id to start delivering real impressions. The advertiser does not choose your app specifically; the AdMob network takes care of matching the advertiser's ad to the publisher's app.