uni-app小米商城上架问题:因弹出授权框被小米拒绝上架

uni-app小米商城上架问题:因弹出授权框被小米拒绝上架
所有的权限多已经设置为none了,我的红米手机还是首次启动没有任何的弹框了,但是上架之后,小米那边还是能检测出有弹框问题

image

然后给小米那边进行邮件说明

image

小米那边也给出了视频回复我,确实是有弹框的

image

但是我的已经按照要求对permissionPhoneState和permissionExternalStorage多已经设置为none了

image

我想问一下官方这种情况该怎么处理,一直影响小米上架


更多关于uni-app小米商城上架问题:因弹出授权框被小米拒绝上架的实战教程也可以访问 https://www.itying.com/category-93-b0.html

79 回复

开发者如果遇到应用启动弹出权限框导致无法上架的问题 ,请先按照以下步骤自查:

是否按照应用启动会主动申请手机存储权限、访问设备信息权限影响应用上架进行配置,如果已经配置,请仔细检查一下是否有多余空格可能导致的解析异常。另外HX3.5.5+版本不需要额外配置,默认应用启动时不会申请存储和设备信息权限
进入首页时或在onLaunch等生命周期函数中是否有业务逻辑触发的权限申请,如主动调用requestPermissions、主动调用plus.device.getInfo等可能需要授权的API。如果有调用相关API,则需要梳理一下业务逻辑,在业务场景需要时再调用,不要提前调用。
按照上述完成配置和逻辑检查后,应用启动仍然弹出授权框,请再回帖或私信我们
本地测试符合预期,上架应用市场仍然失败,请联系应用市场获取具体的驳回信息或联系我们

更多关于uni-app小米商城上架问题:因弹出授权框被小米拒绝上架的实战教程也可以访问 https://www.itying.com/category-93-b0.html


是的,大概率是plus.device.getInfo这个获取设备信息的时候触发了,导致了在一些小米手机上出现

uni.getSystemInfo 请问下,这个会触发权限吗

回复 1***@qq.com: 同问 这个会触发权限吗

回复 愿随风丶飘雪: 不会

回复 DCloud_Android_YJC: 明白了 谢谢

上架小米应用市场,检测风险提示”授权前行为:oaid-sdk,MSA移动安全联盟SDK,数字天堂SDK ,获取OAID“ ,难道在应用启动时,已经在收集用户信息了?

能帮我看看吗,我的小米上架也是 通过不了。另外加了 截图上的东西,云打包一直卡在 编译中… , 去掉这个配置就好了

卡在编译中没有报错吗?把上面的配置换一个位置,换到permissions节点下面试试

我也遇到这个问题了,我们这边没有任何弹框,小米那边就有

九月的时候给我的app直接下架了,现在又因为这个问题一直上架不了

你好,小米那边有反馈具体是哪个机型弹框吗?

刚刚那我同事的手机测试了一下也弹框了,他的是红米k50,我的是红米k30s ultra,小米那边没有说使用什么手机

红米k20也没有弹框

回复 2***@qq.com: 那还真是奇怪,请联系一下小米官方吧,问下为啥不同机型表现不一致,我这边找测试机再看下是什么问题

回复 DCloud_Android_YJC: 你好,如果确实多设置为none了,还是有这个弹框的话,还有其他解决办法吗?

回复 2***@qq.com: 按理说设置为none是不会弹的,小米还有提供什么信息吗,检测报告和调用堆栈都可以发下

回复 DCloud_Android_YJC: 就一个检测报告就没了,调用堆栈是什么呀

回复 我是纸飞机: 请问你们现在解决了嘛,哪个弹窗问题

这个是小米检测报告中存在问题的地方

请问你最后怎么解决的?我现在也是这个问题,解决不了

回复 x***@21cn.com: 解决了吗?我的现在也是这个问题

回复 3***@qq.com: 上面官方有给解决方案

我这边,vivo会这样提示,怎么改都不行

你好,你的问题也是配置了none,但应用启动时会弹权限框吗?

