uni-app APP 调用拨打电话 API 小米不过审

uni-app APP 调用拨打电话 API 小米不过审

操作步骤:

调用 uni.makePhoneCall({ phoneNumber: ‘’ })


### 预期结果:

审核通过

实际结果:

审核驳回,不合规


### bug描述:

APP 内代码调用了uni.makePhoneCall,上架小米应用市场时候,审核驳回不过审,理由如图
信息类别 详细信息
产品分类 uniapp/App
PC开发环境 Mac
PC开发环境版本 15.0.1
手机系统 Android
手机系统版本 Android 15
手机厂商 小米
手机机型 小米审核手机
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 CLI
CLI版本号 3.0.0-4020920240930001


更多关于uni-app APP 调用拨打电话 API 小米不过审的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

没有图

更多关于uni-app APP 调用拨打电话 API 小米不过审的实战教程也可以访问 https://www.itying.com/category-93-b0.html


重新提交了图

请问咋解决啊,现在上不了架

请问咋解决啊,现在上不了架!

在uni-app中调用拨打电话的API通常使用的是plus.device.dial方法。如果遇到小米应用商店审核不通过的问题,可能是因为权限声明或使用场景不符合小米的审核标准。不过,我们可以确保代码本身符合规范,并检查权限配置是否正确。

以下是一个在uni-app中调用拨打电话功能的示例代码,同时包括必要的权限配置说明:

  1. manifest.json中配置权限
{
  "mp-weixin": {},
  "app-plus": {
    "distribute": {
      "android": {
        "permissions": [
          "android.permission.CALL_PHONE"
        ]
      }
    }
  }
}

确保在manifest.jsonapp-plus -> distribute -> android -> permissions中添加了CALL_PHONE权限。

  1. 在页面中调用拨打电话的API
<template>
  <view>
    <button @click="makePhoneCall">拨打电话</button>
  </view>
</template>

<script>
export default {
  methods: {
    makePhoneCall() {
      #ifdef APP-PLUS
        const phoneNumber = "12345678901"; // 替换为实际的电话号码
        plus.device.dial(phoneNumber, function(e) {
          if (e.code === 0) {
            console.log('拨打电话成功');
          } else {
            console.error('拨打电话失败:' + e.message);
          }
        });
      #else
        console.warn('当前环境不支持拨打电话功能');
      #endif
    }
  }
}
</script>

注意,#ifdef APP-PLUS#else/#endif是条件编译指令,用于区分代码在不同平台上的执行。在H5或其他非APP-PLUS平台上,拨打电话功能可能不可用或需要其他实现方式。

  1. 处理用户授权

在Android 6.0及以上版本中,即使在manifest.json中声明了权限,运行时仍需要用户授权。可以在调用拨打电话功能前检查并请求权限:

#ifdef APP-PLUS
function requestCallPhonePermission() {
  return new Promise((resolve, reject) => {
    plus.android.requestPermissions(['android.permission.CALL_PHONE'], (event) => {
      if (event.deniedAlways.length > 0 || event.denied.length > 0) {
        reject('用户拒绝授权拨打电话');
      } else {
        resolve('授权成功');
      }
    });
  });
}

async function callPhone() {
  try {
    await requestCallPhonePermission();
    this.makePhoneCall();
  } catch (error) {
    console.error(error);
  }
}
#endif

在实际应用中,callPhone函数可以绑定到按钮点击事件上,以在请求权限成功后调用拨打电话功能。

确保代码和权限配置正确后,如果小米应用商店仍然审核不通过,建议查阅小米开发者文档或联系小米应用商店支持团队了解具体的审核标准和要求。

回到顶部