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();
|
}
|
}
|