码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Google Firebase PHP实现消息推送


    获取key的方法:

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

    1. function firebaseNotice($title,$body){
    2. $token_arr=['token1','token2']; //用户的firebasetoken列表
    3. $notify_msg = [
    4. "notification" => [
    5. "title" => $title,
    6. "body" => $body
    7. ],
    8. "data" => [], //由开发者自己定义内容
    9. "registration_ids" => $token_arr,
    10. "direct_boot_ok"=>true
    11. ];
    12. $data = json_encode($notify_msg);
    13. $notify_server_key = 'AAAAk5ct8mI:A*******1LLtP6jWH'; //替换为自己的firebase开发者后台获取的key
    14. $url = "https://fcm.googleapis.com/fcm/send";
    15. $headers = [
    16. "Authorization:key=" . $notify_server_key,
    17. "Content-Type:application/json"
    18. ];
    19. try {
    20. $ch = curl_init();
    21. curl_setopt($ch, CURLOPT_URL, $url);
    22. curl_setopt($ch, CURLOPT_POST, true);
    23. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    24. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    25. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    26. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    27. // 在尝试连接时等待的秒数
    28. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , 2);
    29. // 最大执行时间
    30. curl_setopt($ch, CURLOPT_TIMEOUT, 3);
    31. $result = curl_exec($ch);
    32. //var_dump($result);
    33. $respon = json_decode($result, true);
    34. } catch (\Exception $e) {
    35. $respon = [];
    36. }
    37. if (isset($respon['results'])) {
    38. if (isset($respon['results']['error'])) {
    39. return false;
    40. } else {
    41. return true;
    42. }
    43. }
    44. return true;
    45. }

    调用方法:

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

  • 相关阅读:
    C++入门教程(十一、宏)
    Golang Vue 后台框架 go-admin 从零开始企业级实战视频教程(33 个视频)
    (附源码)计算机毕业设计SSM基于框架的临时摊位管理系统
    闺蜜和我,我和闺蜜
    Spring、Spring MVC、Spring boot、Spring Cloud面试题(史上最全面试题,精心整理100家互联网企业,面试必过)
    MQ消息的自动应答和手动应答| RabbitMQ系列(三)
    接口性能测试方案
    基于JAVA小福星宠物领养演示视频计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    设计模式概述
    realloc一定要注意的细节,不然很容易崩溃
  • 原文地址:https://blog.csdn.net/salestina/article/details/134336339
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号