Technical FAQs for Publishers

Answers to frequently asked questions and additional information that developers and technical people may find helpful.

FAQs related to Integration Tips and Tricks

Where can I find information on the SDK for Android?

Read this article for everything you ever wanted to know about our SDK integration for Android. There is a link within to download the Android SDK.

Where can I find information on the SDK for iOS?

Read this article for everything you ever wanted to know about our SDK integration for iOS. There is a link within to download the iOS SDK.

How can I be sure my integration was successful?

Follow the procedures in our Testing your Placement's Integration article. You will need to send through approximately 1,000 impressions per placement in order to begin receiving the test ad 100% of the time.

What frameworks are required for the iOS SDK to function correctly?

The required frameworks for our iOS SDK are listed below. Check out the iOS SDK Integration Guide article to learn more.

  • AdSupport.framework
  • AudioToolbox.framework
  • AVFoundation.framework
  • CoreGraphics.framework
  • CoreLocation.framework
  • CoreTelephony.framework
  • CoreMedia.framework
  • EventKit.framework
  • EventKitUI.framework
  • Foundation.framework
  • libxml2.tbd
  • MediaPlayer.framework
  • MessageUI.framework
  • SystemConfiguration.framework
  • UIKit.framework

Note: CoreLocation is a required framework, even when sending location data is disabled.

What permissions are required for the Android SDK to function correctly?

​We could provide you a list of permissions, but there are so many unique exceptions and individual cases with Android​ that we think it best to have a human to human conversation. Please submit a request to initiate the conversation.

What kind of SDK integration errors might be returned?

There are several errors that might be returned due to bad SDK integration and they are operating system specific. See Android and iOS specific error descriptions below.

Note: Due to the integration of Nexage, Millennial Media and AOL, a single value may be referred to by different names in documentation, error logs or our UI. Here is a quick translation: DCN = Site ID, Placement = Position = APID.

 

ANDROID ERRORS

Bad DCN Value This error is returned when the Site ID (dcn value) is incorrect. To find the correct site ID locate and open the site from the main dashboard. The Site ID appears in the upper left corner next the name of your site/app.

Example of Bad DCN Value - Android*

01-25 14:48:41.978 3465-3518/? D/MMSDK-HttpUtils : code: 400
01-25 14:48:41.979 3465-3518/? E/MMSDK-HttpUtils : HTTP ERROR.
…
01-25 14:48:41.980 3465-3517/? W/MMSDK-InterstitialAd : Load failed for placement ID: bannerja_test. If this warning persists please check your placement configuration.

Unknown Position Value - Android This error is returned when the placement ID (position value) has been set incorrectly. The placement ID appears directly under each placement type on the site/app dashboard.

Example of Unknown Position Value - Android*

01-25 14:49:58.474 3526-3565/? E/MMSDK-OrangeServerAdapter : 
Unable to parse play list: org.json.JSONException: No value for posId
…
01-25 14:49:58.474 3526-3565/? W/MMSDK-InterstitialAd : Load failed for placement ID: bannerunknownposition. If this warning persists please check your placement configuration.

No Ad Sources Deployed (Empty Tiers) This error means you may have not deployed your ad sources. To deploy an ad source, open a site from the dashboard, click on an ad source in the Unassigned box at the bottom then drag and drop it into a tier box to deploy it.

Example of No Ad Sources Deployed (Empty Tiers) - Android*

01-25 16:22:37.254 3837-3874/? W/MMSDK-InterstitialAd : Load failed for placement ID: banneradservertest. If this warning persists please check your placement configuration.

No Ad Returned (integration OK, a no-fill situation) - Android*When this error is returned your integration setup is correct, however you may be sending traffic from a country with low demand. We encourage pubs to send traffic from US, UK, and Canada since that is where we have the highest demand.

Example of No Ad Returned - Android*

01-25 16:22:37.254 3837-3874/? W/MMSDK-InterstitialAd : Load failed for placement ID: banneradservertest. If this warning persists please check your placement configuration.

*The Android error code for no ad sources deployed and no ads returned are the same. Please check for both issues if the error occurs.

 

iOS ERRORS

