Google Firebase PHP实现消息推送

获取key的方法:

登录谷歌开发者后台 https://console.firebase.google.com/?hl=zh-cn

function firebaseNotice($title,$body){$token_arr=['token1','token2']; //用户的firebasetoken列表$notify_msg = ["notification" => ["title" => $title,"body" => $body],"data" => [], //由开发者自己定义内容"registration_ids" => $token_arr,"direct_boot_ok"=>true];$data = json_encode($notify_msg);$notify_server_key = 'AAAAk5ct8mI:A*******1LLtP6jWH'; //替换为自己的firebase开发者后台获取的key$url = "https://fcm.googleapis.com/fcm/send";$headers = ["Authorization:key=" . $notify_server_key,"Content-Type:application/json"];try {$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, $data);// 在尝试连接时等待的秒数curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , 2);// 最大执行时间curl_setopt($ch, CURLOPT_TIMEOUT, 3);$result = curl_exec($ch);//var_dump($result);$respon = json_decode($result, true);} catch (\Exception $e) {$respon = [];}if (isset($respon['results'])) {if (isset($respon['results']['error'])) {return false;} else {return true;}}return true;}

调用方法:

$title='系统通知';
$body='通知内容通知内容';
firebaseNotice($title,$body);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/170208.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

古人是如何防雷的?——中国古建筑中的防雷智慧

“雷电”这个词自古以来就一直伴随着人类的生活,并且给我们人类的生活造成了不小的影响。我国古代建筑大多是木质结构,如果雷击打在上面,就不仅仅是物理损坏,还有可能引发火灾。为了保护建筑物及人们的生命财产安全,如…

PostgreSQL 入门教程

PostgreSQL 入门教程 1. 历史背景2. 概念3. 特点4. 用法4.1 数据库连接4.2 数据库创建4.3 表创建4.4 数据插入4.5 数据查询4.6 数据更新4.7 数据删除 5. 安装步骤6. 简单示例7. 扩展7.1 数据类型7.2 查询优化7.3 并发控制7.4 数据备份和恢复7.5 扩展性和高可用性7.6 安全性加固…

【uniapp/uview】Collapse 折叠面板更改右侧小箭头图标

最终效果是这样的: 官方没有给出相关配置项,后来发现小箭头不是 uview 的图标,而是 unicode 编码,具体代码: // 箭头图标 ::v-deep .uicon-arrow-down[data-v-6e20bb40]:before {content: \1f783; }附一个查询其他 u…

第二十九章 目标检测中的测试模型评价指标(车道线感知)

前言 近期参与到了手写AI的车道线检测的学习中去,以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新,力求完整精炼,引人启示。所需前期知识,可以结合手写AI进行系统的学习。 介绍 自动驾驶的一大前提是保证人的安全…

IntelliJ IDEA 2023.2.1 (Ultimate Edition) 版本 Git 如何合并多次的本地提交进行 Push

本心、输入输出、结果 文章目录 IntelliJ IDEA 2023.2.1 (Ultimate Edition) 版本 Git 如何合并多次的本地提交进行 Push前言为什么需要把多次本地提交合并合并提交的 2 种形式:事中合并、事后合并事中合并事后合并:支持拆分为多组提交弘扬爱国精神IntelliJ IDEA 2023.2.1 (U…

中小企业数字化转型进程加速,CRM系统前景如何?

自疫情不断反复之后,中小企业数字化转型进程开始加速。作为当下最热门的企业级应用,CRM客户管理系统的前景还是被看好的。相比于美国企业CRM系统7成的使用率,中国的CRM市场还有很大的发展空间。下面来详细说说,CRM系统的前景如何&…

深度学习AI识别人脸年龄

以下链接来自 落痕的寒假 GitHub - luohenyueji/OpenCV-Practical-Exercise: OpenCV practical exercise GitHub - luohenyueji/OpenCV-Practical-Exercise: OpenCV practical exercise import cv2 as cv import time import argparsedef getFaceBox(net, frame, conf_thresh…

Django中Cookie和Session的使用

目录 一、Cookie的使用 1、什么是Cookie? 2、Cookie的优点 3、Cookie的缺点 4、Django中Cookie的使用 二、Session的使用 1、什么是Session? 2、Session的优点 3、Session的缺点 4、Django中Session的使用 三、Cookie和Session的对比 总结 D…

Android修行手册-POI操作Excel实现超链接并且变为蓝色

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&…

相机突然断电,保存的DAT视频文件如何打开

3-6 本文主要解决因相机突然断电导致拍摄的视频文件打不开的问题。 在平常使用相机拍摄视频,比如使用佳能相机拍摄视频的时候,如果电池突然断电,就非常有可能会导致视频没来得及保存而损坏的情况,比如会产生下图中的这种DAT文件…

mac 自动操作.app 将shell脚本封装为app运行

文章目录 前言一、自动操作.app二、保存操作 前言 提高效率,实现脚本自动化。 提示:以下是本篇文章正文内容,下面案例可供参考 一、自动操作.app 打开之后。选择文稿类型:应用程序 搜索“脚本” 添加命令 我这里以打开微信的命令…

AIGC视频生成/编辑技术调研报告

人物AIGC:FaceChain人物写真生成工业级开源项目,欢迎上github体验。 简介: 随着图像生成领域的研究飞速发展,基于diffusion的生成式模型取得效果上的大突破。在图像生成/编辑产品大爆发的今天,视频生成/编辑技术也引起…