尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Expo 通知功能实战:3 个环节跑通你的第一条推送通知
Expo 通知功能实战3 个环节跑通你的第一条推送通知【免费下载链接】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写过通知代码却收不到推送权限弹窗被拒、令牌拿到手是 undefined、应用划走之后消息石沉大海——这些是刚接触推送时最容易栽进去的坑。Expo 通知功能expo-notifications 模块把 Android 和 iOS 的推送差异封装成一套 JS 接口你只管请求权限、拿到 Expo 推送令牌可以理解成这台设备的收件地址、调 Expo Push API 发消息前台怎么展示则交给一段你自己写的策略代码。能力速览它能帮你干什么把消息精准送到某台设备用推送令牌 Expo Push API用户把应用划走后消息照样送达系统负责弹出横幅。前台行为完全由你定夺应用开着时收到推送是弹系统横幅、静默写日志还是只刷新你自己的界面都靠setNotificationHandler一句话拍板。接住用户的点击用户点通知、点按钮都会触发响应监听器你拿到的data字段可以直接用来做深度链接跳转。本地定时通知也能顺手做不经过服务器应用内就能创建一次性或周期性的本地通知。动手接入从装包到收到第一条推送前置装两个包并确认你是用 Development Buildnpx expo install expo-notifications expo-constantsexpo-notifications是核心模块expo-constants用来读取项目里的projectId。这里有个容易忽略的前提Expo Go 里用不了推送必须走 EAS 构建出 Development Buildeas build然后在真机上测。Android 带 Google Play 服务的模拟器也可以iOS 用 Xcode 14 的模拟器。关键配置app.json 里加一行插件{ expo: { plugins: [expo-notifications] } }这一行让 config-plugins 在生成原生工程时自动配好默认通知图标等原生细节省得你去改 AndroidManifest 或 iOS 工程文件。请求权限拿到 Expo 推送令牌先查、再申请别上来就弹系统权限框用户之前可能已经给过重复弹窗很减好感const { status } await Notifications.getPermissionsAsync(); const finalStatus status granted ? status : (await Notifications.requestPermissionsAsync()).status; const projectId Constants.expoConfig?.extra?.eas?.projectId; const token (await Notifications.getExpoPushTokenAsync({ projectId })).data;权限没拿到就早退并提示用户去系统设置里开projectId缺失时getExpoPushTokenAsync会直接报错这是令牌为 undefined最常见的原因。发出第一条推送拿到令牌后一条 POST 请求就够了await fetch(https://exp.host/--/api/v2/push/send, { method: POST, headers: { Content-Type: application/json }, body: JSON.stringify({ to: token, title: Hello Expo, body: 这是你的第一条推送, data: { screen: home }, }), });不想手搓请求的话官方通知工具页面expo.dev 的 Notifications 页可以粘贴令牌直接发测试推送适合第一遍联调。机制拆解一条推送在三种状态下的走向推送到了设备之后谁来接管取决于应用当时在不在前台服务器 → Expo Push API → 设备系统 ├─ 前台JS 监听器 你的 handler 决定展示与否 └─ 后台/已杀系统横幅 → 用户点击 → 响应监听器前台应用是主人推送先进你的 JS。setNotificationHandler里四个返回值shouldShowBanner/shouldPlaySound/shouldSetBadge/shouldShowList控制横幅、声音、角标和是否进通知列表。想让前台只静默更新数据把shouldShowBanner设成false即可。后台系统直接弹横幅你的代码不参与展示用户点击后addNotificationResponseReceivedListener被触发response.notification.request.content.data就是发送时塞进去的data。已杀用户手动清掉应用iOS 上点通知会冷启动应用。稳妥做法是在模块顶层就注册响应监听器启动时再补查一次getLastNotificationResponse别只依赖监听器否则冷启动的第一次点击可能拿不到。避坑与调优群里最常问的 3 个问题Q推送明明发了手机毫无反应先别怀疑代码。九成是构建方式问题Expo Go 里没有推送能力必须 Development Build再查 EAS 里该项目的推送凭据iOS 的 APNs、Android 的 FCM是否配全。两者都确认过再用通知工具重发一次设备端日志里能看到接收过程。QAndroid 上通知能弹但没声音、没震动Android 8.0 的通知挂在渠道上默认渠道的重要性偏低。启动时用setNotificationChannelAsync显式建一个渠道importance给到AndroidImportance.MAX并设置振动模式声音震动就都正常了。Q权限被拒之后应用里再也拿不到令牌被拒不等于永久失败。先getPermissionsAsync判断状态只有denied才弹申请如果弹完还是拒引导用户去系统设置手动开启而不是反复弹框。下一步试着把本地定时通知scheduleNotificationAsync也接上推送 本地两种能力就齐了。细节可以翻 推送通知配置文档遇到怪问题先看 官方 FAQ。【免费下载链接】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),仅供参考
RELATED

相关推荐

STM32CubeIDE工程导入后参数丢失?四招修复.project/.cproject/.ioc

STM32CubeIDE工程导入后参数丢失?四招修复.project/.cproject/.ioc

1. 问题现象与根因定位 1.1 导入工程后参数全面失控的表现 STM32CubeIDE 这个坑,我踩了整整一个下午。好好的一个工程,导入工具后芯片型号变成了默认的 STM32F407VG,调试器配置全丢,连链接脚本都指错了地方——最离谱的是初始化代…

📅 2026/11/7 21:20:29
用LLM给Emacs包升级做供应链卫生评审,升级前先看风险

用LLM给Emacs包升级做供应链卫生评审,升级前先看风险

Emacs 的包升级,很多人的习惯是打开M-x list-packages,按U标记全部升级,再按x执行,然后等一个“Package refresh done”就继续干活。这个动作非常顺滑,但背后藏着一个经常被忽视的问题:如果你从不看升级后的…

📅 2026/9/18 21:32:52
3分钟跑通Whisper.cpp:离线语音识别完整实战

3分钟跑通Whisper.cpp:离线语音识别完整实战

3分钟跑通Whisper.cpp:离线语音识别完整实战 【免费下载链接】whisper.cpp Port of OpenAIs Whisper model in C/C 项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cpp whisper.cpp 是 OpenAI Whisper 语音识别模型的 C/C 移植版。它把"音频…

📅 2026/9/18 23:00:27
MORE NEWS

更多资讯

📰

电工证办理值机软件培训机构怎么选,真实经历告诉你怕挂科怎么办

电工证办理值机软件培训机构怎么选,真实经历告诉你怕挂科怎么办 实操考试心里没底怕挂科,这几乎是每个准备考电工证的学员心里最真实的声音。我认识的焦作转岗从业者小李,就是典型的例子。他原本在煤矿干了几年,后来转行干电工,但第一次实操考试时,他因…

📰

广州市在哪考电工证,考前押题怎么找?别等上岗再慌!

广州市在哪考电工证,考前押题怎么找?别等上岗再慌! 你是不是正在为找一份电工相关的工作发愁?是不是已经找到了工作,但单位要求你必须有电工证才能上岗?别急,这篇文章就是为你量身定制的,告诉你【广州市在哪考电工证】的真相,还有怎么高效准备【考前…

📰

广州市在哪考电工证通过率揭秘:实操考试心里没底怕挂科?

广州市在哪考电工证通过率揭秘:实操考试心里没底怕挂科? 实操考试心里没底怕挂科?报名流程太复杂?广州市在哪考电工证?其实很多人都是第一次接触,搞不清楚具体要走哪几步、要准备什么材料,怕走弯路。尤其是像济源房建工程从业者,很多需要电工证才能上…

📰

在天津那有考高压电工证?学历不高也能报!别再错过这些关键点

在天津那有考高压电工证?学历不高也能报!别再错过这些关键点 你是不是也担心学历不高,报不了高压电工证?别急,这事儿真没你想的那么难。在天津那有考高压电工证其实是个很现实的问题,关键是你得知道怎么操作。别让学历成为你报考的绊脚石,今天我们就来…

📰

电工证在哪里查到怎么报名,过期了千万别乱搞

电工证在哪里查到怎么报名,过期了千万别乱搞 证书过期了不知道怎么复审延期,是不是你最近遇到的糟心事?别急,这期咱们就来聊聊【电工证在哪里查到】,以及【怎么报名】这些你必须知道的事。尤其对在商丘的建筑工人来说,电工证不光是上岗的门槛,更是影响…

📰

电气安全检查电工证怎么报名?别再被中介坑了!

电气安全检查电工证怎么报名?别再被中介坑了! 你是不是也在为“电气安全检查电工证怎么报名”发愁?找中介怕被坑,自己又不知道从哪儿下手。这年头,证书不拿在手里,机会就真的没了。本文就是给那些在商丘公路工程一线干着活儿,想靠电工证提升收入的你,…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