应用端实验室移动应用
00 / 00

原生能力

移动端相机、文件、推送、深链、Widget 等原生能力的接入边界

原生能力就是手机系统提供的东西:相机、相册、麦克风、通知、文件、Widget、定位、分享。别一开始全塞进模板,按产品需求一个一个加。

你将学到

  • 怎么判断某个原生能力该不该现在接入
  • Expo Go 和 Development Build 各自能覆盖什么
  • 接入一种能力前需要想清楚的四个问题
  • 权限被拒绝时怎么处理

常见能力怎么判断

先看你的产品在 MVP 阶段是否真的需要这个能力。表里的"验收重点"是接入后必须在真机上验证的点:

能力适合什么时候加验收重点
相机 / 相册头像、图片上传、拍照识别权限拒绝、图片压缩、上传失败
麦克风录音、语音输入、会议记录权限说明、录音中断、文件格式
推送订单、任务、消息提醒token 注册、退订、静默失败
深链登录回跳、分享打开、Widget 跳转scheme、fallback、登录态恢复
Widget高频入口、状态展示尺寸、更新频率、主 App 同步

接入流程

接入任何一种原生能力,思路都一样:先确认用户场景,再选 Expo 提供的能力,真机验证,最后准备商店说明。

确认用户场景:为什么需要这个权限,对用户有什么价值。没有清晰场景的能力先不接。

选择 Expo 能力:查 Expo 文档,确认用哪个 SDK 或 config plugin。注意 Expo Go 不一定支持所有能力。

真机验证:权限弹窗、用户拒绝后的降级、功能在 iOS 和 Android 上的实际表现。

商店说明:App Store 和 Google Play 都要求在隐私说明里覆盖你用到的每个能力。

别跳过的检查

  • Expo Go 能不能用这个能力,还是必须用 Development Build
  • iOS 和 Android 的权限文案都配了没
  • 用户拒绝权限时界面还能不能正常用
  • 商店隐私说明有没有覆盖这个能力

用户拒绝权限是正常操作,不是异常。被拒绝后 App 要有合理的降级状态,不能直接崩溃或卡死。

下一步

需要给用户发通知的话,继续看推送通知的接入方式。

想和其他创造者交流?

这篇文档有问题?