2.2.SDK初始化配置
我们建议您下载并体验 Mediation Demo ,以便更直观、更深入地了解 SDK 的功能和使用方法。通过 Demo,您可以快速上手并探索其在实际场景中的应用效果。
初始化示例代码:
public class DemoApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
/**
* '多进程且WebView场景'需对WebView设置不同的数据目录,原因:
* Android P(9.0)及以后,为了增强安全性并避免不同进程间的WebView实例之间发生冲突,
* Google 引入了一个新的限制:不允许不同进程中的WebView实例使用相同的数据目录。
*
* 解决方式:
* 为了避免这个问题,建议在Application的onCreate()里且SDK初始化之前,
* 为每个进程中的WebView实例指定一个唯一的目录。
*
* 已知广告源'Yandex'是多进程,接入后请按照实际情况设置。
* 示例:
* // 为每个进程设置唯一的后缀
* WebView.setDataDirectorySuffix(processName);
*/
TAdManager.init(this, new TAdManager.AdConfigBuilder()
// 必须设置,请在广告平台申请
.setAppId("your_app_id")
// 可选项,是否打印广告日志,默认为false;设置为true时会打印log,关键字ADSDK_M、ADSDK_N
.setDebug(BuildConfig.DEBUG)
// 可选项,是否将当前设备标记为测试设备,默认为false
// 仅对Hisavana SSP、AdMob、Facebook、AppLovin、Unity、MAX生效,其他广告源需按对应平台文档配置
.testDevice(false)
// 可选项,视频类广告是否全局静音,默认为true(静音)
.setMuteVideo(false)
// 可选项,是否在初始化时同步初始化Admob,默认为false
.isInitAdMob(false)
// 可选项,提前初始化Pangle广告源,传入Pangle AppId
.initPangleAdvance("your_pangle_app_id")
// 可选项,是否关闭Pangle内部多进程的WebView设置,默认为false
.closePangleWebFileLock(false)
// 可选项,内置广告功能所需,值为zip包的版本号(由运营提供,单位:Long),用于兜底广告的更新
.setInternalDefaultAdVersion(1710853164130L)
// 可选项,是否启用图片加载资源竞争优化功能
// 仅在广告源Hisavana SSP使用Glide且代码位是Splash、Interstitial、Reward时生效
// true:开启,false:关闭,默认关闭
.setShouldOptimizeImageLoading(true)
// 可选项,是否开启激励完成后toast提示
// 仅适用于广告源Hisavana SSP插屏、激励广告的新样式;true:提示,false:不提示,默认为true
.setRewardedCompletionToastEnabled(true)
// 可选项,初始化完成回调,强烈建议在此回调后再请求广告,最长等待15s
.setCloudCompleteListener(new TAdManager.OnCloudCompleteListener() {
@Override
public void onCloudComplete(int code, String message) {
// 使用应用现有日志系统记录code和message
if (code == 0) {
// 在此处请求广告
}
}
})
.build());
}
}
强烈建议:请记录初始化回调的code和message,并在code == 0后再请求广告。非0时请参照排查指南,避免因初始化或云控未完成导致请求失败。