国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案

這篇具有很好參考價(jià)值的文章主要介紹了Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一,平臺(tái)測(cè)試隱私問(wèn)題

場(chǎng)景 1:
APP 未見向用戶明示個(gè)人信息收集使用的目的、方式和范圍,未經(jīng)用戶同意,存在收集 Android ID、SIM 卡信息的行為。(存在風(fēng)險(xiǎn))

Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議

場(chǎng)景 2:
APP 未見向用戶明示 SDK 收集使用個(gè)人信息的目的、方式和范圍,未經(jīng)用戶同意,SDK 存在收集 com.unity3d.player 獲 取 SIM 卡信息、com.unity3d.player 獲取 Android ID 的行為。(存在風(fēng)險(xiǎn))
Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議


二,解決方式一

在Unity啟動(dòng)前,添加Activity 用于進(jìn)行隱私政策的展示和授權(quán)。

PS:不導(dǎo)出安卓工程直接打包apk的方式可以使用此解決方案,導(dǎo)出安卓工程的打包apk方式的看后面的方案二。

下面是在Unity中的操作步驟。

2.1 勾選自定義Mainifest

勾選自定義Mainifest。Project Settings --> Player --> Andorid–>Publishing Settings -->Custom Main Manifest
Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議

2.2 修改自定義Mainifest

最終的Mainifest截圖:
Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議

添加代碼釋義:

  • 設(shè)置為主 Activity,當(dāng)應(yīng)用程序啟動(dòng)時(shí)。系統(tǒng)將會(huì)查找具有該 intent action 的 Activity 并將其作為默認(rèn)啟動(dòng)界面。
    <action android:name="android.intent.action.MAIN" />

  • 設(shè)置為啟動(dòng) Activity。 它將會(huì)在應(yīng)用程序列表中顯示一個(gè)應(yīng)用圖標(biāo),并且當(dāng)用戶點(diǎn)擊次圖標(biāo)時(shí),它將作為默認(rèn)啟動(dòng)界面啟動(dòng)應(yīng)用程序。
    <category android:name="android.intent.category.LAUNCHER" />

  • 添加網(wǎng)絡(luò)訪問(wèn)權(quán)限
    <uses-permission android:name="android.permission.INTERNET"/>


最終的AndroidManifest源碼:

<?xml version="1.0" encoding="utf-8"?>
<manifest
        xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.unity3d.player"
        xmlns:tools="http://schemas.android.com/tools">
    <application>
        <activity android:name="com.unity3d.player.PrivacyActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.unity3d.player.UnityPlayerActivity"
                  android:theme="@style/UnityThemeSelector">
            <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
        </activity>
    </application>
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

2.3 隱私協(xié)議彈窗邏輯

創(chuàng)建PrivacyActivity.java文件,路徑:Assets/Plugins/Android/com.unity3d.player/PrivacyActivity.java

Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議

注意文件夾名稱不要寫錯(cuò),因?yàn)閁nity導(dǎo)出的安卓工程使用的就是com.unity3d.player路徑。

Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議


使用時(shí)需將下面代碼:隱私政策的描述和網(wǎng)絡(luò)地址 修改為自己的項(xiàng)目需要的即可。代碼注釋比較詳細(xì)不在贅述。

PrivacyActivity 代碼如下:

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.os.Bundle;
import android.webkit.WebView;
 
public class PrivacyActivity extends Activity implements DialogInterface.OnClickListener {

   // 隱私協(xié)議內(nèi)容
   final String privacyContext =
             "歡迎使用本游戲,在使用本游戲前,請(qǐng)您充分閱讀并理解 <a href=\"https://blog.csdn.net/czhenya\">" +
             "《用戶協(xié)議》</a>和<a href=\"https://blog.csdn.net/czhenya\">《隱私政策》</a>各條;\n" +
     "1.保護(hù)用戶隱私是本游戲的一項(xiàng)基本政策,本游戲不會(huì)泄露您的個(gè)人信息;\n" +
     "2.我們會(huì)根據(jù)您使用的具體功能需要,收集必要的用戶信息(如申請(qǐng)?jiān)O(shè)備信息,存儲(chǔ)等相關(guān)權(quán)限);\n" +
     "3.在您同意App隱私政策后,我們將進(jìn)行集成SDK的初始化工作,會(huì)收集您的android_id、Mac地址、IMEI和應(yīng)用安裝列表,以保障App正常數(shù)據(jù)統(tǒng)計(jì)和安全風(fēng)控;\n" +
     "4.為了方便您的查閱,您可以通過(guò)“設(shè)置”重新查看該協(xié)議;\n" +
     "5.您可以閱讀完整版的隱私保護(hù)政策了解我們申請(qǐng)使用相關(guān)權(quán)限的情況,以及對(duì)您個(gè)人隱私的保護(hù)措施。";
     
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
  
