当前位置: 首页 > wzjs >正文

我公司是帮企业做网站的_现在要帮客户们的网站备案长春网站优化流程

我公司是帮企业做网站的_现在要帮客户们的网站备案,长春网站优化流程,如何做服装微商城网站建设,成都哪里有做网站建设的前言:这篇仅对于unity 发布Android端上架国内应用商店添加隐私协议,隐私协议是很重要的东西,没有这个东西,是不上了应用商店的。 对于仅仅添加隐私协议,我知道有三种方式,第一种和第二种基本一样 1.直接在unity里面新…

前言:这篇仅对于unity 发布Android端上架国内应用商店添加隐私协议,隐私协议是很重要的东西,没有这个东西,是不上了应用商店的。

对于仅仅添加隐私协议,我知道有三种方式,第一种和第二种基本一样
1.直接在unity里面新建PrivacyActivity.java,然后自定义一下AndroidManifest,就可以(就是直接在unity里面建java类了)(复杂度 低)
2.从Android studio 里面打出arr包,导入unity 里面使用 (复杂度 高)
3.从unity里面导出android studio 工程,在Android studio里面添加 (复杂度 高)

如何选择,这三种方法,我个人建议,如果只是添加隐私协议这种简单的需求,第一种就可以。我会实际演示这三种方式
以下是第二和第三方法的优缺点对比:

方法优点缺点
从 Android Studio 导出 AAR 包到 Unity1. 灵活性高,可以专注于 Android 原生代码的开发,而 Unity 负责游戏逻辑和渲染。 2. 适合需要在 Unity 中调用 Android 原生功能的场景,比如调用 Android 的 API 或第三方 SDK。 3. AAR 包可以独立于 Unity 项目开发和维护,便于模块化管理。1. 需要额外的步骤来确保 AAR 包与 Unity 的兼容性,比如导入 classes.jar 和处理资源文件冲突。 2. 如果需要频繁修改 Android 代码,每次都需要重新导出 AAR 包并更新 Unity 项目,流程相对繁琐。
从 Unity 导出 Android Studio 工程,在 Android Studio 里面添加1. 适合需要对 Unity 生成的 Android 项目进行深度定制的场景,比如修改 Gradle 配置、添加原生代码或第三方库。 2. 可以直接在 Android Studio 中调试和优化 Unity 生成的代码,便于解决复杂的构建问题。1. Unity 导出的 Android 工程结构复杂,包含大量自动生成的代码,可能增加开发和维护的难度。 2. 如果需要频繁在 Unity 和 Android Studio 之间切换开发,可能会导致项目文件的不一致。

因为这个字数比较多,我先介绍一下第三中,第一二种,后续会更新

三.第三种方法

从unity里面导出android studio 工程,在Android studio里面添加

步骤介绍,四步走

  • 第一步从unity打包出Android studuio 工程文件
    -在这里插入图片描述
  • 第二步 使用Android studio 打开项目
    -在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
我这里选的是Use Android Studio SDK,点击完成后,就打开了

  • 第三步,新建一个软件包,(我们把自己写逻辑代码都放在里面,比如隐私协议啊,或者微信登录支付什么的都可以放在这里,软件包的本质就是一个文件夹),具体步骤如下图
    右上角,视图选择为项目,Android studio 好几种视图模式,我们这里选择项目
    在这里插入图片描述
  • 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 第四步,在com.companyName.projcetName,文件夹下新建一个PrivacyActvity活动,(实现我们隐私协议部分),并替换代码,具体如下图
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

