uni-app Google play 新政策问题急需帮助解决 Google play更新了关于照片和视频访问权限新政策 导致不能使用uni.chooseImage

发布于 1周前 作者 htzhanglong 来自 Uni-App

uni-app Google play 新政策问题急需帮助解决 Google play更新了关于照片和视频访问权限新政策 导致不能使用uni.chooseImage

开发环境 版本号 项目创建方式
PC开发环境 Mac CLI
手机系统 Android
手机系统版本号 Android 13
手机厂商 三星
手机机型 Galaxy Z Flip4 (SM-F721U/DS)
页面类型 vue
vue版本 vue3
打包方式 云端
CLI版本号 3.0.0-4000820240401001

操作步骤:

  • Google play 新政策问题,急需帮助解决

预期结果:

  • Google play 新政策问题,急需帮助解决

实际结果:

  • Google play 新政策问题,急需帮助解决

bug描述:


10 回复

已经在处理了,会提供选项和新api,请关注新版。 官方发版前,开发者可以向google申请延期,它是25年1月22日才强制执行


新应用第一次提交审核,如果没有移除 android.permission.READ_MEDIA_IMAGES 和 android.permission.READ_MEDIA_VIDEO,应该是不允许提交审核的!

回复 ksa: 你是提交审核后给你拒绝回来的?

回复 ksa: 看google公告没这么说啊,实际是吗?

请问这个解决了么?

回复 DCloud_heavensoft: 解决了吗,APP被下架两次了

你好 你这个问题解决了吗

怎么处理呀,底层的我们也改不了,官方有啥解决方法吗

针对Google Play关于照片和视频访问权限的新政策,导致不能使用 uni.chooseImage 的问题,我们可以通过调整应用权限请求策略以及使用替代方案来解决。以下是一个示例代码,展示如何在uni-app中实现这一调整。

1. 权限请求策略调整

首先,确保在 manifest.json 中正确声明了必要的权限:

"mp-weixin": {
  "appid": "your-app-id",
  "permission": {
    "scope.userInfo": {
      "desc": "你的用户信息将用于小程序登录"
    },
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序定位"
    },
    // 添加照片和视频权限声明(仅作为示例,实际声明方式需参考Google Play要求)
    "android.permission.READ_EXTERNAL_STORAGE": {
      "desc": "应用需要访问您的存储设备以选择照片和视频"
    },
    "android.permission.WRITE_EXTERNAL_STORAGE": {
      "desc": "应用需要写入您的存储设备以保存照片和视频"
    }
  }
},
"app-plus": {
  "distribute": {
    "google": {
      // 其他Google Play配置
    }
  },
  "permissions": {
    "ReadExternalStorage": {
      "desc": "需要访问您的存储设备以选择照片和视频"
    },
    "WriteExternalStorage": {
      "desc": "需要写入您的存储设备以保存照片和视频"
    }
  }
}

注意:uni-app中的权限声明方式可能需要根据实际使用的平台(如HBuilderX)和Google Play的具体要求进行调整。

2. 使用替代方案

由于直接使用 uni.chooseImage 可能受限,我们可以考虑使用原生插件或自定义组件来替代。以下是一个使用原生插件的示例:

插件安装

在HBuilderX中,通过插件市场安装一个支持照片和视频选择的原生插件,如 uni-file-picker

插件使用

// 引入插件
const filePicker = require('@dcloudio/uni-file-picker');

// 调用插件选择照片或视频
filePicker.choose({
  count: 9, // 最多可以选择的文件个数
  sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
  sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
  extension: ['jpg', 'png', 'gif', 'mp4'], // 可选择文件的类型
  success: function (res) {
    console.log(JSON.stringify(res.tempFiles));
    // 处理选中的文件
  },
  fail: function (err) {
    console.error(err);
  }
});

结论

通过上述方法,我们可以调整应用权限请求策略,并使用原生插件或自定义组件来替代 uni.chooseImage,从而满足Google Play的新政策要求。在实际操作中,请确保遵循Google Play的最新政策和指南,以避免应用被下架或功能受限。

回到顶部