uniapp权限申请说明、权限申请的使用目的、华为上架、小米上架
·
插件地址:https://ext.dcloud.net.cn/plugin?id=15897
插件功能概述
该插件主要用于安卓应用的权限申请,通过在应用中弹出权限申请的使用目的说明,帮助开发者解决华为、小米等应用商店的上架审核问题。它可以在不破坏原有业务逻辑的情况下,全局处理权限申请。
主要功能特点
- 全局处理权限申请:通过在
main.js中引入插件,开发者可以全局拦截uniAPI的调用,并在调用时弹出权限申请的说明。 - 不改动业务代码:插件的使用不会破坏原有的业务逻辑,开发者无需修改业务代码即可实现权限申请的说明弹窗。
- 支持多种权限申请:包括但不限于
chooseImage、chooseVideo、saveImageToPhotosAlbum、getLocation、makePhoneCall、getRecorderManager等。 - 优化弹窗显示:提供优化后的弹窗显示效果,提升用户体验。
- 支持uni_modules:符合uni_modules规范,方便开发者使用。
使用方法
方式一:全局处理(推荐)
在main.js中引入插件,并添加需要拦截的uniAPI及其对应的权限申请说明:
import { addPermisionInterceptor, removePermisionInterceptor } from '@/uni_modules/x-perm-apply-instr/js_sdk/index.js';
addPermisionInterceptor('chooseImage', '为了修改个人头像和发布信息图片视频等, 我们需要申请您设备的相机和存储权限');
addPermisionInterceptor('saveImageToPhotosAlbum', '为了保存推广海报到手机相册, 我们需要申请您设备的存储权限');
// 其他API的拦截添加方式同上
- 参数说明:
- 第一个参数为uniAPI的名称。
- 第二个参数为权限申请的说明文本。
- 第三个参数(可选)为布尔值,表示是否只询问一次权限。如果用户拒绝,则后续调用该API时不会再次弹出权限申请弹窗。
方式二:手动控制权限说明弹窗
如果需要在特定功能处手动控制权限说明弹窗的显示和关闭,可以使用以下代码:
import { popup } from '@/uni_modules/x-perm-apply-instr/js_sdk/native_popup.js';
// 显示权限申请说明弹窗
popup.show({
title: '权限申请说明',
content: '为了xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
});
// 关闭弹窗
popup.close();
更新记录
- 2.0.3(2024-12-21):增加连接蓝牙设备支持
startBluetoothDevicesDiscovery。 - 2.0.2(2024-11-18):优化popup显示效果。
- 2.0.1(2024-11-07):优化弹框效果。
平台兼容性
- Vue2:支持
- Vue3:支持
- App:支持(
app-vue) - 快应用、微信小程序、支付宝小程序、百度小程序、字节小程序、QQ小程序:暂不支持
- 钉钉小程序、快手小程序、飞书小程序、京东小程序、鸿蒙元服务:暂不支持
- H5-Safari、Android Browser、微信浏览器(Android)、QQ浏览器(Android)、Chrome、IE、Edge、Firefox、PC-Safari:暂不支持
注意事项
- 重复申请权限问题:部分厂商的部分系统版本可能会出现重复申请权限的情况。如果影响审核,建议使用方式二自行处理或尝试其他插件。
getRecorderManager的使用:如果需要拦截getRecorderManager,请不要在script标签下直接初始化,而应在onLoad或onReady中调用,否则会导致拦截失败。
更多推荐
所有评论(0)