Bad DCN Value This error is returned when the Site ID (dcn value) is incorrect. To find the correct site ID locate and open the site from the main dashboard. The Site ID appears in the upper left corner next the name of your site/app.
Example of Bad DCN Value - iOS

2017-01-25 12:16:39.143 SampleApp[4523:260557] Interstitial load failed: Error 
Domain=MMSDKErrorDomain Code=-1 "Received bad status code 400 on ad request"
UserInfo={NSURL=http://ads.nexage.com/admax/sdk/playlist/1,
NSLocalizedDescription=Received bad status code 400 on ad request}.

Unknown Position Value This error is returned when the placement ID (position value) has been set incorrectly. The placement ID appears directly under each placement type on the site/app dashboard.
Example of Unknown Position Value - iOS

MMAdSDK (Info): (-[MMInterstitialAd loadDidFailWithError:]) 
(MMInterstitialAd.m:267) placementId: banner
2017-01-25 12:19:44.794 SampleApp[4565:264021] Interstitial load failed: Error 
Domain=MMSDKErrorDomain Code=-2 "Server response did not contain a playlist."
UserInfo={NSLocalizedDescription=Server response did not contain a playlist.}.

No Ad Sources Deployed (Empty Tiers) This error means you may have not deployed your ad sources. To deploy an ad source, open a site from the dashboard, click on an ad source in the Unassigned box at the bottom then drag and drop it into a tier to deploy it.

Example of No Ad SourcesDeployed (Empty Tiers) - iOS

MMAdSDK (Info): (-[MMInterstitialAd load:]) (MMInterstitialAd.m:103) placementId: banner
MMAdSDK (Info): (-[MMInterstitialAd loadDidFailWithError:]) 
(MMInterstitialAd.m:267) placementId: banner
2017-01-25 16:29:25.321 SampleApp[6971:474444] Interstitial load failed: Error 
Domain=MMSDKErrorDomain Code=-25 "Unable to load ad content" 
UserInfo={NSLocalizedDescription=Unable to load ad content}.

No Ad Returned (integration OK, a no-fill situation) When this error is returned your integration setup is correct, however you may be sending traffic from a country with low demand. We encourage pubs to send  traffic from US, UK, and Canada since that is where we have the highest demand.

Example of No Ad Returned - iOS

MMAdSDK (Info): (-[MMInterstitialAd loadDidFailWithError:]) 
(MMInterstitialAd.m:267) placementId: banner
2017-01-25 13:17:04.432 SampleApp[5180:310841] Interstitial load failed: Error 
Domain=MMSDKErrorDomain Code=-25 "Unable to load ad content" 
UserInfo={NSLocalizedDescription=Unable to load ad content}.

How do I request JavaScript/Mobile Web tags?

Request a JavaScript tag by clicking on the REQUEST JAVASCRIPT button next to your site ID on the dashboard. Be sure to let us now, in the request text, if you are integrated directly or through DoubleClick For Publisher (DFP).

FAQs related to Reporting, Discrepancies, etc.

How do I set up the reporting features to get the best info for my needs?

The best information can be found in our Reporting API article.

Why are my ad requests/clicks high but my revenue is low?

Low revenue numbers (even though you have a high number of requests) might result from sending us traffic from low-demand countries where campaigns are running at lower price points. We encourage pubs to segment their inventory into two ad sources with floors reflecting the different market pricing dictated by major markets versus rest of world. Generally US, UK, Western Europe, and Canada have stronger performance, and will provide better revenue returns.

I haven’t sent any requests through Millennial Media Network, why do I see revenue from them?

It’s likely you are using a previously created APID from a legacy Millennial Media account. Revenue from the network is being falsely reported into your Nexage account. Please Submit a Request for new APIDs and we will provide one.

General FAQs

Is there a human I can talk to?

If you are a managed account, you can always contact your account manager. If you are not a managed account, Submit a Request and an agent will get back to you within 48 hours.

Does ONE by AOL: Mobile have all the info I need to quickly get started in one location?

How about a few great places to find help? Check out our Quick Start Guide and the ONE by AOL: Mobile Guide to Best Practices and the Publisher FAQs articles.

Have more questions? Submit a request