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

如何在php中使用FCM实现web推送通知

在PHP中使用FCM(Firebase Cloud Messaging)实现Web推送通知的步骤如下:

  1. 首先,确保你已经创建了一个Firebase项目并配置了FCM。你可以在Firebase控制台中创建一个新项目,并获取到项目的服务器密钥和发送者ID。
  2. 在PHP中,你需要使用cURL库来发送HTTP请求。确保你的PHP环境已经安装了cURL扩展。
  3. 创建一个PHP文件,命名为push_notification.php(或者其他你喜欢的名称),并在文件中添加以下代码:
代码语言:php
复制
<?php
function sendPushNotification($title, $message, $token) {
    $url = 'https://fcm.googleapis.com/fcm/send';
    $serverKey = 'YOUR_SERVER_KEY'; // 替换为你的服务器密钥
    $headers = array(
        'Authorization: key=' . $serverKey,
        'Content-Type: application/json'
    );

    $data = array(
        'to' => $token,
        'notification' => array(
            'title' => $title,
            'body' => $message,
            'icon' => 'your-icon-url' // 替换为你的图标URL
        )
    );

    $payload = json_encode($data);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

    $result = curl_exec($ch);
    curl_close($ch);

    return $result;
}

// 使用示例
$title = '新消息';
$message = '你有一条新的通知';
$token = 'DEVICE_TOKEN'; // 替换为你的设备令牌
$response = sendPushNotification($title, $message, $token);
echo $response;
?>
  1. 在上述代码中,你需要将YOUR_SERVER_KEY替换为你在Firebase控制台中获取到的服务器密钥,将your-icon-url替换为你的图标URL,将DEVICE_TOKEN替换为你的设备令牌。
  2. 保存并上传push_notification.php文件到你的服务器。
  3. 现在,你可以通过访问push_notification.php文件来发送推送通知。你可以在其他PHP文件中调用sendPushNotification函数,传递相应的标题、消息和设备令牌来发送通知。

需要注意的是,FCM还提供了更多高级功能,如数据消息、主题订阅等。你可以在Firebase文档中查找更多关于FCM的详细信息和用法。

推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/tpns

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

相关·内容

在 React应用实现Web推送通知

custom-sw.js'const swUrl =`$ {process.env.PUBLIC_URL} / $ {swFileName}`; 现在让我们创建的一个服务人员的公共文件夹,将听取推事件和显示通知...如果我们决定保留它们并只添加我们的推送功能,则需要对构建过程进行一些修改。CRA中有用于服务人员构建的工作箱。而且,即使您的目的只是添加一些自定义代码,也没有内置的方法可以对其进行修改。...如果您还没有准备好主动地投入到CRA上下文中的Workbox配置研究,我认为此软件包是最方便的方法。...如果您想使用户烦恼很多次,请首先显示带有订阅要约的自定义对话框。并且只有在用户同意的情况下,才显示真实的。...https://medium.com/@seladir/how-to-implement-web-push-notifications-in-your-node-react-app-9bed79b53f34

3.1K30

h5的Notification 、web Push介绍

默认是auto,跟随浏览器语言设置行为,你也可以通过设置ltr和rtl的值来覆盖该行为(虽然大多数浏览器似乎忽略这些设置) lang: 通知的语言,使用代表一个BCP 47语言标签的 DOMString...---- web push实现细节 1、 按照上一部分所说,首先进行用户订阅。...FCM官方是这么介绍的: Firebase 云信息传递 (FCM) 是一种跨平台消息传递解决方案,可供您免费、可靠地传递消息。 使用 FCM,您可以通知客户端应用存在可同步的新电子邮件或其他数据。...您可以发送通知消息以再次吸引用户并促进用户留存。在即时消息传递等使用情形,一条消息可将最大 4KB 的有效负载传送至客户端应用。...(3)发送推送 发送推送可以用FCM提供的web push的库,它支持多种语言,包括Node.js/PHP等版本。

