package com.weikou.beibeivideo.util.ad; import android.content.Context; import android.util.Log; import com.bytedance.sdk.openadsdk.LocationProvider; import com.bytedance.sdk.openadsdk.TTAdConfig; import com.bytedance.sdk.openadsdk.TTAdConstant; import com.bytedance.sdk.openadsdk.TTAdManager; import com.bytedance.sdk.openadsdk.TTAdSdk; import com.bytedance.sdk.openadsdk.TTCustomController; import com.lcjian.library.util.common.AndroidManifestUtil; import com.lcjian.library.util.common.DeviceUtil; import com.weikou.beibeivideo.R; import com.weikou.beibeivideo.entity.ad.AdPositionEnum; /** * 可以用一个单例来保存TTAdManager实例,在需要初始化sdk的时候调用 */ public class TTAdManagerHolder { private static final String TAG = "TTAdManagerHolder"; 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, TTAdSdk.Callback initCallback) { doInit(context, initCallback); } //step1:接入网盟广告sdk的初始化操作,详情见接入文档和穿山甲平台说明 private static void doInit(Context context, TTAdSdk.Callback initCallback) { if (!TTAdSdk.isInitSuccess()) { try { TTAdSdk.init(context, buildConfig(context)); TTAdSdk.start(initCallback); } catch (Exception e) { } } else { initCallback.success(); } } private static TTAdConfig buildConfig(Context context) { TTAdConfig.Builder builder = new TTAdConfig.Builder() .appId("5095354") .appName(context.getString(R.string.app_name)) .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK) .allowShowNotify(true) //是否允许sdk展示通知栏提示 .debug(false) //测试阶段打开,可以通过日志排查问题,上线时去除该调用 .directDownloadNetworkType(null) .supportMultiProcess(false)//是否支持多进程 .customController(new TTCustomController() { @Override public boolean isCanUseLocation() { return false; } @Override public boolean isCanUsePhoneState() { return false; } @Override public LocationProvider getTTLocation() { return null; } @Override public boolean isCanUseAndroidId() { return false; } @Override public String getDevImei() { return DeviceUtil.getImeiCache(context); } @Override public boolean alist() { if(AndroidManifestUtil.isHonorChannel(context)){ return false; } return super.alist(); } }); //.httpStack(new MyOkStack3())//自定义网络库,demo中给出了okhttp3版本的样例,其余请自行开发或者咨询工作人员。 //if (AdUtil.getAdType(context, AdPositionEnum.splashHotStart) != null) { // builder.directDownloadNetworkType(TTAdConstant.NETWORK_STATE_WIFI); //} return builder.build(); } }