1. How can I know if the SDK initialization is completed?
There are two ways to initialize the SDK, and both will show log message if the initialization is successfully completed: AdTiming SDK init success. You can choose the second way to do your post-initialization completion processing in the callback.
- No return value: + (void)initWithAppKey:(NSString*)appKey
- With return value: + (void)initWithAppKey:(NSString*)appKey completionHandler:(initCompletionHandler) completionHandler
2. My app loads ads correctly, but why was my ads loading callback not triggered?
Check if your app
- correctly set up delegate
- used the right callback method matching the SDK version
3. Why does my app only display ads from Adtiming, but none from the other mediated AdNetworks?
- Check on your publisher web console if you have correctly set up for the AdNetworks
- Check in your project if the AdNetworks SDKs are present
- Check if the SDK initialization was successful
4. App Runtime error: +[NSString ADTDataPath]: unrecognized selector sent to class
Check your project's Building settings and make sure Other Linker Flag includes -ObjC.
5. App Runtime error: The Google Mobile Ads SDK was initialized incorrectly.
Check your Info.plist and make sure GADApplicationIdentifier settings is present.
6. The AdTiming SDK was initialized successfully, but it shows "Invalid placmentID, please try again with correct placementId" error in the Xcode log.
Check your placement type setting and make sure AppName and Type is aligned.
7. Tapjoy ads not filled correctly.
Make sure to include TapjoyResources.bundle in your Bundle Resources at Build Phases.
8. Why is it always no filling when we test Banner ads?
Currently, only AdTiming, AdMob, Facebook and MoPub support banner ads. If you test a banner ad with an AdNetwork other than these four, such as AppLovin, you will get no fill returned.
9. Does Native Ad support custom click controls?
The click event for the current version of Native Ad is associated with the whole ad container. Therefore custom clicks are not currently supported, which means you cannot specify which parts within the Ad are clickable or not.
10. Why is the number of impressions in the report more than the number of ad requests?
It is because of the timezone difference. The number of requests is the count the AdTiming SDK recorded when the ad request was made, in UTC+08 time. The number of impressions is gathered from other AdNetworks through API, usually in UTC time. The eight-hour difference resulted in the disparity.
11. Do I need to use the AdTiming Unity Plugin in my Unity-powered game app project if I mediate AdTiming through Admob/MoPub?
No, you only need to make the corresponding settings in Admob/MoPub, and add the AdTiming SDK to your project in the integration process.
12. Apple prohibits the use of UIWebView components. Are this kind of component being used in your SDK?
No. We have upgraded the use of webview accordingly, and using our SDK will not violate Apple's policies.
13.With the current smart ads inventory management mechanism in effect, will the same ad be displayed every time for a Rewarded Video/Interstitial/Interactive adunit?
No, a new ad is shown every time an ad request is made.
14.When does the ad inventory automatically get updated for rewarded video, interstitial and interactive ads?
The smart inventory management system regularly evaluates the inventory, and starts loading new ads once the inventory availability level falls under the threshold. In addition to that, anytime an ad gets closed it immediately triggers the inventory re-evaluation action.
15.I turned on the "Test Mode" for AdNetwork A, but the SDK still loads ads from other AdNetworks.
Wait about 3-5 minutes before the "Test Mode" kicks in. The on/off switch needs to periodically sync with the servers to take effect, typically every few minutes.
16. Is there an API in the SDK for us to know which AdNetwork the currently shown ad is from?
No, there is no API available currently for such purpose.
17. Chartboost video ads sometimes show loading during playback, and will automatically close after a period of time. Is this normal?
Yes, it's normal. When a chartboost video ad is shown and due to network lag or other reasons the loading takes too long, its SDK will automatically close the ad. In this case, the ad closed callback should have been normally received. It will not affect the subsequent ad loading.
18. Why are there no callbacks for the clicks of ads during IronSource Interstitial and Rewarded Video ads?
IronSource SDK is designed in such a way that clicks can jump normally during video playback but without firing any click event, while in the landing page clicks can jump normally, plus firing click events.
19. Manually importing the FBAudienceNetwork Advertising SDK conflicts with the existing FB Analytics SDK. What can I do?
The FBAudienceNetwork Advertising SDK includes the FBSDKCoreKit framework. If your project has already imported the FB Analytics SDK, there should have been another instance of FBSDKCoreKit framework included. That's the reason why it failed. You should simply skip importing this FBSDKCoreKit in this case.
20. Why do users not receive rewards after watching rewarded video ads?
First of all, on some adnetworks rewarded video ads can be skipped. When a user chooses to skip the ads, obviously there shouldn't be any reward callback.
In addition, if a user has not received the reward after watching the rewarded video completely, take the following steps:
- Please make sure that your reward logic is processed in the reward callback, not in the PlayEnd callback. They're NOT the same thing.
- If you have processed the reward logic in the reward callback but the user has not yet received the reward, please watch the ad completely and output a log in the callback to help check whether the SDK has made the reward callback correctly.
21. Why do users still get rewards after skipping rewarded videos?
Please check if your reward processing logic is in the reward callback. The reward callback is the right place to dish out rewards, not the PlayEnd callback.