回复 DCloud_Android_YJC: 我的情况也是 vivo检测为啥能检测出有要电话权限 我所有的权限都取消勾选了

所有权限都取消勾选了 就留了个连网的权限 permissionPhoneState 也设置none了 为啥还能检测出电话权限???

检测出电话权限是什么意思?是应用启动时弹出了权限申请框吗?如果是上架失败,可以提供检测报告具体看下

你可以看看permissionPhoneState后面不能有空格(注意注意),我也是这个问题,找好多,后面莫名其妙通过复测了,应该就是这个原因

插个眼,同样是设置了none,还是会弹出获取手机号的权限框

可以发下安装包,另外使用什么版本HX打包的,出问题的机型是什么?

回复 DCloud_Android_YJC: 我把应用内所有的权限都删除,关闭自动添加三方SDK需要的权限,permissionPhoneState、permissionExternalStorage设置为none才成功上架

我这边小米应用市场也遇到这样的问题。加上以下代码(官方教程),开发工具最新版本(3.6.3),修改后一定要重新自定义基座测试,小米MIX 2S 机型打开,没有获取手机号权限的弹窗提示。后提交到应用市场,已成功审核通过
“permissionPhoneState” : {
“request” : “none”,
“prompt” : “为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许。”
}

你好,请问自定义基座测试这个步骤具体应该怎么操作,我们设置为了none,打包后用公司的红米测试手机测试不会弹,但是官方审核还是会弹,一直过不了审

权限都关闭了,这个也none了 打包之后 华为安装依然提示所有信息 并且vivo审核不过 说软件提前索要电话权限

permissionPhoneState后面不能有空格,我也是这个问题,找好多,后面莫名其妙通过复测了,应该就是这个原因

官方大大能看下不,这问题搞了好多天了,顶不住了

你好,qq私信一下,提供一下检测报告和安装包

permissionPhoneState后面不能有空格,我也是这个问题,找好多,后面莫名其妙通过复测了,应该就是这个原因

回复 我是纸飞机: 具体能发一下配置项的内容吗, 是哪里没有空格 , 我现在也是出现这种问题 , 小米审核不通过

大家如果出现上面这种情况,你可以看看permissionPhoneState后面是否有空格(注意注意一定不能有空格,有空格就是出现我上面那种情况),我也是这个问题,找好多,后面莫名其妙通过复测了,现在在提交app审核了,应该就是这个原因

是标红地方删除空格吗

安装包发下

回复 DCloud_Android_YJC: 已经私信你了

不是,是引号里面多了一个空格,你的是正常的

你好请问你解决了吗

request 设置为none后,还要自己调用 requestPermissions去申请权限吧?

我的也是啊 配置了还是不行啊

安装包发下

回复 DCloud_Android_YJC: 又试了2次又过了

在启动时 ,申请的权限符合当前场景,告知用户获取此权限的目的和用途,就可以审核通过啦

请问一下,这个弹框是怎么做的,系统权限询问什么时候弹出这个无法获知吧

回复 z***@163.com: 解决了吗 这么监听这个状态的呢

请问这个问题解决了吗?目前我们的app也出现这个问题

您好,麻烦问下小米和vivo同样设置了不允许弹出
“permissionExternalStorage” : { “request” : “none”, “prompt” : “应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。” }, “permissionPhoneState” : { “request” : “none”, “prompt” : “为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许。” },
审核依然被拒绝了

拒绝原因是什么,详细描述一下

“permissionPhoneState” : { “request” : “none” }, “permissionExternalStorage” : { “request” : “none” }, 我这样设置了,相关权限也去除了,还是审核不通过,求助!

安装包发一下

回复 DCloud_Android_YJC: https://www.pgyer.com/dBnp

回复 樊笼: 我看了下是配置没有生效,qq号私信一下

回复 DCloud_Android_YJC: 1144646550

回复 DCloud_Android_YJC: 我这个也是一样的提示“APP运行中向用户素取电话、通讯录、定位、短信、权限,影响用户正常使用:”

