热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

uniapp开发APP上架应用市场遇到的坑

1.APP强制、频繁、过度索取权限描述:APP首次打开(或其他时机),未见使用对应的相关产品服务时、提前向用户弹窗申请开启通讯录定位短信录音相机XXX等权限解决:permissio

1.APP强制、频繁、过度索取权限

描述:APP首次打开(或其他时机),未见使用对应的相关产品服务时、提前向用户弹窗申请开启通讯录/定位/短信/录音/相机/XXX等权限
解决:

"permissionExternalStorage" : {
"request" : "none"
},
"permissionPhoneState" : {
"request" : "none"
},
//这里解决了问题、但是后面还要弹出隐私政策还要改

附上官网地址:https://ask.dcloud.net.cn/article/36937

2、应用未加固

解决:
下载360加固宝,按步骤一步一步来,最后默认的配置就行,把打好的正式包上传到加固保上去,他加固完成后会生成一个加固后的包,体积稍微大了一点,是加固后的,就OK了。
下载地址:https://jiagu.360.cn/#/global/download

3.应用板块里未发现用户协议和隐私协议的常驻入口

解决:
在个人中心呀、设置啊,随便哪个页面加一个隐私协议和用户协议的入口就行了

4.应用不兼容安卓4.4以下版本

解决:
manifest.json => App常用其他设置 => minSdkVersion
《uni-app开发APP上架应用市场遇到的坑》这里minSdkVersion 是兼容的最低版本,安卓4.4版本对应的挨批等级是19
minSdkVersion 如果不填默认的是19
targetSdkVersion:官网是这么说的(targetSdkVersion用于指定应用适配的Android版本(API等级))我理解的是;适配的最高版本,不过我填的28对应安卓版本安卓9.0,安装到安卓10上也没毛病
targetSdkVersion如果不写默认的是26也就是安卓8.0版本
附上官网地址:https://ask.dcloud.net.cn/article/193

暂时就这么多,第一次用uniapp,第一次开发APP,上架被打回来10多次,目前还在审核。。。
2021-08-16

2021-08-17-更新、、

5、我们发现您的应用在用户同意隐私政策前申请获取用户个人信息(IMEI, 设备ID)

这个有两个版本,HBuilderX3.2.0以下 的解决方式是这个:

解决:
manifest.json => app-plus => 配置privacy

"privacy" : {
"prompt" : "template",
"template" : {
"title" : "服务协议和隐私政策",
"message" : "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。
  你可阅读《服务协议》《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。"
,
"buttonAccept" : "同意",
"buttonRefuse" : "暂不同意",
"second" : {
"title" : "温馨提示",
"message" : "  进入应用前,你需先同意《服务协议》《隐私政策》,否则将退出应用。",
"buttonAccept" : "同意并继续",
"buttonRefuse" : "退出应用"
}
}
},

HBuilderX3.2.1及以上版本配置方式

打开项目的manifest.json文件,切换到“App启动界面配置”,在“Android启动界面样式”中勾选“使用原生隐私政策提示框”

勾选后会在项目中自动添加androidPrivacy.json文件,可以双击打开自定义配置以下内容

{
"version": "1",
"prompt": "template",
"title": "服务协议和隐私政策",
"message": "  请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款,包括但不限于:为了更好的向你提供服务,我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。
  你可阅读《服务协议》《隐私政策》了解详细信息。如果你同意,请点击下面按钮开始接受我们的服务。"
,
"buttonAccept": "同意并接受",
"buttonRefuse": "暂不同意",
"second": {
"title": "确认提示",
"message": "  进入应用前,你需先同意《服务协议》《隐私政策》,否则将退出应用。",
"buttonAccept": "同意并继续",
"buttonRefuse": "退出应用"
},
"styles": {
"backgroundColor": "#00FF00",
"borderRadius":"5px",
"title": {
"color": "#ff00ff"
},
"buttonAccept": {
"color": "#ffff00"
},
"buttonRefuse": {
"color": "#00ffff"
}
}
}

其实我感觉都差不多,都能实现,只是一个专门生成了一个json文件,用来管理这个。

官网地址:https://ask.dcloud.net.cn/article/36937

6、经检测发现,您的应用中集成了com.amap.api(高德地图;高德导航;高德定位;阿里高德地图;高德) 等SDK,但未在应用内的隐私政策/在AppGallery Connect上提交的隐私政策网址内容中进行明示。

