• [只需一步]Unity的打包andriod隐私协议,包通过审查[完美通过,不用导出安卓项目]


    Unity的打包安卓隐私协议,包通过审查[完美通过,不用导出安卓项目]

    1.背景

    日前,国家互联网信息办公室发布新修订的《移动互联网应用程序信息服务管理规定》(以下简称新《规定》)。新《规定》自2022年8月1日起施行。

    本规定所称应用程序信息服务,是指通过应用程序向用户提供文字、图片、语音、视频等信息制作、复制、发布、传播等服务的活动,包括即时通讯、新闻资讯、知识问答、论坛社区、网络直播、电子商务、网络音视频、生活服务等类型。

    划重点:

    一、应用程序提供者

    1、应用程序提供者通过应用程序提供互联网新闻信息服务的,应当取得互联网新闻信息服务许可,禁止未经许可或者超越许可范围开展互联网新闻信息服务活动。

    2、应用程序提供者应当对信息内容呈现结果负责,不得生产传播违法信息,自觉防范和抵制不良信息。应用程序提供者应当建立健全信息内容审核管理机制,建立完善用户注册、账号管理、信息审核、日常巡查、应急处置等管理措施,配备与服务规模相适应的专业人员和技术能力。

    3、应用程序提供者不得通过虚假宣传、捆绑下载等行为,通过机器或者人工刷榜、刷量、控评等方式,或者利用违法和不良信息诱导用户下载。

    4、应用程序提供者处理个人信息应当遵循合法、正当、必要和诚信原则,具有明确、合理的目的并公开处理规则,遵守必要个人信息范围的有关规定,规范个人信息处理活动,采取必要措施保障个人信息安全,不得以任何理由强制要求用户同意个人信息处理行为,不得因用户不同意提供非必要个人信息,而拒绝用户使用其基本功能服务。

    5、应用程序提供者应当坚持最有利于未成年人的原则,关注未成年人健康成长,履行未成年人网络保护各项义务,依法严格落实未成年人用户账号真实身份信息注册和登录要求,不得以任何形式向未成年人用户提供诱导其沉迷的相关产品和服务,不得制作、复制、发布、传播含有危害未成年人身心健康内容的信息。

    二、应用程序分发平台

    应用程序分发平台应当在上线运营三十日内向所在地省、自治区、直辖市网信部门备案。办理备案时,应当提交以下材料:

    (一)平台运营主体基本情况;

    (二)平台名称、域名、接入服务、服务资质、上架应用程序类别等信息;

    (三)平台取得的经营性互联网信息服务许可或者非经营性互联网信息服务备案等材料;

    (四)本规定第五条要求建立健全的相关制度文件;

    (五)平台管理规则、服务协议等。
    在这里插入图片描述

    2.unity调整

    unity打包安卓后,由于对接sdk等获取隐私权限,需要把隐私协议提前,所以我想到的一个好的办法,替换activity的java文件(unity2020使用)
    在这里插入图片描述

    3.核心代码

    package com.unity3d.player;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.content.res.Configuration;
    import android.graphics.PixelFormat;
    import android.os.Bundle;
    import android.text.SpannableString;
    import android.text.method.LinkMovementMethod;
    import android.text.util.Linkify;
    import android.view.Gravity;
    import android.view.KeyEvent;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.Window;
    import android.view.WindowManager;
    import android.os.Process;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class LaunchActivity extends Activity {
        Boolean anInt = false;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
    
            super.onCreate(savedInstanceState);
            SharedPreferences base = getSharedPreferences("base",MODE_PRIVATE);
            anInt = base.getBoolean("isFirstStart",true);
    
            if (anInt==true){
                final SpannableString s =
                        new SpannableString("\n" +
                                "\n" +
                                "       更新时间:【2022】年【08】月【03】日\n" +
                                "\n" +
                                "       欢迎使用本游戏,在使用本游戏前,请您充分阅读并理解《用户协议》https://blog.csdn.net/ 和《隐私政策》https://blog.csdn.net/ 各条款      " +
                                "\n");
                Linkify.addLinks(s, Linkify.WEB_URLS);
                TextView tv = new TextView(this);
                tv.setMovementMethod(LinkMovementMethod.getInstance());
                tv.setText(s);
    
                AlertDialog.Builder dialog=new AlertDialog.Builder(LaunchActivity.this);
                dialog.setTitle("               欢迎使用我们的游戏              ");  //设置标题
                //dialog.setMessage("");  //设置内容
                dialog.setView(tv); //设置内容
                dialog.setCancelable(false);  //是否可以取消
                dialog.setNegativeButton("拒绝", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        //Toast toast = Toast.makeText(getApplicationContext(), "您需要同意使用条款和隐私政策才能继续游戏", Toast.LENGTH_SHORT);
                        //toast.setGravity(Gravity.CENTER, 0, 0);
                        //toast.show();
                        // 关闭
                        android.os.Process.killProcess(android.os.Process.myPid());
                    }
                });
    
                dialog.setPositiveButton("同意", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        SharedPreferences.Editor editor = base.edit();
                        editor.putBoolean("isFirstStart",false);
                        editor.commit();
                        StartGame();
                    }
                });
    
                dialog.show();
            }else{
                StartGame();
            }
        }
        private void StartGame(){
            Intent intent = new Intent();
            intent.setClass(LaunchActivity.this, UnityPlayerActivity.class);
            startActivity(intent);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82

    3.项目

    github

    4.参考

    csdn

  • 相关阅读:
    GB/T 40623-2021 船用防静电升高地板检测
    【原创分享】详述中间件的前世今生
    CASS11.0.0.4 for AutoCAD2010-2023免狗使用方法
    朴素贝叶斯——垃圾邮件过滤
    HackQuest介绍 web3 学习平台
    【HMS Core】Android引入Scan Kit导致System.loadLibrary无法使用该如何解决?
    多线程之ThreadPoolExecutor
    css - - - - - 去除图片默认的白色背景(混合模式 mix-blend-mode)
    (免费领源码)hadoop#Mysql离线与实时的离线与实时的电影推荐系统10338-计算机毕业设计项目选题推荐
    Leecode 链表
  • 原文地址:https://blog.csdn.net/aaaadong/article/details/126163175