This article contains answers to questions related to androi, Unity, Flutter, etc. If you cannot find the frequently asked questions in this article, you can also find them in FAQFind.
Whether the demo has a callback and whether the replacement parameter triggers the callback
If not triggered, feedback to the corresponding advertising platform for consultation
What is the advertising platform and what is the SDK version of the advertising platform?
Whether the demo responds and whether the replacement parameters respond
Check whether the layout is blocked
Print the log to see if the dismiss callback is triggered. If so, check the code processing logic
What is the advertising platform and what is the SDK version of the advertising platform?
Whether the demo responds and whether the replacement parameters respond
Check whether the layout is blocked
The user can only click to close or use native self-rendering ads to set the closing click event
https://docs.toponad.com/#/ zh-cn/android/android_doc/privacy_policy_cn
Yes, localExtras. put(AdmobATConst.ADAPTIVE_ORIENTATION,AdmobATConst.ORIENTATION_CURRENT);
localExtras.put(AdmobATConst.ADAPTIVE_TYPE,AdmobATConst.ADAPTIVE_ANCHORED);
localExtras.put(AdmobATConst.ADAPTIVE_WIDTH,width); Pass in the width and your desired width unit is px
1 Ad loading does not time out and callback onAdLoaded(false)
2 After the ad loading times out, onAdLoadTimeout is called back. The open-screen ad is still loading. If the loading is successful, onAdLoaded(true) will be triggered
Create a custom platform account And after applying to the operation for association max, the advertising source was created without re-editing the platform account (entering sdk_key). You should contact the operation association first, and then configure the advertising source
Huawei does not have native template advertising, and Huawei itself does not provide this click Event callback
Before calling the prepare api, call ATNativePrepareInfo.setChoiceViewLayoutParams to pass in a FrameLayout.LayoutParams. You can pass in a negative marginLeft to remove the choiceicon outside the visible area
Backend query data comparison, if the proportion of total requests is not high, That is normal and has something to do with the device network. If it is close to the total number of requests, check whether the maximum inquiry timeout in the advanced settings is set too small
The SDK initialization success interface is not provided. The initialization will be successful as long as it is called. You only need to pay attention to initialization first and then loading the advertisement. We only initialize the SDK of the advertising platform when the advertisement is loaded for the first time
Yes, the advertising source configuration of the advertising space is disk storage, and the advertising cache is in memory. Kill the program and it will be gone
After displaying, getting atTopAdInfo will get the networkFirmId in the cache, so it is inconsistent. The current networkFirmId can be obtained directly through the AdInfo in the display callback.
Delete mLoadListener.onAdCacheLoaded(); rewrite this method
@Override
public boolean supportImpressionCallback() {
return false;
}
Prefer the highest priced ones , you can see the weight and percentage in the backend of the advertising sources with the same price. The higher the weight, the higher the probability of display
1 The developer views the complete log information of the failure to load the advertisement;
2 According to the log information, go to the error code table for troubleshooting. Address:https://docs.toponad.com/#/zh-cn/android/android_doc/ android_errorcode
3 in the background - advanced features - Log analysis to see if there is any error message
1. The advertising platform appid configured in Taku must be consistent with the advertising platform appid used elsewhere;
3. Try to avoid calling initialization multiple times at the same time for different aggregations
1 Please check whether the appid passed in during SDK initialization is consistent with the one generated by Taku background
2 Please check whether the placement id passed in when loading the advertisement is generated by Taku background Consistent
3 Please check the appid and placementID initialized by the SDK Does it match?
getATTopAdInfo can use this method to obtain the highest-priced advertising source when loading is completed, and finally display the highest-priced advertisement
requires topon version 6.1 .70 or above and the application configuration is selected to comply with the US coppa. In addition, the "age" passed in the initialization custom method initCustomMap is 13
You can add it before initialization Some reasonable scenarios, such as adding a pop-up window description that we will apply for read permission, etc. Before applying for permission, pop up a box to tell him why we want this permission
We click by default Closing will call a refresh. If you don't want to refresh, you can remove the advertisement in the onBannerclose method of the code, and manually call the code to remove the ATBannerView from the parent layout
Yes, code There is no configuration in it, and it is controlled uniformly in the background
Advertising scene display statistics need to pass in the scene id in the show method, entryAdScenario means entering scene statistics
This is a background advertising platform The configuration originally passed in json, and the format will be changed after the operation is associated first. Let us operate the association first and then fill in the configuration
admob clicks on the ad itself and does not respond to click events. You need to click the install button to trigger the click callback
Display mediaView first, MainImageUrl is used to display when mediaView is empty
Check whether the user_id value is passed in the setLocalExtra method. The server will transparently transmit it after receiving it
First locate whether the onReward() callback is triggered. If there is no callback, you can consult the corresponding advertising platform to see if the ad is displayed normally
Secondly check whether the url format is normal and refer to the server-side incentive document https://docs.toponad.com/ #/zh-cn/android/NetworkAccess/rewardedvideo_s2s_doc_cn, whether the background configuration you just configured will take five minutes to take effect, request yourself through the web page to verify whether the server callback url is normal and whether there is filteringVerification logic
Whether it is finally configured on the advertising platform and topon. For example, if it is configured on the Pangolin platform, the Pangolin server will send a verification application to the developer server and needs to return true to accept the callback. It is recommended that you only need to configure it on one side. Just configure it
If there is still no callback, please contact topon technical support
ATSplashAd.checkAdStatus() after the ad is loaded successfully. getATTopAdInfo() obtains the current advertising highest price cache object, checkvalidcaches is to obtain all cache lists, and must be judged empty. If there is no cache, it will return empty
The troubleshooting is in Yandex There is a provider using process=":Metrica". If you want to avoid calling the logic twice in the Application#onCreate method, you can first determine whether it is the main process in Application#onCreate and then execute your own logic. Specifically, determine whether it is the main process. Example code:
public boolean isMainProcess(Context context) {
try {
if (null !=context) {
return context.getPackageName().equals(getProcessName (context));
}
} catch (Exception e) {
return false;
}
return true;
}
public String getProcessName(Context cxt) {
int pid = android.os. Process.myPid();
ActivityManager am = (ActivityManager) cxt.getSystemService(Context.ACTIVITY_SERVICE);
List runningApps = am.getRunningAppProcesses();
if (runningApps == null) {
return null;
}
for (ActivityManager.RunningAppProcessInfo procInfo : runningApps) {
if (procInfo.pid == pid) {
return procInfo.processName;
}
}
return null;
}
In this case of switching, an empty map is passed
Yes, after filling in, you can obtain ecpm through checkValidAdCaches cache information
http://docs.toponad.com/#/zh-cn/android/DeveloperAccess/sdk_preset_strategy/sdk_preset_strategy
admob’s appid is not Supports dynamic configuration through the API, which can only be declared in the manifest
Have you initialized other platforms in advance? Remove them before debugging
There is no active closing method, you need to click to close manually
Obtained through the system Api PackageInfo.firstInstallTime
RN does not support fully automatic mode
The top is traffic Request, a traffic request may include multiple advertising source requests. For example, a traffic request may request multiple advertising sources from high to low
setCloseView and setDislikeCallbackListener will If you remove these two, the pop-up window of Pangolin will not be called. Just add a click event to the close button yourself
The comprehensive report has Can you view it by advertising slot and version? Aggregation management only checks the fill rate of a certain advertising slot. The comprehensive report is all, you need to break it down
Check whether the status of the advertising platform is still under review
Or upgrade to version 6.2.21
The international version of Unity's package does not contain UnityAds Splash code, but the domestic version does (the SDK version of UnityAds advertising source is no problem, but the APK exported by some games brings in some code of the lower version of UnityAds Splash). Re- Use the international version to publish the package for review
Starting from Unity 2021.2, An error occurred during compilation: Exception:OBSOLETE - Providing Androidresources in Assets/Plugins/Android/reswas removed, please move yourresources to an AAR or an AndroidLibrary.
1 , Check the order of warehouse declarations in each gradle file (baseProjectTemplate.gradle, LauncherTemplate.gradle, MainTemplate.gradle) and ensure that mavenCentral() At the front, jcenter and google are placed at the back, and jcenter should be placed at the end
2. Check whether the gradle dependency of the SDK needs to be bypassed in order to be downloaded locally quickly
Unity does not support debugging mode, it is recommended to use demo id to test
method call error: io.flutter.plugin.common.Methodall@b4bfee0, Failed resolution of : sLcom/anythink/banner/api/ATBannerView:
Generally, the libs path error is as follows:
Correct The path is api fileTree(dir: '../../plugins/anythink_sdk/android/libs', include: ['*.aar', '*.jar'])
NativeRender has been abandoned, please download the latest flutter version
1 Change flutter.sdk in local.properties to your own path
2 Create new libs compile and add flutter.jar
3 depends on libs compile/flutter.jar (compileOnly fileTree(dir: libs compile , include: ['*.jar'])
compileOnly fileTree( dir: libs , include: ['*.aar','*.jar'])
ATBannerManager.removeBannerAd() passes the ad slot id and calls this method when the banner is not displayed
Generally, this error will be reported when admob is integrated with other platforms. In this case, you need to forcefully specify the core version
Confirm whether this method startBiddingRequest has been overridden when customizing the Adapter, and return true 2. Check that the advertising platform appid configured by Taku is correctATSDK.setDebuggerConfig(context, AndroidID, new ATDebuggerConfig.Builder(Mintegral_NETWORK) .setInterstitial(Mintegral_INTERSTITIAL_VIDEO) .build());mtg’s debugging mode only supports video3flutter high version flutter.jar path is wrong (keyword: path)