首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过FCM从服务器发送带有操作的web推送通知?

Firebase Cloud Messaging(FCM)是一种跨平台的消息传递服务,可以帮助开发者将消息发送到移动设备、Web应用程序和服务器。通过FCM,开发者可以从服务器发送带有操作的Web推送通知。

要通过FCM从服务器发送带有操作的Web推送通知,可以按照以下步骤进行操作:

  1. 配置Firebase项目:在Firebase控制台中创建一个项目,并将Web应用程序添加到该项目中。获取项目的配置信息,包括项目ID和服务器密钥。
  2. 集成FCM SDK:在Web应用程序中集成FCM的JavaScript SDK。可以通过在HTML文件中添加以下代码来引入FCM SDK:
代码语言:txt
复制
<script src="https://www.gstatic.com/firebasejs/9.6.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/9.6.1/firebase-messaging.js"></script>
  1. 初始化Firebase:在JavaScript代码中初始化Firebase,并使用之前获取的配置信息进行配置:
代码语言:txt
复制
const firebaseConfig = {
  // 配置信息
};

firebase.initializeApp(firebaseConfig);
  1. 请求用户授权:在Web应用程序中,需要请求用户授权以接收推送通知。可以使用以下代码请求用户授权:
代码语言:txt
复制
const messaging = firebase.messaging();

messaging.requestPermission()
  .then(() => {
    console.log('授权成功');
    return messaging.getToken();
  })
  .then((token) => {
    console.log('设备标识:', token);
  })
  .catch((error) => {
    console.log('授权失败:', error);
  });
  1. 发送推送通知:在服务器端,可以使用FCM的HTTP或XMPP接口发送推送通知。以下是使用HTTP接口发送推送通知的示例代码:
代码语言:txt
复制
const axios = require('axios');

const serverKey = '服务器密钥';
const fcmUrl = 'https://fcm.googleapis.com/fcm/send';

const notification = {
  title: '推送通知标题',
  body: '推送通知内容',
  click_action: 'https://example.com' // 点击通知后的操作
};

const data = {
  // 自定义数据
};

const message = {
  notification,
  data,
  // 根据目标设备选择合适的条件
  condition: "'topicA' in topics || 'topicB' in topics",
  // 或者使用特定设备的标识
  token: '设备标识'
};

axios.post(fcmUrl, message, {
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `key=${serverKey}`
  }
})
  .then((response) => {
    console.log('推送通知发送成功:', response.data);
  })
  .catch((error) => {
    console.log('推送通知发送失败:', error);
  });

以上代码中,需要将服务器密钥替换为实际的服务器密钥,推送通知标题推送通知内容替换为实际的推送通知内容。

推荐的腾讯云相关产品:腾讯云移动推送(TPNS)。腾讯云移动推送是腾讯云提供的一种跨平台、高效、稳定的消息推送服务,支持移动设备、Web应用程序和服务器的消息推送。您可以通过腾讯云移动推送来实现从服务器发送带有操作的Web推送通知。了解更多信息,请访问腾讯云移动推送的官方文档:腾讯云移动推送

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何Django应用程序发送Web推送通知

OK 设置Web推送通知下一步是获取VAPID密钥。这些密钥标识应用程序服务器,可用于减少推送订阅URL保密性,因为它们限制对特定服务器订阅。...接下来,您将在主页上设置表单以发送推送通知。 第9步 - 发送推送通知 使用主页上表单,用户应该能够在服务器运行时发送推送通知。您还可以使用Postman等任何RESTful服务发送推送通知。...当用户主页上表单发送推送通知时,数据将包括head和body以及接收用户id。...如果您收到通知,那么您应用程序正在按预期工作。 您已经创建了一个Web应用程序,可以在服务器上触发推送通知,并在服务工作者帮助下接收并显示通知。...您还完成了获取应用程序服务器发送推送通知所需VAPID密钥步骤。 结论 在本教程中,您学习了如何使用通知API订阅用户以推送通知,安装服务工作者和显示推送通知

9.8K115

React Native推送通知:完整操作指南

