question

pcyanide avatar image
pcyanide asked

Sample Interstitial Ad works in test mode, but doesn't in live mode

I used Amazon sample interstitial ad package, which my APP_KEY. It works with AdRegistration.enableTesting(true), but with enableTesting set to false, I get a NO_FILL error. Is this the way it should be? How can I test my app with ads in live mode ? I just want to see the full range of ads, not only two of them repeatedly.
mobile ads
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Ross@Amazon avatar image
Ross@Amazon answered
If an app can receive test ads (testing instructions found here: https://developer.amazon.com/public/apis/earn/mobile-ads/docs/testing-your-app#Testing) but receives a "NO_FILL" error upon trying to load non test ads, there is most likely no issue. It is probable that the app is encountering a scenario where it is having a hard time getting fill. There are many factors that can contribute to a bad fill rate, including the following non integration related factors: - The device could be in a country that does not receive many ads. - The app has not yet received a device identifier (a.k.a. “ad-id”) from Amazon's server due to this being the first time the app requested an ad. - The user may be opted out of personalized ads. - The user could be using an old Android-2.2-era device that is unable to opt in to personalized ads. - The app may be requesting an ad size that has limited fill rate. A typical user’s experience is unlikely to reflect what the developer is seeing. Note that apps with severely restrictive targeting parameters or with a targeted user base in an unsupported country will end up reporting very low fill rates. A NO_FILL error can occur if the app is trying to load an auto-sized ad in a container whose dimensions are WRAP_CONTENT x WRAP_CONTENT. This will cause an Auto Ad Size failure and result in no ads being returned. Generally, if this is a screen-width ad then our recommendation for this case would be to change the AdLayout's layout params dimensions to be MATCH_PARENT x WRAP_CONTENT. Auto Ad Size should not be used if a specific ad size is required. Instructions and guidelines for ad sizes can be found here: https://developer.amazon.com/public/apis/earn/mobile-ads/android/docs/concepts#Ad%20Sizes. Note that the Amazon Mobile Ad Network serves ads only to users in U.S., U.K., Germany, France, Spain and Italy. More information can be found here: https://developer.amazon.com/public/apis/earn/mobile-ads/docs/faq.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

pcyanide avatar image
pcyanide answered
hank you, Ross, for such a detailed answer. Regarding AdSize and layout width, this probably applies only to banner id, while (as I mentioned previously) this is an interstitial ad. The App Key looks correct, otherwise, I assume, the system would tell that. The only point which could apply is 'user opted out'. I went to Amazon Advertising Preferences ( http://www.amazon.com/gp/dra/info) and made sure that I have Personalize Ads from Amazon on. In addition, personalized ads require use to be logged in while sample Intersitial Ad doesn't feature log-in. Maybe with Kindle Fire the ad engine can get user details from the system, but my device is GT-I9100 (alas, game developers can't afford something fancier) with cynagenmod 20 (Android 4.4.2 KitKat). I hope the advertising engine uses cached data, remained from my last login to GameCircle. Even if it didn't I still expect non-personalized ads to come. BTW, the error has recently changed from NO_FILL to "no results". This is the logcat extract where I only disguised App Key: Thanks for your time M- 01-15 11:44:17.389: D/AmazonMobileAds AdRegistration(4468): Amazon Mobile Ads API Version: 5.4.235 01-15 11:44:19.179: D/AmazonMobileAds AdController(4468): Changing AdState from READY_TO_LOAD to LOADING 01-15 11:44:19.234: D/AmazonMobileAds AdRequest WebRequest HttpURLConnectionWebRequest(4468): POST http://aax-us-east.amazon-adsystem.com/e/msdk/ads 01-15 11:44:19.234: D/AmazonMobileAds AdRequest WebRequest HttpURLConnectionWebRequest(4468): Request Body: {"appId":"app key (32 hexadecimal digits)","slots":[{"slotId":1,"slot":"portrait","sz":"interstitial","video":{"minAdDuration":0,"maxAdDuration":30000},"supportedMediaTypes":["DISPLAY","VIDEO"]}],"dinfo":{"screenSize":"480x800","scalingFactor":"1.5","orientation":"portrait","os":"Android","model":"GT-I9100","osVersion":"4.4.2","connectionType":"Wifi","carrier":"Telstra","language":"en","make":"samsung","country":"AU"},"pkg":{"v":"1","lbl":"Interstitial Ad Sample","vn":"1.0","pn":"com.amazon.sample.interstitialad"},"ua":"Dalvik\/1.6.0 (Linux; U; Android 4.4.2; GT-I9100 Build\/KVT49L) AmazonAdSDK-Android\/5.4.235","ad-id":"A2LMY6lNSk-nvLLsbn3JDN0","isTest":false,"adsdk":"amznAdSDK-android-5.4.235","sha1_udid":"59f0395519649987037676806b55a9c8be362b7a"} 01-15 11:44:19.959: D/AmazonMobileAds ResponseReader AdRequest WebRequest HttpURLConnectionWebRequest(4468): Response Body: {"errorMessage":"no results","noretryTTL":10,"status":"error","errorCode":"503","instrPixelURL":" http://aax-us-east.amazon-adsystem.com/x/px/p/vGC2ORjJEEBjT0AhqS2rvg/"} 01-15 11:44:19.959: D/AmazonMobileAds AdController(4468): Changing AdState from LOADING to READY_TO_LOAD
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

pcyanide avatar image
pcyanide answered
I've just noticed the line regarding supported countries. Unfortunately Australia not among them. This explains why I managed to get ads with some emulators, but couldn't get it with a real device: the emulators tricked the ad server by using a different locale. It's a real pain upset, given that some third party ad providers might feature world-wide advertising, while Amazon front end blocks them from doing that. All the best to Amazon Mobile Ads and ... bye-bye for now. I will have to switch to another provider. As a matter of fact, I would do it even living in the country covered by the ads. Yes, I am aware of "manual mediation" through the listener, but my listener already has a rather tricky logic, so I better wouldn't complicate it.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.