发布时间:2026/8/30 14:14:56
Expo 推送通知教程:4 步把第一条通知发到真机,含排错清单 Expo 推送通知教程4 步把第一条通知发到真机含排错清单【免费下载链接】expoAn open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web.项目地址: https://gitcode.com/GitHub_Trending/ex/expo想让离开的用户还能收到消息Expo 的推送能力是一条很顺的路expo-notifications库统一了 Android 和 iOS 的权限、令牌和事件 APIExpo Push Service 则替你把消息转交给 FCM 和 APNsFirebase Cloud Messaging / Apple Push Notification service两家厂商的官方推送通道你不需要自己对接任何原生推送协议。这篇教程围绕把一条真实通知发出去并确认到达来推进按 准备 → 运行 → 验证 → 排错 的顺序走一遍适合第一次接触 Expo 推送、手上有一个 Expo 项目的开发者。 准备装两个库加一个插件推送功能依赖两样东西expo-notifications负责客户端侧的权限和令牌逻辑expo-constants用来读取项目配置里的projectId。在项目根目录执行npx expo install expo-notifications expo-constants装完后在app.json里注册配置插件它会自动处理原生工程里的推送相关设置{ expo: { plugins: [expo-notifications] } }改完配置后用npx expo prebuild重新生成原生工程或直接用 EAS Build 构建。 运行拿到权限和令牌发出第一条通知推送链路里最关键的一步是拿到ExpoPushToken——Expo 为每台设备生成的地址服务端凭它找到用户。先在真机上请求通知权限再换取令牌import * as Notifications from expo-notifications; import Constants from expo-constants; async function getPushToken() { const { status } await Notifications.getPermissionsAsync(); if (status ! granted) { const r await Notifications.requestPermissionsAsync(); if (r.status ! granted) return null; // 用户拒绝 } // projectId 来自 EAS 项目配置令牌靠它关联到你的项目 const projectId Constants.easConfig?.projectId; return (await Notifications.getExpoPushTokenAsync({ projectId })).data; }把打印出的令牌贴到 Expo 推送工具里就能直接发测试消息。如果你有服务端用一条 HTTP 请求也能发to填令牌title和body填展示文案curl -X POST https://exp.host/--/api/v2/push/send \ -H Content-Type: application/json \ -d {to:ExponentPushToken[xxx],title:测试,body:第一条通知}响应里返回一张推送票据push ticketstatus为ok表示 Expo 已收到这条消息id留着验证阶段要用。✅ 验证怎么确认通知真的到了发出去了和设备收到了是两回事中间隔着 FCM/APNs 的投递环节。确认方法有两层看票据和回执。发送后拿票据id去查推送回执push receipt它是 Expo 把消息交给 FCM/APNs 后的结果记录curl -X POST https://exp.host/--/api/v2/push/getReceipts \ -H Content-Type: application/json \ -d {ids:[票据ID]}回执status为ok表示厂商通道已接收。建议发送 15 分钟后再查回执 24 小时后会被清除。在应用里监听事件。前台收到通知和点击通知是两件事分别对应两个监听器注册在useEffect里、卸载时移除const received Notifications.addNotificationReceivedListener(n { console.log(前台收到:, n.request.content); }); const response Notifications.addNotificationResponseReceivedListener(r { console.log(点击通知:, r.notification.request.content.data); });content.data是你在消息体里塞的自定义数据做点击后跳转到对应页面就靠它。 调优控制前台通知的表现默认行为可能不是你想要的SDK 58 之前应用在屏幕前foregrounded时收到的通知不会弹横幅SDK 58 起默认会展示。用setNotificationHandler可以精确控制是否响铃、弹横幅、入列表、加角标Notifications.setNotificationHandler({ handleNotification: async () ({ shouldPlaySound: false, // 前台收到时不响铃 shouldShowBanner: true, shouldShowList: true, shouldSetBadge: true, }), });另外两个常见调优点Android 通知渠道。Android 8.0 必须指定渠道发送时通过channelId字段引用渠道要在应用内用setNotificationChannelAsync先建好否则消息不会展示。点击跳转。在 response 监听器里读data.screen之类的字段调路由navigate到目标页面即推送深链。 排错通知不来的四个高频原因遇到问题先别怀疑代码按这个顺序过一遍用了 Expo Go 或模拟器。SDK 53 起 Expo Go 不再支持推送必须构建开发版development build或正式版在真机上测。凭据没配。Android 需要在 EAS 上传 FCM 凭据google-services.json FCM v1 服务账号密钥iOS 需要推送密钥。开发时能收到、发布后收不到基本都是这里漏了。用eas credentials检查。回执里报了DeviceNotRegistered。说明用户卸载了应用或撤销了权限该令牌已失效服务端应停发并清理记录不是你的 bug。iOS 取令牌特别慢。这是 Apple 侧的已知现象不代表出错。检查设备网络换 Wi-Fi 重试必要时重启设备。完整的问题清单和每个错误码的含义在 docs/pages/push-notifications/faq.mdx 里都有对应条目排错时直接查。下一步克隆仓库git clone https://gitcode.com/GitHub_Trending/ex/expo参考 docs/pages/push-notifications/push-notifications-setup.mdx 完成凭据配置。用apps/notification-tester/这个现成的测试应用跑一遍它在仓库里就是给expo-notifications做联调用的。给自己定个验收标准真机上收到横幅、票据和回执都是ok、点击能带数据跳转这三条都过就算接入完成。【免费下载链接】expoAn open-source framework for making universal native apps with React. Expo runs on Android, iOS, and the web.项目地址: https://gitcode.com/GitHub_Trending/ex/expo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/8/30 14:09:55