package com.companyName.projectName; //这里修改为你的包名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.util.TypedValue;
import android.webkit.WebView;public class PrivacyActivity extends Activity implements DialogInterface.OnClickListener {private static final String PREFS_NAME = "PlayerPrefs"; // SharedPreferences的文件名private static final String PRIVACY_ACCEPTED_KEY = "PrivacyAcceptedKey"; // 用于存储用户是否同意隐私政策的键@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 检查用户是否已经同意隐私政策if (getPrivacyAccept()) {// 如果已经同意,直接进入Unity主ActivityenterUnityActivity();return;}// 如果未同意,显示隐私政策对话框showPrivacyDialog();}private String buildPrivacyHtml() {// 在这里设置隐私政策和用户协议的链接,修改为你的String userAgreementUrl = "https://blog.csdn.net/weixin_45478456?type=blog";String privacyPolicyUrl = "https://blog.csdn.net/weixin_45478456?type=blog";// 动态生成隐私政策的HTML内容return "欢迎使用本应用,在使用本应用前,请您充分阅读并理解 " +"<a href=\"" + userAgreementUrl + "\">《用户协议》</a>和" +"<a href=\"" + privacyPolicyUrl + "\">《隐私政策》</a>各条;" +"<br/>" +"1.保护用户隐私是本应用的一项基本政策,本应用不会泄露您的个人信息;" +"<br/>" +"2.我们会根据您使用的具体功能需要,收集必要的用户信息(如申请设备信息,存储等相关权限);" +"<br/>" +"3.在您同意App隐私政策后,我们将进行集成SDK的初始化工作,会收集您的android_id、Mac地址、IMEI和应用安装列表,以保障App正常数据统计和安全风控;" +"<br/>" +"4.为了方便您的查阅,您可以通过“设置-关于我们”重新查看该协议;" +"<br/>" +"5.您可以阅读完整版的隐私保护政策了解我们申请使用相关权限的情况,以及对您个人隐私的保护措施。";}private void showPrivacyDialog() {// 创建一个WebView用于显示隐私政策的HTML内容WebView webView = new WebView(this);webView.loadData(buildPrivacyHtml(), "text/html", "utf-8");// 创建一个不可取消的对话框AlertDialog.Builder privacyDialog = new AlertDialog.Builder(this);privacyDialog.setCancelable(false);privacyDialog.setView(webView); // 设置WebView为对话框的内容视图privacyDialog.setTitle("提示"); // 设置对话框标题// 设置“拒绝”按钮,并指定点击事件监听器privacyDialog.setNegativeButton("拒绝", this);// 设置“同意”按钮,并指定点击事件监听器privacyDialog.setPositiveButton("同意", this);// 创建并显示对话框privacyDialog.create().show();}@Overridepublic void onClick(DialogInterface dialogInterface, int i) {// 处理对话框按钮点击事件switch (i) {case AlertDialog.BUTTON_POSITIVE:// 如果点击了“同意”按钮setPrivacyAccept(true); // 保存用户同意隐私政策的状态enterUnityActivity(); // 进入Unity主Activitybreak;case AlertDialog.BUTTON_NEGATIVE:// 如果点击了“拒绝”按钮finish(); // 结束当前Activity,退出应用break;}}private void enterUnityActivity() {// 创建一个Intent,用于启动Unity主ActivityIntent unityAct = new Intent();unityAct.setClassName(this, "com.unity3d.player.UnityPlayerActivity");startActivity(unityAct);}private void setPrivacyAccept(boolean accepted) {// 使用SharedPreferences保存用户是否同意隐私政策的状态SharedPreferences.Editor prefs = getSharedPreferences(PREFS_NAME, MODE_PRIVATE).edit();prefs.putBoolean(PRIVACY_ACCEPTED_KEY, accepted);prefs.apply(); // 提交更改}private boolean getPrivacyAccept() {// 从SharedPreferences中获取用户是否同意隐私政策的状态,默认为falseSharedPreferences prefs = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);return prefs.getBoolean(PRIVACY_ACCEPTED_KEY, false);}}

代码关键处都注释了,不懂,拿代码直接问AI就好

  • 第五步,替换AndroidManifest.xml里的内容,具体如图,代码在图下面(!注意,这里的内容和第一个,第二个方法里的不同)
    在这里插入图片描述
    在这里插入图片描述
    AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><uses-permission android:name="android.permission.INTERNET" /><uses-feature android:glEsVersion="0x00030000" /><uses-featureandroid:name="android.hardware.vulkan.version"android:required="false" /><uses-featureandroid:name="android.hardware.touchscreen"android:required="false" /><uses-featureandroid:name="android.hardware.touchscreen.multitouch"android:required="false" /><uses-featureandroid:name="android.hardware.touchscreen.multitouch.distinct"android:required="false" /><application android:extractNativeLibs="true"><activityandroid:name="com.companyName.projectName.PrivacyActivity"android:exported="true"><!-- 添加以下 intent-filter --><intent-filter><category android:name="android.intent.category.LAUNCHER" /><action android:name="android.intent.action.MAIN" /></intent-filter></activity><meta-dataandroid:name="unity.splash-mode"android:value="0" /><meta-dataandroid:name="unity.splash-enable"android:value="True" /><meta-dataandroid:name="unity.launch-fullscreen"android:value="True" /><meta-dataandroid:name="unity.render-outside-safearea"android:value="True" /><meta-dataandroid:name="notch.config"android:value="portrait|landscape" /><meta-dataandroid:name="unity.auto-report-fully-drawn"android:value="true" /><activityandroid:name="com.unity3d.player.UnityPlayerActivity"android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density"android:exported="true"android:hardwareAccelerated="false"android:launchMode="singleTask"android:resizeableActivity="false"android:screenOrientation="fullUser"android:theme="@style/UnityThemeSelector"><meta-dataandroid:name="unityplayer.UnityActivity"android:value="true" /><meta-dataandroid:name="notch_support"android:value="true" /></activity></application></manifest>
  • 第六步,打包测试,我这里用的是雷电模拟器测试,步骤如下
    先打开雷电模拟器
    在这里插入图片描述

在这里插入图片描述
等待一会,就可以在模拟器里看到了
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
这样子就OK啦

如果想打包出正式版本,打包出apk的话,大致步骤如下图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
填写好之后,无脑下一步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
成功后,去下图项目这个文件夹就可以找到apk
在这里插入图片描述

至此,结束,如果简单添加隐私协议个人推荐第一种或者直接使用我打包好的第二种方法的arr包。我使用第三种只是因为公司电脑环境复杂,无法打包出来,修了一天,试了N多种方法没解决,又不能重装,所以才使用第三种。 如果有任何疑问,可以私信联系我,尽量回复。个人拙作,欢迎斧正、转载。

http://www.dtcms.com/wzjs/158397.html

相关文章:

  • 聚名网是干嘛的优化关键词排名工具
  • 什么是网站建设和维护google关键词工具
  • 谢岗网站建设网店运营教学
  • 做网站+广告费+步骤河南整站关键词排名优化软件
  • 网站克隆下来了然后再怎么做百度竞价开户3000
  • win 2003 网站 管理员seo爱站网
  • 乡村旅游网站建设企业seo关键词优化
  • 做购物网站的费用物联网开发
  • 平乡网站制作推广员是干什么的
  • 有没有一个网站做黄油视频黄页网络的推广网站有哪些软件
  • wamp可以做视频网站吗石家庄网络推广优化
  • 天津哪家做企业网站蜜雪冰城推广软文
  • 京东淘宝网站是怎么做的知乎推广优化
  • php网站开发步骤百度热词指数
  • jsp酒店预订网站开发济南百度开户电话
  • 暖色系网站模板免费发布活动的平台
  • 苏州大型网站建设公司接app推广的单子在哪接
  • 秦皇岛网站制作价格seo搜索引擎优化价格
  • 一男一女做那个的动漫视频网站首页
  • 松江做微网站百度一下你就知道下载安装
  • 织梦更换网站模板发稿吧
  • 门户系统设计成都做整站优化
  • 网站建实例建立个人网站
  • 上海网站建设网页制作app优化建议
  • 宁波怎么做网站排名优化宁波seo推广定制
  • 手机赌博澳门网站开发宁德市是哪个省
  • 全国十大网站建设公司排名网站推广怎样做
  • 怎样申请网站空间南昌seo推广
  • wordpress 编辑器增加翻译按钮seo线下培训课程
  • 编程猫官方网站入口厦门seo测试