plus.device.getInfo 这个api会触发这个权限

感谢大佬,你这个解决了我的问题

回复 sendtion: plus.device.getInfo 这个api会触发这个权限 (提示:读取通话状态和移动网络信息)导致审核不过,请问你是咋解决的,求分享

我这样设置了,相关权限也去除了,还是审核不通过,求助! QQ:507230567


你这个是申请位置权限,和上述配置没有关联。检查业务逻辑,不要提前申请权限,如需在首页申请,需要在隐私政策中写清楚

你好,我也有这个问题,我两个权限都设置为none了,小米那边还是提示有那个电话通知框

首页用到定位,申请位置权限,小米市场无法上架

小米他这个是需要在获取权限之前加一个弹窗提示为什么需要获取权限

回复 Sea121: 我就是这么解决的

可以在 AndroidManifest.xml 添加 <uses-permission android:name="android.permission.READ_PHONE_STATE" tools:node="remove" /> 添加对应不需要的权限强制remove

请问现在解决了嘛

还是有这个问题,没解决吗

小米、vivo、OPPO都被拒了,提示 “APP未使用相关功能时,提前申请电话权限”。上个版本没问题

大哥大姐们,你们是怎么解决的?使用扫码的使用我也出现了这个问题

“permissionExternalStorage” : { “request” : “none”, “prompt” : “应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。” }, “permissionPhoneState” : { “request” : “none”, “prompt” : “为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许。” }, 配置了这个也没有用

同样遇到了此问题,怎么解决啊

在处理uni-app开发的小米商城应用上架过程中,如果因为弹出授权框被小米应用商店拒绝,这通常涉及到应用权限申请的方式和用户体验问题。小米应用商店可能要求应用在请求权限时提供更加清晰、用户友好的提示,避免在应用启动时立即弹出权限请求框,以提升用户体验。

以下是一个改进权限请求逻辑的代码示例,使用uni-app框架,通过延迟请求权限或在用户执行特定操作时请求权限,来优化用户体验:

// 假设我们需要请求用户信息权限
const SYSTEM_INFO_PERMISSION = 'scope.userInfo';

// 页面加载时,不立即请求权限
Page({
    onLoad() {
        // 可以在页面加载时做一些初始化操作,但不请求权限
        console.log('页面加载');
    },

    // 用户点击某个按钮时请求权限
    handleGetUserInfo() {
        uni.getSetting({
            success: (res) => {
                if (res.authSetting[SYSTEM_INFO_PERMISSION] !== 'true') {
                    // 用户未授权,则弹出授权框
                    uni.authorize({
                        scope: SYSTEM_INFO_PERMISSION,
                        success: () => {
                            // 用户同意授权,执行后续操作
                            this.getUserInfo();
                        },
                        fail: () => {
                            // 用户拒绝授权,给出提示或处理
                            uni.showToast({
                                title: '您拒绝了授权,将无法使用该功能',
                                icon: 'none'
                            });
                        }
                    });
                } else {
                    // 用户已授权,直接执行后续操作
                    this.getUserInfo();
                }
            }
        });
    },

    getUserInfo() {
        // 用户已授权,获取用户信息
        uni.getUserInfo({
            success: (userInfo) => {
                console.log('获取到的用户信息:', userInfo);
                // 执行后续逻辑,如保存用户信息等
            },
            fail: () => {
                console.error('获取用户信息失败');
            }
        });
    }
});

在这个示例中,我们没有在页面加载时立即请求权限,而是在用户点击某个按钮时请求。这样可以避免应用启动时就弹出权限请求框,从而提升用户体验。同时,通过uni.getSetting检查用户是否已经授权,如果已经授权则直接获取用户信息,未授权则弹出授权框。

此外,确保在应用的隐私政策中明确告知用户应用将请求哪些权限以及这些权限的用途,这是应用商店审核时非常关注的一点。通过上述改进,可以有效提升应用在小米应用商店上架的成功率。

回到顶部