前端面试八股文精华:JS核心、浏览器机制与框架原理全解析

前端面试这几年有个很有意思的现象:越是喊着“八股文没用”的人,面试时越容易栽在八股文上。我做了这么多年前端,也当过面试官,说句实话,“前端面试高频题”和“八股文精华”这两个词,本身不应该是贬义。真…

2026/8/30 14:09:55

Wi-Fi室内定位实战指南:不依赖UWB/蓝牙的低成本部署方案

简介:本资源是一个面向Android开发者与室内定位技术学习者的Wi-Fi指纹定位系统实战项目,聚焦商业场景下的无GPS室内位置感知需求,适用于智能建筑、商场导航、医疗资产追踪等应用开发。压缩包共2000个文件,总大小28.5MB&#xff0c…

2026/8/30 14:09:55

大模型强化学习:信息论低效下的有效机制解析

在 LLM(大语言模型)应用落地过程中,强化学习(RL,Reinforcement Learning)是一个绕不开的话题。从 ChatGPT 的 RLHF(基于人类反馈的强化学习),到 OpenAI o1 系列背后的 RL…

2026/8/30 14:29:56

AI安全对齐与红队测试实战:从RLHF到自动化安全评测流水线

最近 AI 行业并不平静。一边是大模型能力快速迭代,另一边是监管与安全讨论不断升温。近期美国参议员桑德斯向 OpenAI、Anthropic、Google 等 AI 巨头施压,要求暂停 AI 研发,否则将推动立法干预。这则消息在技术社区里引发了不少讨论&#xff…

2026/8/30 14:29:56

8张AMD装下Kimi K3?拆解MoE、显存估算与量化部署的真实逻辑

最近有个说法流传很广:网传 Kimi K3 的训练或满血推理需要很多张 NVIDIA B200 才能撑起来,可另一边却有人用 8 张 AMD 加速卡就完成了部署。标题确实抓眼球,但如果你顺着“AMD 已经超过 NVIDIA”的结论去理解,方向大概率就偏了。这…

2026/8/30 14:24:56

热浪下电网承压:高温降出力机理与预警系统设计

欧洲地区反复出现的极端热浪,正在让电力系统进入一种典型的高温脆弱状态:居民和工商业空调负荷快速抬升,发电厂却因为冷却水温过高、设备温升越限而被迫降出力甚至停机,输电线路和主变的可用容量也同步下降。电网同时面对“供给收…

2026/8/30 0:03:35

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/8/30 0:03:35

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/8/30 0:03:35

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/8/30 0:03:35

vSound小提琴数字处理器实操指南:从接线到演出的完整配置

电小提琴或者原声小提琴插电演出,第一个绕不开的坎就是声音难听。原声琴的共鸣和空气感一旦进了拾音器,出来的往往是一坨干瘪、发尖、带着奇怪塑料味的信号。我当初第一次把琴接上乐队调音台,直接被主唱吐槽"你这声音像在锯钢丝"。…

2026/8/30 0:03:35

传感器接口IC如何攻克生物化学传感的微弱信号难题?

1. 从电极到比特流:为什么生物化学传感必须依赖专用接口IC 做生物化学传感的人都有过类似的经历:明明传感器本身性能很好,信号输出却一塌糊涂——噪声大、漂移明显、重复性差,怎么调都达不到预期。很多时候问题并不在传感器&#…

2026/8/30 0:03:35

STM32F411CEU6多通道ADC采集:扫描模式+DMA实现详解

1. 多通道 ADC 的用武之地把“Multichannel ADC”和“STM32F411CEU6”这两个关键字放在一起,其实就是嵌入式开发里最常遇到的一类需求:用一块不算贵的 MCU,同时采集多路模拟信号。STM32F411CEU6 是 48 引脚的 Cortex-M4F 主控,主频…

2026/8/28 16:16:48

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/28 16:16:50

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/28 11:06:45

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…