4.5K20
  • React Native推送通知:完整的操作指南

    在这篇文章,我们将看到如何在React Native应用创建和发送推送通知。 什么是推送通知推送通知是从应用程序发送到已安装该应用的用户的消息或警报。...React Native 推送通知架构 在我们深入了解如何在 React Native 应用实现推送通知的技术细节之前,理解React Native推送通知的工作原理可能会有所帮助。...你可以直接使用 FCM/APNs 或者使用这些库的托管推送通知服务。然而,请记住,我们必须在 Expo 中使用裸工作流来使用这些库,因为这些库不包含在 Expo 应用程序。...演示:如何在 React Native 设置推送通知 要在React Native应用程序中使用推送通知,我们首先需要注册应用程序以获取推送通知令牌。这个令牌是一个长字符串,可以唯一标识每个设备。...如果你访问Expo的文档,你会找到关于如何在许多语言中实现服务器上的推送通知的信息。 在这个教程,我将使用一个Node.js服务器。

    1.2K10

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

    注:国内可接收FCM推送,但必须安装谷歌服务。具体操作请参考官方文档。...2、一台应用服务器,您必须在您的环境实现它。此应用服务器通过选定的FCM连接服务器,使用合适的 XMPP 或 HTTP 协议向客户端应用发送数据。...您可以发送带有预定义字段的通知消息或自定义数据消息;请参阅消息负载通知和数据,了解关于负载支持的详细信息。本页的示例用于说明如何通过 HTTP协议发送数据消息。...通知 要发送通知,可设置 notification 键并针对通知消息的用户可见部分设置必要的预定义键选项集。 例如,这是 IM 应用的 JSON 格式的通知消息。...数据包的 notification 键包含通知

    12.7K30

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

    设置冷却时间 避免一分钟内出现多条通知而被替换 pushAgent.muteDurationSeconds = 600 } 1.3 离线推送支持 在 Application 对应初始化厂商通道即可...} 很多时候我们都希望,即使用户当前未使用 App,或者说当前的 App 处于被杀死的状态,后台推送消息依然想被前台接收。...若使用一键清理,应用的channel进程被清除,将接收不到推送。通过接入托管弹窗功能,可有效防止以上情况,增加推送消息的送达率。...3.3 FCM 消息处理 在 app build 完善下依赖: // FCM implementation 'com.google.firebase:firebase-analytics:17.4.4...厂商推送 FCM { // 设置默认推送通知显示图标 iconRes "@mipmap/default_ic_launcher

    11.4K41

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

    在Android系统,保活(保持应用进程一直存活)就是为了让应用在后台持续运行,来实现某些特定的功能,如实时消息推送、定位服务等。...白名单 引导用户将应用加入系统的白名单,省电白名单、自启动白名单等。加入白名单的应用不会受到系统的限制,可以在后台持续运行。 6. 第三方推送服务 使用第三方推送服务,极光推送、小米推送等。...这些推送服务通常使用保活技巧,可以保证消息的实时推送。 7. 静态广播监听 在AndroidManifest.xml中注册静态广播,监听系统广播,电池状态改变、屏幕解锁等。...使用Firebase Cloud Messaging(FCM) 对于需要实时消息推送的应用,可以使用Firebase Cloud Messaging(FCM)服务。...FCM是一种跨平台的消息推送服务,可以实现高效且可靠的消息传递。通过使用FCM,你可以确保应用在后台时接收到实时消息,而无需采取过多的保活手段。 18.

    46820

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

    概述 产品介绍 UniPush是DCloud联合个推公司推出的集成型统一推送服务,内建了苹果、华为、小米、OPPO、VIVO、魅族、谷歌 FCM 等手机厂商的系统级推送和个推等第三方推送。...国内Android的Push是一个混乱的世界,因为Google的Push服务FCM 被墙(从HBuilderX2.7.10开始,支持谷歌FCM,参考: UniPush支持谷歌推送FCM配置指南),所以一些国内的安卓手机厂商各自做了自己的推送...三方独立公司个推,则提供了独立的 push 方案。 在没有UniPush以前,如果只使用三方push,会在很多国产手机上因为节电设置而无法保活push进程,导致无法推送。...技术架构 名词解释 名词 解释 通知消息 指定通知标题和内容后,由个推SDK自动处理在系统通知展示通知栏消息,同时响铃或震动提醒用户(响铃和震动受手机系统的设置状态影响)。...透传消息 即自定义消息,消息体格式客户可以自己定义,纯文本、json 串等。透传消息个推只传递数据,不做任何处理,客户端接收到透传消息后需要自己去做后续动作处理,通知栏展示、弹框等。

    5.7K22

    React Native 常用的 15 个库

    React Native Push Notification 这个库支持本地推送通知功能比较全面。它具有日程通知、基于日、周、时间的重复通知等其他库没有的功能。...如果你的应用程序具有离线可用并且需要推送通知,则此库是你的选择。 13....React Native FCM 如果你的应用程序需要使用 GCM 或 FCM 从服务器发送远程通知,那么这个库就你选择之一,FCM 只是 GCM 的最新版本。...因此,如果你同时需要远程和本地通知,那么可以使用 response-native-fcm 12.React Native Hyperlink 一个简单的 react-native 超链接组件的可以让...这个库帮助我使用一个非常简单的声明性API快速实现导航。 它维护一堆路线并从应用程序的任何场景导航到任何场景就像调用函数一样简单。 它也支持选项卡式导航,侧边栏和模态框。

    5.8K31

    APP消息推送方案调研

    介绍消息类型推送服务支持通知栏消息和透传消息通知栏消息通知栏消息由系统通道直接下发,消息将在终端的通知中心下拉列表呈现,不需要应用进程驻留后台,用户点击通知栏消息后会触发相应的动作,打开应用、打开网页等...由于通知栏消息的低功耗和高到达率特点,推送服务更推荐您使用通知栏消息。...但是不建议自己设置服务器实现推送功能。...一是因为成本太高(开发成本、维护成本),自己搭建的服务器无论是稳定性还是速度上都比不了第三方推送服务提供商的效果; 另一个是因为自己的数据量较小,使用第三方推送服务提供商可以用他们的维度进行推送实现精准推送...获取Firebase实例ID:在应用使用Firebase实例ID服务来获取一个唯一的标识符。这个服务会处理令牌的生成和刷新。

    21210

    Html Notification通知的简单使用(转)

    一、传统的通知实现 通知可以说是web中比较常见且重要的功能,私信、在线提问、或者一些在线即时通讯工具我们总是希望第一时间知道对方有了新的反馈,这个时候,就需要页面给予即使的通知。...自己更新于2018-08-04 Facebook的通知是应该是使用FCM,也就是Firebase云信息传递,是一种跨平台消息传递解决方案。...服务端使用这个subscription的信息调web push提供的API向FCM发送消息,FCM再下发给对应的浏览器。...默认情况下,Notification.permission的值是'default': 因此,Notification.requestPermission()的回调方法,可以不使用result参数,直接使用...通过后,就会出现妹子相关的通知信息了,例如,FireFox浏览器下(使用的是callback回调实现): ? 此时,你浏览器最小化,或者页面刷新,该通知都是纹风不动的。

    2.9K10

    Android P 电量管理

    系统或会通过利用机器学习预加载的应用,从而预测各个应用的使用概率,然后将它们编配至相应的群组。若设备没有安装此类系统应用,在默认情况下,系统会根据应用的近期使用情况进行等级划分。...具体操作指南,请参照 Material Design 中有关推送设计的章节。 若应用在接受高优先级的 FCM 消息之后未能发送推送,用户将无法与应用产生互动并将其优先级提升至 “活跃” 等级。...其实,高优先级 FCM 消息的唯一用途就是向用户发送推送,因此这种情况绝对不应该出现。...目前有以下两种情况会触发系统发送此通知: 频繁使用唤醒锁 (wake locks):屏幕关闭后,局部唤醒锁 (Partial wake lock) 连续开启 1 小时; 过多的后台服务:当应用目标 API...阅读《在低耗电模式和应用待机模式下进行应用测试》,了解如何在低耗电模式下使用 adb 命令。 应用待机分组 您可通过adb命令将应用手动划分至某一待机群组。

    2.1K30

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

    ,国内主流的Android手机厂商在阉割了谷歌原版的GCM(FCM)推送通道之后(悲剧!)...; 5)vivo消息推送服务(建设..)。...应用待机分组一共有五个分组,系统会根据每个应用的使用情况,将其划分至五个优先分组的一个,而每个分组对设备资源的调度各有不同的限制。...系统或会通过利用机器学习预加载的应用,从而预测各个应用的使用概率,然后将它们编配至相应的群组。若设备没有安装此类系统应用,在默认情况下,系统会根据应用的近期使用情况进行等级划分。...》 《深入的聊聊Android消息推送这件小事》 《基于WebSocket实现Hybrid移动应用的消息推送实践(含代码示例)》 《一个基于长连接的安全可扩展的订阅/推送服务实现思路》 《实践分享

    3.8K30

    使用 FCM 通知您的用户

    本文将解释何时以及如何生成这些远程通知,以便为用户提供及时更新并尽量省电。 用 FCM 实现远程通知 我们推荐使用 Firebase 云消息 (FCM) 发送远程通知到 Android 设备。...如果网络不好,使用 FCM 有效负载的内容就可以确保发一条通知给用户,从而仍然可以及时通知用户。然后用户可以打开应用再加载全部数据。...对此,我们推荐将 FCM 消息与 WorkManager 或 JobScheduler API 配合使用。 如果您需要发布有丰富媒体内容的通知,我们推荐您先用 FCM 消息的部分内容发布通知。...例如:即时通讯应用需要向用户发送好友消息或来电,而家庭监护应用需要向用户发送警报通知。在这些场景,可以使用高优先级 FCM 消息。...而如果是需要触发无需立即执行的事件,:时效性不强的通知或后台数据同步,则应使用普通优先级消息

    3.5K30

    Service Worker 实现 web 应用消息推送

    消息推送通知 Service worker 的消息推送,其实是提供了一种服务器与页面交互的技术。消息推送在 Native App 或 Hybird App 已经比较常见。...很多 Hybird App 里面其实还会有一些 H5 页面,在没有实现 service worker 消息推送之前,消息是推送不到页面的。...Push 的推送服务器,Chromium 默认使用 GCM / FCM,在国内都不能访问,无法使用。浏览器厂商自己搭建 Push 服务器,成本也不低,目前国内还未有浏览器厂商支持标准的Push 服务。...从 API 的使用规范来看,消息推送通知弹窗的关联比较密切,基本上使用的业务场景仅限制在消息通知范围。 1.3....Service worker 线程的运行状态, 一般对应 service worker 线程的状态,这类状态只保存在内存

    2.3K20

    消息通知系统优化设计

    5 收集联系信息流程 为发送通知,需收集各种信息移动设备令牌、email、phone和第三方通道信息。 用于存储联系信息的简化的数据库表模式。...关键是: 事件和推送通知的安全性 通知模板和设置 可靠性和弹性 重试机制 速率限制 监视队列通知和事件跟踪 事件和推送通知的安全性 在存储敏感数据的情况下,我们应该启用DynamoDB的数据保护,...建议使用TLS 1.3。 对于iOS和Android应用,appKey和appSecret用于保护推送通知API。只有经过身份验证或经过验证的客户端才允许使用API发送推送通知。...监视队列通知和事件跟踪 我们应该使用AWS CloudWatch指标监视通知系统。要监视的关键指标是EventBirdge的事件总数和排队通知的总数。...为实现目标,我选择基于事件的架构,利用EventBridge和SQS队列解耦系统组件。 设计广泛使用AWS服务,采用无服务器框架,这种选择不仅确保了效率,而且还将定价和运营成本降到了最低。

    21510

    基于APNs最新HTTP2接口实现iOS的高性能消息推送(服务端篇)

    目前介绍APNs消息推送的文章多讨论的是手机端的实现,而服务端的消息要怎么“推”出来这样的文章,要么太老,要么只是介绍如何调用第3方的服务端SDK接口而已(极光推广、友盟推送、腾讯信鸽推送等)。...,原因是国内的Android厂商将Android原生的GCM(现在叫FCM,跟iOS的APNs是类似的技术)进行了阉割,加上各厂商的省电策略、这全策略各不相同,导致为了实现IM和其它各种应用的后台消息推送...好了,言归正传,继续聊回使用pushy实现iOS高性能推送这个话题。...就算是微信和QQ这种用户级别的即时通讯app在程序没有启动或者后台运行过程也是需要使用APNs的(当程序启动时,使用自己建立的长连接),只不过腾讯优化了整条从他们服务器到苹果服务器的线路而已,所以觉得推送要快...AtomicLong完成匿名内部类operationComplete方法的计数; 使用Netty的Future对象进行消息推送结果的判断。

    5.1K30
    领券