解决:
uni-app默认集成三方SDK:

SDK名称SDK包名SDK用途可能获取的个人信息类型调用的设备权限官网链接
阿里weexSDKcom.taobaouni-app基础模块默认集成,用于渲染uniapp的nvue页面引擎存储的个人文件读取外置存储器、写入外置存储器http://doc.weex.io/zh
fresco图片库com.facebook.frescouni-app基础模块默认集成,用于nvue页面加载图片使用存储的个人文件读取外置存储器、写入外置存储器https://www.fresco-cn.org/

项目还有其他的sdk在这里也可以勾选:
《uni-app开发APP上架应用市场遇到的坑》
我的项目默认勾选了地图模块,取消勾选打包后体积减少了10M

解决办法是两种,要么在隐私政策中加入SDK说明,要么就配置删除不需要的SDK,
SDK相关配置在manifest.json下面的 sdkConfigs 里面配置,复制一下去代码Ctrl + F搜一下就看到了,
官网说明在这:https://uniapp.dcloud.io/collocation/manifest?id=sdkconfigs

7、我们发现您的应用存在不合理获取短信/通话记录相关权限的行为

这个在权限那块儿配置,manifest.json => 源码视图 => permissions 下面配置,或者在APP权限配置里找也行,驳回的说明里应该有例样

例如:READ_SMS、SEND_SMS权限。请参考《审核指南》第7.9条:https://developer.huawei.com/consumer/en/doc/distribution/app/50104
修改建议:请您定位修复或使用其他相关权限替代。

全局搜索:READ_SMS、SEND_SMS,我的解决方案就是,有我就删了,就不会在因为这个驳回了,具体,还不知道怎么整。,,,


推荐阅读
  • 在PHP中实现腾讯云接口签名,以完成人脸核身功能的对接与签名配置时,需要注意将文档中的POST请求改为GET请求。具体步骤包括:使用你的`secretKey`生成签名字符串`$srcStr`,格式为`GET faceid.tencentcloudapi.com?`,确保参数正确拼接,避免因请求方法错误导致的签名问题。此外,还需关注API的其他参数要求,确保请求的完整性和安全性。 ... [详细]
  • 今天我开始学习Flutter,并在Android Studio 3.5.3中创建了一个新的Flutter项目。然而,在首次尝试运行时遇到了问题,Gradle任务 `assembleDebug` 执行失败,退出状态码为1。经过初步排查,发现可能是由于依赖项配置不当或Gradle版本不兼容导致的。为了解决这个问题,我计划检查项目的 `build.gradle` 文件,确保所有依赖项和插件版本都符合要求,并尝试更新Gradle版本。此外,还将验证环境变量配置是否正确,以确保开发环境的稳定性。 ... [详细]
  • 深入解析HTTP网络请求API:从基础到进阶的全面指南
    本文全面解析了HTTP网络请求API,从基础到进阶,详细介绍了Android平台上的两种原生API——HttpUrlConnection和HttpClient。这两种API通过对底层Socket的封装,提供了高效、灵活的网络通信功能。文章不仅涵盖了基本的使用方法,还深入探讨了性能优化、错误处理和安全性等方面的高级主题,帮助开发者更好地理解和应用这些工具。 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 在Delphi7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本。定义如下:1234 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • MATLAB字典学习工具箱SPAMS:稀疏与字典学习的详细介绍、配置及应用实例
    SPAMS(Sparse Modeling Software)是一个强大的开源优化工具箱,专为解决多种稀疏估计问题而设计。该工具箱基于MATLAB,提供了丰富的算法和函数,适用于字典学习、信号处理和机器学习等领域。本文将详细介绍SPAMS的配置方法、核心功能及其在实际应用中的典型案例,帮助用户更好地理解和使用这一工具箱。 ... [详细]
  • 卓盟科技:动态资源加载技术的兼容性优化与升级 | Android 开发者案例分享
    随着游戏内容日益复杂,资源加载过程已不仅仅是简单的进度显示,而是连接玩家与开发者的桥梁。玩家对快速加载的需求越来越高,这意味着开发者需要不断优化和提升动态资源加载技术的兼容性和性能。卓盟科技通过一系列的技术创新,不仅提高了加载速度,还确保了不同设备和系统的兼容性,为用户提供更加流畅的游戏体验。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
author-avatar
浅唱_夏染_744
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有