admin
2021-10-21 7e2ac66d7c532a5725635fa3913789bb17c1e157
library-base/src/main/java/com/yeshi/base/utils/ad/TTAdManagerHolder.java
@@ -1,6 +1,7 @@
package com.yeshi.base.utils.ad;
import android.content.Context;
import android.util.Log;
import com.bytedance.sdk.openadsdk.TTAdConfig;
import com.bytedance.sdk.openadsdk.TTAdConstant;
@@ -13,28 +14,31 @@
 */
public class TTAdManagerHolder {
    private static boolean sInit;
    private static final String TAG = "TTAdManagerHolder";
    public static TTAdManager get() {
        if (!sInit) {
            throw new RuntimeException("TTAdSdk is not init, please check.");
    public static TTAdManager get() throws Exception {
        if (!TTAdSdk.isInitSuccess()) {
            throw new Exception("TTAdSdk is not init, please check.");
        }
        return TTAdSdk.getAdManager();
    }
    public static void init(Context context) {
        doInit(context);
    public static void init(Context context, TTAdSdk.InitCallback initCallback) {
        doInit(context, initCallback);
    }
    //step1:接入网盟广告sdk的初始化操作,详情见接入文档和穿山甲平台说明
    private static void doInit(Context context) {
        if (!sInit) {
    private static void doInit(Context context, TTAdSdk.InitCallback initCallback) {
        if (!TTAdSdk.isInitSuccess()) {
            try {
                TTAdSdk.init(context, buildConfig(context));
                sInit = true;
                TTAdSdk.init(context, buildConfig(context), initCallback);
            } catch (Exception e) {
            }
        } else {
            if (initCallback != null) {
                initCallback.success();
            }
        }
    }
@@ -46,13 +50,11 @@
                .appName(context.getString(R.string.app_name))
                .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)
                .allowShowNotify(true) //是否允许sdk展示通知栏提示
                .allowShowPageWhenScreenLock(true) //是否在锁屏场景支持展示广告落地页
                .debug(true) //测试阶段打开,可以通过日志排查问题,上线时去除该调用
                .directDownloadNetworkType(TTAdConstant.NETWORK_STATE_WIFI)
                .supportMultiProcess(true)//是否支持多进程
                .asyncInit(true)
                .needClearTaskReset()
                //.httpStack(new MyOkStack3())//自定义网络库,demo中给出了okhttp3版本的样例,其余请自行开发或者咨询工作人员。
                .build();
    }
}