You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Expo/React Native中设置仅支持智能手机,禁止平板等设备下载?

如何限制Expo/React Native应用仅支持智能手机设备

别担心,这个问题其实有挺直接的解决方案,主要分Expo配置Google Play控制台设置两步来,双管齐下就能确保平板和可穿戴设备的用户看不到你的应用,或者无法下载。

第一步:在Expo的app.json中配置设备兼容性

打开你的项目根目录下的app.json文件,找到android字段,添加或修改以下配置:

  • 首先添加supportsTablet: false,这个参数会直接告诉Google Play你的应用不支持平板设备:

    "android": {
      "package": "com.yourcompany.yourapp",
      "supportsTablet": false,
      // 其他已有的配置...
    }
    
  • 如果要更严格地排除可穿戴设备(比如智能手表),可以通过extraManifestFields在生成的AndroidManifest.xml中添加过滤规则。比如添加uses-feature来声明你的应用不需要穿戴设备的硬件特性:

    "android": {
      // 其他配置...
      "extraManifestFields": {
        "uses-feature": [
          {
            "android:name": "android.hardware.type.watch",
            "android:required": "false"
          },
          {
            "android:name": "android.hardware.type.television",
            "android:required": "false"
          }
        ]
      }
    }
    

    这里设置required="false"是告诉Google Play:我的应用不需要这些设备类型的硬件,因此不兼容这类设备。

第二步:在Google Play控制台中锁定设备类型

即使你在Expo中配置好了,也建议在Google Play后台再确认一遍,确保万无一失:

  1. 登录Google Play控制台,进入你的应用页面
  2. 点击左侧菜单的发布 > 设备兼容性
  3. 在"设备类型"区域,只勾选手机,取消勾选"平板"和"可穿戴设备"
  4. 保存更改,重新提交你的应用审核(如果之前已经上传过版本,需要更新版本并重新提交)

额外注意事项

  • 如果你用的是Expo Bare Workflow(而非Managed Workflow),可以直接修改android/app/src/main/AndroidManifest.xml,添加android:requiresSmallestWidthDp="320"或者<compatible-screens>标签来限定支持的屏幕尺寸,不过Managed Workflow用app.json的配置就足够了。
  • 确保你重新构建了AAB文件(用eas buildexpo build:android),新的配置才会被打包进去。
  • 如果你之前已经发布过应用,旧版本的兼容性设置可能还在,所以一定要更新到包含新配置的版本,并让Google Play重新审核。

这样设置之后,平板和可穿戴设备的用户就无法在Google Play商店中找到或下载你的应用了,完美避免糟糕的跨设备体验~

内容的提问来源于stack exchange,提问作者Kev1n91

火山引擎 最新活动