在这篇文章中,我们将看到如何在React Native应用中创建和发送推送通知。 什么是推送通知推送通知应用程序发送到已安装该应用用户消息或警报。...React Native Firebase 库也提供了一种通过 FCM 在iOS上发送推送通知方法。...可以Node.js服务器通过 firebase-admin 和 node-apn 向注册移动设备发送远程通知 Expo推送通知和其他云服务 FCM 和 APNs 都是特定平台原生推送通知服务。...,通过一个托管中间推送通知服务器,正如你在之前显示图表中看到那样。...我们还学习了如何在 React Native 应用程序中发送推送通知,方法是添加通知令牌,服务器发送它们,并使用 Expo 通知 API 在用户设备上显示它们。

1.2K10
  • h5Notification 、web Push介绍

    前言 本文是客户端和服务器端通信最后一个系列,主要介绍h5桌面通知web push,h5Notification主要用于向用户展示通知,而web push 主要用于订阅推送消息。...web push 流程 1、客户端完成请求订阅一个用户逻辑 2、服务端调用遵从web push协议接口,传送消息推送(push message)到推送服务器(该服务器由浏览器决定,开发者所能做只有控制发送数据...第二步, 应用服务器发送web push协议标准api,触发推送服务器消息推送,其中headers必须配置正确,且传送数据必须是比特流。 ?...请参见github: https://github.com/web-push-libs/web-push 兼容性及其他问题 与ajax轮询、http长连接、WebSocket对比 ajax轮询是通过客户端不断向服务端发送...(3)发送推送 发送推送可以用FCM提供web push库,它支持多种语言,包括Node.js/PHP等版本。

    4.5K20

    FCM---Android系统级推送---你还在用第三方推送

    之前C2DM(Android Cloud to Device Messaging)已与2012年6月26日被正式弃用。 注:国内可接收FCM推送,但必须安装谷歌服务。具体操作请参考官方文档。...生命周期流程 下面是FCM主要过程: Enabling FCM:运行在手机上注册了来接收消息Android程序。 Sending a message:发送消息到手机第三方程序服务器。...通过替换 FirebaseMessagingService.onMessageReceived 方法,您可以根据收到消息执行操作,并获取消息数据: ?...此应用服务器通过选定FCM连接服务器,使用合适 XMPP 或 HTTP 协议向客户端应用发送数据。...您可以发送带有预定义字段通知消息或自定义数据消息;请参阅消息负载中通知和数据,了解关于负载支持详细信息。本页中示例用于说明如何通过 HTTP协议发送数据消息。

    12.7K30

    消息通知(Notification)用户触达系统设计

    然而,若系统负载过高,轻微延迟也可接受 支持设备:移动设备(iOS 和 Android)以及笔记本电脑/台式机 通知可以由客户端应用程序事件触发,也可以在服务器端进行计划 用户可以选择不再接收将来通知...为构建短信通知请求,生产者应提供数据:带有国家代码用户电话号码,JSON字典负载下短信主题/内容。...iOS推送通知请求应构建以下数据: 设备令牌 — 用于发送推送通知唯一标识符 负载 — 这是APNS定义接受JSON字典格式 APNS — 这是由Apple提供远程服务,用于向iOS设备传播推送通知...4.4 Android推送通知 使用SNS + FCMAndroid推送通知 Android有类似通知流。...与使用APNS不同,使用Firebase Cloud Messaging(FCM)向Android设备发送推送通知

    1K10

    集成推送那点事-友盟Mob-FlutterFCM

    这里就挑我用过几个来做一个简单对比,毕竟鸡老大说了,连基本论证对比都没,你还玩个锤子(我瞎编)。 下面我个人关注几个维度进行简单对比 (❌:代表不支持,✅:代表支持。...gradle 添加对此依赖: // 友盟推送 apply from: 'UMeng_Push.gradle' 1.2 初始化友盟推送并设置通知栏点击动作 在 Application 中进行友盟推送初始化以及点击通知栏后操作...若使用一键清理,应用channel进程被清除,将接收不到推送通过接入托管弹窗功能,可有效防止以上情况,增加推送消息送达率。...,蛮简单,这里说下几个点吧: 由于项目需求设置以用户名为别名,所以也涉及到了添加别名这个操作,而在这里则是本地维护了一个状态,避免多次设置重复别名; 其次需求是接收到消息推送执行刷新操作,所以我在这里直接接收到推送消息后通过...eventBus 发送状态去执行数据更新操作了。

    11.4K41

    React Native 常用 15 个库

    React Native Push Notification 这个库支持本地推送通知功能比较全面。它具有日程通知、基于日、周、时间重复通知等其他库中没有的功能。...如果你应用程序具有离线可用并且需要推送通知,则此库是你选择。 13....React Native FCM 如果你应用程序需要使用 GCM 或 FCM 服务器发送远程通知,那么这个库就你选择之一,FCM 只是 GCM 最新版本。...这个库还支持带有调度和重复支持本地通知。...React Native Progress 在应用程序中,显示加载或任何其他操作进度是很重要。这个库通过支持5个不同组件,如线性进度条、圆形、饼状图等,可以很容易地显示进度。 实际案例 ?

    5.8K31

    APP消息推送方案调研

    推送流程服务器如何先找到设备、再找到app?每一个设备都有一个自己设备号,而设备中app又都有一个唯一包名。...当你接收到通知,打开应用,才开始腾讯服务器接收数据,跟你之前看到通知里内容一样,但却是经由两个不同通道而来。...优劣势所以, iOS 推送,可以不严谨理解为: 1)苹果服务器朝手机后台挂一个 IM 服务程序发送消息; 2)系统根据该 IM 消息识别告诉哪个 Apps 具体发生了什么事; 3)系统分别通知这些...)三种基本推送方式:Push、Pull 和 SMS本质: App将服务器更新信息推送给用户,即App获取服务器信息,再推送给用户App服务器获取最新消息基本方式(原理)有3种:Push、Pull...SMS(Push)方式在Android平台上,可以通过拦截SMS消息并且解析消息内容来了解服务器意图,并获取其显示内容进行处理。优势: 可以实现完全实时操作

    25110

    消息通知系统优化设计

    6 通知发送和接收流程 初始设计通知系统: 图从左到右: 外部生产者 1~N — 代表希望通过通知系统提供API发送通知不同服务。...Worker — SQS队列轮询通知事件并将其发送到相应服务Lambda服务列表。 SNS或第三方服务 — 这些服务负责将通知传递给消费者。在与第三方服务集成时,我们需要关注可扩展性和高可用性。...对于iOS和Android应用,appKey和appSecret用于保护推送通知API。只有经过身份验证或经过验证客户端才允许使用API发送推送通知。...它可以被重用,并避免从头开始构建每个通知内容。 通知模板是预格式化通知内容,通过自定义参数、跟踪链接 等创建唯一通知。我们可以将这些通知模板存储在带有定义前缀S3桶中。...为了避免向用户发送过多通知通过使用SQS并限制用户在一段时间内可以接收通知数量,我们可以提高通知系统礼貌度。

    22210

    消息通知(Notification)系统优化

    6 通知发送和接收流程 初始设计通知系统: 图从左到右: 外部生产者 1~N — 代表希望通过通知系统提供API发送通知不同服务。...Worker — SQS队列轮询通知事件并将其发送到相应服务Lambda服务列表。 SNS或第三方服务 — 这些服务负责将通知传递给消费者。在与第三方服务集成时,我们需要关注可扩展性和高可用性。...对于iOS和Android应用,appKey和appSecret用于保护推送通知API。只有经过身份验证或经过验证客户端才允许使用API发送推送通知。...它可以被重用,并避免从头开始构建每个通知内容。 通知模板是预格式化通知内容,通过自定义参数、跟踪链接 等创建唯一通知。我们可以将这些通知模板存储在带有定义前缀S3桶中。...为了避免向用户发送过多通知通过使用SQS并限制用户在一段时间内可以接收通知数量,我们可以提高通知系统礼貌度。

    20710

    我们能用云函数做什么?

    使用无服务器云函数将帮您免除所有运维性操作,使您更加专注于核心业务开发,实现快速上线和迭代,把握业务发展黄金时期。...下面是它工作原理图: 该函数在对实时数据库路径写入了相关信息,存储粉丝 该函数通过FCM(Google推送服务)发送消息 FCM向用户设备发送通知消息 YingJoy 其它通知用例 向订阅...该函数将提供一个Team Slack API 来发送提交通知。...Map更加持久化) 然后通过Reduce函数将文件整合 最后会重新把这个新得到存储到COS中 Ⅲ、移动及Web应用后端 无服务器云函数和其他腾讯云云服务紧密结合,开发者能够构建可弹性扩展并在多个数据中心高可用运行移动或...Web 应用程序 – 轻松创建丰富服务器后端,无需在可扩展性、备份冗余方面执行任何管理工作。

    16.8K40

    uni-app 如何实现消息推送功能?

    概述 产品介绍 UniPush是DCloud联合个推公司推出集成型统一推送服务,内建了苹果、华为、小米、OPPO、VIVO、魅族、谷歌 FCM 等手机厂商系统级推送和个推等第三方推送。...国内AndroidPush是一个混乱世界,因为GooglePush服务FCM 被墙(HBuilderX2.7.10开始,支持谷歌FCM,参考: UniPush支持谷歌推送FCM配置指南),所以一些国内安卓手机厂商各自做了自己推送...系统会自动在不同手机上选择最可靠推送通道发送push消息,保障送达率。 UniPush即降低了开发成本、又提高了push送达率,并且免费,是当前推送最佳解决方案。...在线推送 app 在前台打开运行时,通过个推渠道下发消息。 离线推送 app在后台、锁屏、进程关闭时,通过厂商渠道下发消息。...iOS 平台还需要在 【配置管理】-【应用配置】页面上传推送证书,如何获取推送证书请参考个推官方文档教程:iOS证书配置指南。

    5.7K22

    使用 FCM 通知用户

    通知是让应用用户保持联系和获取更新重要渠道。Android 提供通知 API 用于在设备上创建和发布通知,但这些通知经常由外部事件触发,并从应用服务器发送至应用。...本文将解释何时以及如何生成这些远程通知,以便为用户提供及时更新并尽量省电。 用 FCM 实现远程通知 我们推荐使用 Firebase 云消息 (FCM) 发送远程通知到 Android 设备。...例如,普通优先级 FCM 数据消息常见用例是告诉应用有新内容准备同步,但这一操作无需用户交互。...如果您需要发送带图片等丰富媒体内容通知,或想通过向应用持续同步媒体内容来改善用户体验,就需要超过 4KB 有效负载限制。...注意,如果 FCM handler 中进行任务调度,则有可能当用户启动应用时,所调度任务还没完成。这种情况应妥善处理。

    3.5K30

    Html Notification通知简单使用(转)

    在以前,我们通知实现主要是通过闪烁页面的标题内容来实现,实现原理其实很简单,就是定时器不断修改document.title值。...服务端使用这个subscription信息调web push提供API向FCM发送消息,FCM再下发给对应浏览器。...然而,Firebase国内被墙,默认情况下,无法推送消息,大大影响了此功能收益。要想有用,需要一个境外服务器中转,或用户自己已经架起来了。...根据我自己猜测,应该和positionsticky属性值类似。 4. Notification.close() 通知显示了,如何关闭呢?...通过后,就会出现妹子相关通知信息了,例如,FireFox浏览器下(使用是callback回调实现): ? 此时,你浏览器最小化,或者页面刷新,该通知都是纹风不动

    2.9K10

    直播平台建设过程中不可或缺推送功能

    App内消息推送不仅能够给用户提供通知信息,提高用户活跃度,还能够起到召回一部分老用户作用。那么在直播平台建设过程中,关于第三方推送也就是我们所说消息推送功能又该如何实现呢?...l 设备根据某些规则生成或推送服务器获取一个devicetoken,推送服务器就可以根据devicetoken定位到具体设备。...l 推送服务器收到推送请求后,根据请求中devicetoken定位到具体设备,然后下发推送通知。 l 设备收到推送消息,然后进行通知弹窗或其他行为。...Android端 Google最早提供了云推送服务,简称为GCM,后来又推出了新FCM推送来代替之前GCM,由于国内环境并不适用因此各个手机厂商相继推出了各自推送服务。...(1)对于ios端来说,应用没办法常驻后台,所以就需要在切换前后台过程中通过IM长连接发送一个标记位,服务器就会在设备离线或者处于后台情况下触发APNS推送,减少设备在前台情况下APNS推送流量消耗

    1.7K00

    Android 手记 | Android MobPush 接入小结

    在地铁上我想了很多: 拉活,通过产品各种特性(活动)吸引用户点击使用,进一步验证产品思路、方向; 促进用户粘性,好比今天收到通知,鸡老大直播 ing,马不停蹄点击进去开始膜拜; 重大事件通知与防范,科技力量...iOS 只需要发送苹果服务器,然后进行后续处理 个人理解,而 Android?这里特意搜索了下国内几大厂商历史图: [image.png] 瞧瞧,目前五大厂商赫然在目!!!..."小米appid" appKey "小米appkey" } // FCM 推送通道配置 FCM...而当用户再次打开 App 时,才能收到之前推送。那么,如果我时隔几天后打开呢?消息及时性又如何保证呢?当然,什么事情也不是绝对。 那我们现在配置下华为厂商推送再试试?...而不是需要个人实际发送通知测试,才能得出结论。

    2.2K30

    Android P正式版即将到来:后台应用保活、消息推送真正噩梦

    3)如果应用推送不具备可操作性,用户将无法借助与推送交互将应用切换至活跃群组。在这种情况下,开发者可考虑重新设计推送功能,允许用户响应。...具体操作指南,请参照 Material Design 中有关推送设计章节。 4)若应用在接受高优先级 FCM 消息之后未能发送推送,用户将无法与应用产生互动并将其优先级提升至 “活跃” 等级。...其实,高优先级 FCM 消息唯一用途就是向用户发送推送,因此这种情况绝对不应该出现。...目前有以下两种情况会触发系统发送通知: 1)频繁使用唤醒锁 (wake locks):屏幕关闭后,局部唤醒锁 (Partial wake lock) 连续开启 1 小时; 2)过多后台服务:当应用目标...:如何构建一套高可用移动端消息推送系统?》

    3.8K30

    Android应用保活全攻略:30个实用技巧助你突破后台限制

    需要注意是,Android 8.0开始,静态广播使用受到了限制,部分隐式广播无法通过静态注册来接收。 8....但需要注意是,Android 5.0开始,sticky广播使用受到了限制,部分广播无法使用sticky模式发送。 12....使用AccountManager 通过在应用中添加一个账户,并将其与SyncAdapter关联,可以在一定程度上提高应用存活率。当系统触发同步操作时,会启动与账户关联应用进程。...使用Firebase Cloud Messaging(FCM) 对于需要实时消息推送应用,可以使用Firebase Cloud Messaging(FCM)服务。...FCM是一种跨平台消息推送服务,可以实现高效且可靠消息传递。通过使用FCM,你可以确保应用在后台时接收到实时消息,而无需采取过多保活手段。 18.

    58920

    谷歌等Push通道几个要素

    谷歌推送服务GCM/或者FCM可以让开发者在客户端和服务器之间传递消息,有2种方式实现消息推送,一种是xmpp,它即可让服务器把消息推送给客户端,也可让客户端把消息推送服务器,另一种方式是http,只能服务器将消息推送给客户端...一、关于token 和使用一般sdk类似,首先需要在官网注册自己应用,获取一个appid,出于安全要求,需要在本地使用这个appid去获取动态token,需要把token上传给服务器,每隔一段时间token...应用场景上分为单token和多token方案: 单token :通过此token,服务端可以给谷歌fcm服务发push消息,token可以由客户端主动上传,需要定期刷新。曾经发生过。...多token:比如应用app更新版本了,同一设备账号注销重新注册了新号,设置一个定时过期时间过去了 强制无效token:加入Token invalid机制,服务器发送Token无效时要求客户端重新生成。...漏斗各环节: 发送侧消息: fcm发送和ack包:可以包括uv和pv 到达:app应用fcm到达。 展示:展示在用户端。 划除(已消费)。 image.png

    1.7K20

    Android P 电量管理

    如果应用推送不具备可操作性,用户将无法借助与推送交互将应用切换至活跃群组。在这种情况下,开发者可考虑重新设计推送功能,允许用户响应。...具体操作指南,请参照 Material Design 中有关推送设计章节。 若应用在接受高优先级 FCM 消息之后未能发送推送,用户将无法与应用产生互动并将其优先级提升至 “活跃” 等级。...其实,高优先级 FCM 消息唯一用途就是向用户发送推送,因此这种情况绝对不应该出现。...*注意:如果用户多次忽略某条推送,系统会询问用户是否不再接受此推送。请开发者不要只是为了将应用保留在活跃群组,而向用户不断发送推送。...目前有以下两种情况会触发系统发送通知: 频繁使用唤醒锁 (wake locks):屏幕关闭后,局部唤醒锁 (Partial wake lock) 连续开启 1 小时; 过多后台服务:当应用目标 API

    2.1K30
    领券