        // 如果已經(jīng)同意過(guò)隱私協(xié)議則直接進(jìn)入U(xiǎn)nity Activity
        if (GetPrivacyAccept()){
            EnterUnityActivity();
            return;
        }
        // 彈出隱私協(xié)議對(duì)話框
        ShowPrivacyDialog();
    }
 
    // 顯示隱私協(xié)議對(duì)話框
    private void ShowPrivacyDialog(){
        WebView webView = new WebView(this);
        webView.loadData(privacyContext, "text/html", "utf-8");         
        AlertDialog.Builder privacyDialog = new AlertDialog.Builder(this);
        privacyDialog.setCancelable(false);
        privacyDialog.setView(webView);
        privacyDialog.setTitle("提示");
        privacyDialog.setNegativeButton("拒絕",this);
        privacyDialog.setPositiveButton("同意",this);
        privacyDialog.create().show();
    }
    
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {
        switch (i){
            case AlertDialog.BUTTON_POSITIVE://點(diǎn)擊同意按鈕
                SetPrivacyAccept(true);
                EnterUnityActivity(); //啟動(dòng)Unity Activity
                break;
            case AlertDialog.BUTTON_NEGATIVE://點(diǎn)擊拒絕按鈕,直接退出App
                finish();
                break;
        }
    }
    
    // 啟動(dòng)Unity Activity
    private void EnterUnityActivity(){
        Intent unityAct = new Intent();
        unityAct.setClassName(this, "com.unity3d.player.UnityPlayerActivity");
        this.startActivity(unityAct);
    }
    
    // 本地存儲(chǔ)保存同意隱私協(xié)議狀態(tài)
    private void SetPrivacyAccept(boolean accepted){
        SharedPreferences.Editor prefs = this.getSharedPreferences("PlayerPrefs", MODE_PRIVATE).edit();
        prefs.putBoolean("PrivacyAcceptedKey", accepted);
        prefs.apply();
    }
    
    // 獲取是否已經(jīng)同意過(guò)
    private boolean GetPrivacyAccept(){
        SharedPreferences prefs = this.getSharedPreferences("PlayerPrefs", MODE_PRIVATE);
        return prefs.getBoolean("PrivacyAcceptedKey", false);
    }
}

至此,就完成全部流程了,直接導(dǎo)出apk。運(yùn)行會(huì)先彈出隱私界面,同意后才啟動(dòng)Unity

Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議


三,解決方式二

此方案適用于Unity項(xiàng)目導(dǎo)出Android工程后在打包apk的方式。邏輯同上,只是將上面在Unity里面的操作修改到Android工程中了。

操作步驟如下:

3.1 導(dǎo)出安卓工程

  1. 目標(biāo)平臺(tái)切換到Android
  2. 勾選Export Project
  3. 點(diǎn)擊Export選擇導(dǎo)出目錄導(dǎo)出即可
    Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議

導(dǎo)出后工程目錄:
Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議

然后使用AndroidStudio打開即可
Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議


3.2 創(chuàng)建上層Activity

還是使用的上文2.3中的代碼邏輯,在com.unity3d.player下創(chuàng)建PrivacyActivity把代碼粘貼進(jìn)去即可:

將工程模式調(diào)整成Project,即可看到下圖一樣的目錄結(jié)構(gòu):
Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議


3.3 配置AndroidManifest

添加新的PrivacyActivity,然后將UnityPlayerActivity中的intent-filter 剪切上來(lái):

<activity android:name="com.unity3d.player.PrivacyActivity"
        android:exported="true">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
</activity>

Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議


四,源碼分享

