package com.demo.app; import android.app.Application; import android.content.Context; import com.bytedance.sdk.dp.DPSdkConfig; import com.bytedance.sdk.openadsdk.TTAdSdk; import com.demo.app.utils.Constant; import com.demo.app.utils.UserUtil; import com.demo.library_ad.AdUtil; import com.demo.library_dp.DPUtil; import com.demo.lib.common.util.ManifestDataUtil; import com.umeng.analytics.MobclickAgent; import com.umeng.commonsdk.UMConfigure; import androidx.multidex.MultiDex; public class MyApplication extends Application { public static MyApplication application = null; public static boolean inited = false; private static String TAG = "MyApplication"; //兼容4.4以下版本 protected void attachBaseContext(Context newBase) { super.attachBaseContext(newBase); MultiDex.install(this); } @Override public void onCreate() { super.onCreate(); application = this; MultiDex.install(this); if (UserUtil.isAgreeUserProtocol(application) || Constant.DEBUG) { init(application, null); } } public static void init(Application application, InitListener initListener) { if (inited) { return; } inited = true; //友盟初始化 String description = ManifestDataUtil.getAppMetaData(application, "UMENG_CHANNEL"); UMConfigure.init(application, application.getResources().getString(R.string.umeng_key), description, UMConfigure.DEVICE_TYPE_PHONE, null); UMConfigure.setEncryptEnabled(true); // 选用AUTO页面采集模式 MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO); initAd(application, initListener); //小说 initNovel(application); //穿山甲小视频 initDPSDK(application); } //动态初始化广告 public static void initAd(Application application, InitListener initListener) { //广点通广告 AdUtil.initGDTAd(application, application.getString(R.string.ad_gdt_appid)); //穿山甲广告 initCSJAd(application, application.getString(R.string.ad_csj_appid), initListener); } /** * 穿山甲广告初始化 */ private static void initCSJAd(Application application, String appId, InitListener initListener) { AdUtil.initCSJAd(application, appId, false, new TTAdSdk.InitCallback() { @Override public void success() { if (initListener != null) initListener.onFinish(); } @Override public void fail(int i, String s) { if (initListener != null) initListener.onFinish(); } }); } private static void initNovel(Application application) { DPUtil.initNovel(application, "SDK_Setting_5211168.json"); } private static boolean dpSDKIninted; public static void initDPSDK(Application application) { if (!dpSDKIninted) { DPUtil.initDPSDK(application, "SDK_Setting_5211168.json", new DPSdkConfig.InitListener() { @Override public void onInitComplete(boolean b) { dpSDKIninted = b; } }); } } public interface InitListener { public void onFinish(); } }