app隐私策略

App隐私政策

在MADP2.0项目中隐私政策应在初始化SDK之前

1、隐私政策弹框

在启动页DemoMainActivity中onCreate中,首先判断是否是第一次进入app,非首次直接initSDK,首次弹出隐私政策弹框,用户同意后才能initSDK,不同意则退出app。

if (isFirst) {
    //非首次打开app,直接初始化
    initSdk();
} else {
    //首次打开app,先展示隐私弹窗
    PrivacyAlertDialog privacyAlertDialog = new PrivacyAlertDialog(this);
    privacyAlertDialog.setMessage(spannableString);
    privacyAlertDialog.setTitle("服务协议和个人信息保护政策");
    privacyAlertDialog.setNoOnclickListener("不同意", new PrivacyAlertDialog.onNoOnclickListener() {
        @Override
        public void onNoClick() {
            SpUtils.getInstance().setValue("isFirst", false);
            privacyAlertDialog.dismiss();
            AppManagerDelegate.getInstance().exitApp();
        }
    });
    privacyAlertDialog.setYesOnclickListener("同意", new PrivacyAlertDialog.onYesOnclickListener() {
        @Override
        public void onYesClick() {
            SpUtils.getInstance().setValue("isFirst", true);
            privacyAlertDialog.dismiss();
            initSdk();
        }
    });
    privacyAlertDialog.show();
}

2、初始化SDK并调用启动链

原sdk初始化是在DemoApplication中的,现将其放在DemoMainActivity中,根据隐私弹窗情况调用

//初始化sdk
private void initSdk() {
    Engine.initEnvironment(getApplication(), true, false, false, MADConfig.LaunchModel.SYNC, "", 0, new NetWorkOkHttpAdapter(),new Engine.InitEnvCallback() {
        @Override
        public void doInitFinish() {
            try {
                //指纹
                WXSDKEngine.registerModule("fingerprint", WXFingerPrintModule.class);
            } catch (WXException e) {
                e.printStackTrace();
            }
        }
    });

    try {
        BindingX.register();
    } catch (WXException e) {
        e.printStackTrace();
    }
    AppManagerDelegate.getInstance().addActivity(DemoMainActivity.this);
    Engine.startup();
}