實(shí)現(xiàn)邏輯就是在Unity啟動(dòng)前添加一個(gè)同意隱私的彈出,實(shí)現(xiàn)步驟就按照上面的操作即可,還有不明白的童鞋可以評(píng)論或私信,我看到就會(huì)及時(shí)回復(fù)。

為了便于以后其他項(xiàng)目復(fù)用,我導(dǎo)出UnityPackage和安卓工程進(jìn)行保存:
Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議
工程源碼
Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案,ジ﹋★☆『 引擎進(jìn)階 』,unity,游戲引擎,隱私協(xié)議
點(diǎn)擊下面????卡片,回復(fù) 隱私 可獲得上圖解決隱私問(wèn)題的源碼工程~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-524516.html

到了這里,關(guān)于Unity 之 超級(jí)詳細(xì)的隱私問(wèn)題解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • uniapp 微信小程序最新隱私彈窗更新方案,更新后無(wú)法登錄問(wèn)題解決方案

    uniapp 微信小程序最新隱私彈窗更新方案,更新后無(wú)法登錄問(wèn)題解決方案

    uni-popup ref=\\\"popusAuthorization\\\" type=\\\"center\\\" :maskClick=\\\"false\\\" view class=\\\"contentview\\\" view class=\\\"title\\\"隱私保護(hù)指引/view view class=\\\"des\\\" @click=\\\"openPrivacyContract\\\" 在使用當(dāng)前小程序服務(wù)之前,請(qǐng)仔細(xì)閱讀text style=\\\"color: #07c160;\\\"{{privacyContractName}}/text。如你同意{{privacyContractName}},請(qǐng)點(diǎn)擊“同意”開始使

    2024年02月09日
    瀏覽(26)
  • 【大數(shù)據(jù)開發(fā)運(yùn)維解決方案】超級(jí)詳細(xì)的VMware16安裝Redhat8&掛載鏡像配置本地yum源&安裝unixODBC教程

    【大數(shù)據(jù)開發(fā)運(yùn)維解決方案】超級(jí)詳細(xì)的VMware16安裝Redhat8&掛載鏡像配置本地yum源&安裝unixODBC教程

    今兒同事反饋在Informatica對(duì)接達(dá)夢(mèng)數(shù)據(jù)庫(kù)的過(guò)程中,需要安裝ODBC,官方推薦的是ODBC2.3.0,同事使用的操作系統(tǒng)環(huán)境為redhat8.6,其在 ./configure 編譯ODBC過(guò)程中出現(xiàn)問(wèn)題,一波操作后安裝失敗,博主簡(jiǎn)單分析錯(cuò)誤日志后發(fā)現(xiàn)編譯過(guò)程中需要安裝并更新一些gcc編譯器,他使用的服務(wù)器

    2024年02月03日
    瀏覽(37)
  • unity游戲,插入聚合廣告TopOn,優(yōu)量匯,穿山甲,groMore,快手等,隱私協(xié)議解決方案!(包括傳感器的使用目的和方式,還有Sdk使用Mac地址和軟件列表的目的)

    很久以前參考別的大佬的代碼,忘了來(lái)源,因?yàn)樾掠螒蛟黾恿艘恍〇|西,上架TapTap不合格,原因是少了傳感器的使用目的和方式,還有Sdk使用Mac地址和軟件列表的目的。 所以補(bǔ)充了傳感器和軟件列表。 只需要把這個(gè)代碼放到UNITY項(xiàng)目的Editor目錄,打包就有彈窗。

    2024年02月13日
    瀏覽(32)
  • Unity 音頻卡頓 靜幀 等待等問(wèn)題的解決方案

    是否遇到過(guò)在Unity中加載音頻文件卡頓(也就是畫面卡?。┑默F(xiàn)象?特別是加載外部音頻文件時(shí)。雖然時(shí)間很短,但這終歸不是什么好現(xiàn)象,尤其是打游戲的話,影響很大。但是一些有牌面的Boss也不能不配音樂(lè)。 當(dāng)然也可以通過(guò)其它方式解決,比如特定條件統(tǒng)一加載、切場(chǎng)景

    2024年02月11日
    瀏覽(49)
  • 電腦藍(lán)屏問(wèn)題排查和解決方案(超全面,超詳細(xì))

    電腦藍(lán)屏問(wèn)題排查和解決方案(超全面,超詳細(xì))

    本篇文章適用于 解決電腦能正常開機(jī),但是用一會(huì)后就藍(lán)屏 的問(wèn)題。按照下面的順序進(jìn)行檢查和修復(fù), 絕大部分藍(lán)屏問(wèn)題都能得到解決 。 電腦藍(lán)屏可以從三個(gè)方面進(jìn)行檢查: 1、內(nèi)存條,2、硬盤,3、程序或者軟件驅(qū)動(dòng)。 1.內(nèi)存條 內(nèi)存條出問(wèn)題或者損壞會(huì)導(dǎo)致電腦藍(lán)屏,可

    2024年02月09日
    瀏覽(17)
  • unity使用videoplayer組件播放視頻黑屏問(wèn)題解決方案

    1、視頻使用動(dòng)態(tài)加載方式 2、資源需要放到resource文件夾下,不能被打成ab 3、資源打包的時(shí)候不能被壓縮,在android打包文件設(shè)置成不壓縮 ??build.gradle文件: 可能出現(xiàn)的問(wèn)題: 導(dǎo)出的Android版本播放視頻只用聲音沒(méi)有畫面,初始化VideoPlayer組件時(shí),Android平臺(tái)的報(bào)錯(cuò)提示是:E/

    2024年02月13日
    瀏覽(27)
  • 【Unity】Animator Controller中動(dòng)畫消失 顯示問(wèn)題分析及解決方案

    Unity中的Animator Controller界面突然顯示空白,編輯好的動(dòng)畫可以正常播放,但Animator ControllerAnimator Controller界面就是不顯示。重啟后就再次出現(xiàn),啟動(dòng)項(xiàng)目后就又消失 可能是Unity緩存問(wèn)題,重新生成Unity中緩存文件即可。 關(guān)閉Unity編輯器 打開項(xiàng)目所在位置的 Library 文件夾 將該文

    2024年02月11日
    瀏覽(34)
  • 跨域問(wèn)題踩坑記錄——附多種報(bào)錯(cuò)詳細(xì)解決方案

    跨域問(wèn)題踩坑記錄——附多種報(bào)錯(cuò)詳細(xì)解決方案

    跨域是出于瀏覽器的同源策略限制。同源策略(Sameoriginpolicy)是一種約定,它是瀏覽器最核心也最基本的安全功能,當(dāng)一個(gè)請(qǐng)求url的 協(xié)議、域名、端口 三者之間任意一個(gè)與當(dāng)前頁(yè)面url不同即為跨域。 同源策略是瀏覽器的一個(gè)安全功能,不同源的客戶端腳本在沒(méi)有明確授權(quán)的

    2024年02月04日
    瀏覽(20)
  • Unity連接數(shù)據(jù)庫(kù)mysql全過(guò)程+可能遇到的問(wèn)題與解決方案

    Unity連接數(shù)據(jù)庫(kù)mysql全過(guò)程+可能遇到的問(wèn)題與解決方案

    目錄 一、具備條件 二、unity連接mysql 三、問(wèn)題總結(jié) 1. Mysql安裝完成 ????????安裝完成后需要查看mysql的版本,打開終端(管理者身份運(yùn)行),輸入以下語(yǔ)句登錄mysql,查看MySQL版本; 可以看到我下載的版本是 5.7.38; 2. MySQL Connector/NET下載 目的:為了搭建unity連接mysql的環(huán)境

    2024年02月03日
    瀏覽(23)
  • 數(shù)據(jù)安全與訪問(wèn)控制:實(shí)現(xiàn)數(shù)據(jù)隱私和安全的解決方案

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 隨著互聯(lián)網(wǎng)信息技術(shù)的迅速發(fā)展、社會(huì)生活的數(shù)字化和網(wǎng)絡(luò)化、企業(yè)的數(shù)字化轉(zhuǎn)型,越來(lái)越多的公司及組織希望通過(guò)數(shù)據(jù)管理、存儲(chǔ)和處理等方式實(shí)現(xiàn)對(duì)個(gè)人或單位的數(shù)據(jù)安全、保護(hù)、控權(quán)等,有效保障其合法權(quán)益和社會(huì)公共利益。數(shù)據(jù)安全和

    2024年02月04日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包