| | |
| | | |
| | | import android.content.Context; |
| | | |
| | | 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.tejia.lijin.app.R; |
| | | import com.tejia.lijin.app.util.Constant; |
| | | import com.wpc.library.util.common.DeviceUtil; |
| | | |
| | | /** |
| | | * 可以用一个单例来保存TTAdManager实例,在需要初始化sdk的时候调用 |
| | |
| | | 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; |
| | | } catch (Exception e) { |
| | | TTAdSdk.init(context, buildConfig(context), initCallback); |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } else { |
| | | initCallback.success(); |
| | | } |
| | | } |
| | | |
| | | private static TTAdConfig buildConfig(Context context) { |
| | | private static TTAdConfig buildConfig(final Context context) { |
| | | return new TTAdConfig.Builder() |
| | | .appId(Constant.CSJ_APP_ID) |
| | | .useTextureView(true) //使用TextureView控件播放视频,默认为SurfaceView,当有SurfaceView冲突的场景,可以使用TextureView |
| | | .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() |
| | | .supportMultiProcess(false)//是否支持多进程 |
| | | |
| | | .customController(new TTCustomController() { |
| | | @Override |
| | | public boolean isCanUseLocation() { |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | | public LocationProvider getTTLocation() { |
| | | return super.getTTLocation(); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isCanUsePhoneState() { |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | | public String getDevImei() { |
| | | return DeviceUtil.getImeiCache(context); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isCanUseWifiState() { |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | | public String getMacAddress() { |
| | | return super.getMacAddress(); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isCanUseWriteExternal() { |
| | | return false; |
| | | } |
| | | |
| | | @Override |
| | | public String getDevOaid() { |
| | | return super.getDevOaid(); |
| | | } |
| | | |
| | | @Override |
| | | public boolean isCanUseAndroidId() { |
| | | return false; |
| | | } |
| | | }).asyncInit(true) |
| | | //.httpStack(new MyOkStack3())//自定义网络库,demo中给出了okhttp3版本的样例,其余请自行开发或者咨询工作人员。 |
| | | .build(); |
| | | } |