我的编程空间,编程开发者的网络收藏夹
学习永远不晚

unipush2 php服务端调用推送

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

unipush2 php服务端调用推送

一、登陆开发者账号与配置unipush

1、注册登陆账号(使用Hbuilder登陆账号)

    unicloud后台:uniCloud控制台

    开发者中心:开发者中心       

   点击unipush的 菜单开通unipush服务(官方文档有完整的开通教程,一定要看,并且跟着完成配置,不然影响后边运行)         uni-push2统一推送 | uni-app官网

2、运行准备:

    2.1 配置app模块(如果测试在线的话就不用勾选离线推送)

     2.2打包基座(建议使用自定义调试基座)

        运行-》运行到手机或者模拟器-》制作自定义调试基座(打包时间可能有点长,要生成云端证书)

 3、验证在线推送

        在APP.vue

onLaunch: function() {  // uni-app客户端获取push客户端标记,代码可以实现在App.vue中    uni.getPushClientId({      success: (res) => {        let push_clientid = res.cid        console.log('客户端推送标识cid:',push_clientid)      },      fail(err) {        console.log(err)      }    })}

点击运行,运行到手机或者手机模拟器,运行到自定义基座,选择数据线连接的自己的手机设备(开发者模式,允许usb调试)或者模拟器,如果控制台讲设备id打印出来说明可以推送成功

4、dcloud后台测试推送

     点击预览

 点击确认

 手机或者模拟器看到一下消息说明推送成功,

5、php服务器给App推送消息

     5.1创建云开发环境,关联云服务空间

 右键点击项目,带你关联云服务空间或者项目,选择自己的云服务空间

 

    云服务空间  uniCloud控制台

    有一个免费的云服务空间,只有一个月,开通包年包月也可以,测试的话用基础版就可以,时间可能有点长,耐心一点

    5.2新建云函数

        

         右键点击选择新建云函/云对象,点击创建

 

    5.3配置编写云函数

        package.json

{  "name": "unipush",  "version": "1.0.0",  "main": "index.js",  "description": "消息推送",  "extensions": {    "uni-cloud-push": {}  },  "author": "vini123"}

index.js

'use strict';const uniPush = uniCloud.getPushManager({appId:"__UNI__"}) //注意这里需要传入你的应用appId  exports.main = async (event, context) => {      return await uniPush.sendMessage({          //填写上一步在uni-app客户端获取到的客户端推送标识push_clientid        "push_clientid": "自己的设备号",             "force_notification":true,  //填写true,客户端就会自动创建“通知栏消息”。          "title": "您收到一条消息",              "content": "请查看",          "payload": {              "text":"体验一下uni-push2.0"          }      })  };

右击新建的云函数点击上传并运行,如果手机或者模拟器看到推送的消息,说明成功,没有成功啧查看一下是否有什么缺漏的步骤,可以后天查看一下云函数推送失败的日志,后台可以查看云函数 uniCloud控制台

 自定义推送消息 修改index.js,上传部署

const uniPush = uniCloud.getPushManager({  appId: "__UNI__" //z自己的appid })  exports.main = async (event) => {  let obj = JSON.parse(event.body)  const res = await uniPush.sendMessage({  "push_clientid": obj.clientid, // 设备id,支持多个以数组的形式指定多个设备,如["cid-1","cid-2"],数组长度不大于1000  "title": obj.title, // 标题  "content": obj.content, // 内容  "payload": obj.payload, // 数据  "force_notification": true, // 服务端推送 需要加这一句  "request_id": obj.request_id ,//请求唯一标识号,10-32位之间;如果request_id重复,会导致消息丢失      })  };

先使用postman推送消息  ,后台查看云函数,点击详情,查看url,可以点击编辑修改自己的云函数访问名,点击复制路径到postman

 

 

 点击发送,注意,在编辑完云函数之后需要重新运行一下app,不然有可能收不到推送消息(卡了我好一会儿)

 返回数据是这样的就说明成功,没有收到推送的看一下是否修改content-type和是否重新运行

注:url是都可以访问的,所以一定要注意隐私

php给app推送消息

function send_message(){        $url = '自己的url';        $data = [            'push_clientid'=>'自己的设备号',            'title'=>'测试title',            'content'=>'这是测试',            'payload'=>'{"text":"体验一下uni-push2.0"}'        ];        $rs = $this->httpcurl($url, json_encode($data),true, true);        dump($rs);    }        public function httpcurl($url, $params = false, $post = false, $https = false){        $httpInfo = array();        $ch = curl_init();        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);        curl_setopt($ch, CURLOPT_TIMEOUT, 30);        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);        if ($post === true) {            curl_setopt($ch, CURLOPT_POST, true);            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);            curl_setopt($ch, CURLOPT_URL, $url);        } else {            if ($params === false) {                curl_setopt($ch, CURLOPT_URL, $url);            } else {                if (is_array($params)) {                    $params = http_build_query($params);                }                curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);            }        }        if ($https === true) {            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在        }        $response = curl_exec($ch);        // if ($response === false) {        //     Illuminate\Support\Facades\Log::error(sprintf('curl 错误。 url:%s, error:%s', $url, curl_error($ch)));        //     return false;        // }        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);        $httpInfo = array_merge($httpInfo, curl_getinfo($ch));        curl_close($ch);        return $response;    }

直接调用send_message就可以实现给app推送消息了

来源地址:https://blog.csdn.net/weixin_48393490/article/details/129981929

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

unipush2 php服务端调用推送

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux推送服务的消息推送策略调整

Linux推送服务的消息推送策略调整包括以下几个方面:优化推送频率:根据用户的实际需求和偏好,调整消息推送的频率,避免过频繁或过少的推送,确保用户能够接收到有用的信息。精准定位目标用户:根据用户的行为数据和偏好,对用户进行分群,精准定位目标
Linux推送服务的消息推送策略调整
2024-08-23

Linux推送服务的消息推送优先级调整

要在Linux推送服务中调整消息推送的优先级,可以通过以下步骤进行操作:找到消息推送服务的配置文件,通常是在/etc目录下,找到对应的配置文件(如nginx.conf、apache2.conf等)。打开配置文件,在其中找到与消息推送相关的配
Linux推送服务的消息推送优先级调整
2024-08-24

Linux推送服务的消息推送与TCP/IP协议栈的调优

在Linux系统中进行消息推送服务时,对TCP/IP协议栈进行调优是非常重要的。通过优化TCP/IP协议栈可以提高消息推送的性能和稳定性,降低延迟和丢包率。以下是一些常见的调优方法:调整TCP缓冲区大小:增大TCP缓冲区可以提高数据传输的吞
Linux推送服务的消息推送与TCP/IP协议栈的调优
2024-08-22

Linux推送服务的客户端库选择

libcurl:libcurl是一个功能强大且广泛使用的网络传输库,可以进行HTTP、FTP、SMTP等协议的数据传输。它支持多种操作系统,包括Linux。通过libcurl,开发者可以轻松地实现推送服务的客户端功能。MQTT客户端库:MQ
Linux推送服务的客户端库选择
2024-08-23

Linux推送服务的消息推送目标用户筛选

根据用户的设备类型:可以根据用户使用的设备类型(如手机、平板、PC等)筛选推送消息的目标用户,确保消息能够准确地推送到用户的设备上。根据用户的地理位置:可以根据用户的地理位置信息进行筛选,将消息推送给特定地区的用户,以满足地理位置相关的需求
Linux推送服务的消息推送目标用户筛选
2024-08-23

ios 服务器端推送证书生成的方法

1.打开mac的钥匙串,生成证书请求文件2.登录Apple dev账号,编辑对应APP ID点击创建证书,使用步骤1生成的证书请求创建推送证书,开发证书和推送证书可以用同一个证书请求生成证书3.下载步骤2中生成的推送证书并导入到系统中导出证
2022-05-25

Linux推送服务的消息推送与Docker Compose的配合使用

在Linux系统中,可以通过使用消息推送服务来发送消息到客户端设备,以实现实时通知和推送功能。Docker Compose是一个用于管理多个Docker容器的工具,可以方便地部署和管理多个容器应用。要在Linux系统中实现消息推送服务的消
Linux推送服务的消息推送与Docker Compose的配合使用
2024-08-22

WebSocket如何实现服务器消息推送客户端

这篇文章主要为大家展示了“WebSocket如何实现服务器消息推送客户端”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“WebSocket如何实现服务器消息推送客户端”这篇文章吧。  一、背景  
2023-06-02

Linux推送服务的消息推送与Redis缓存的结合使用

实现Linux推送服务的消息推送功能,可以结合使用Redis缓存来提高性能和减少消息丢失的可能性。下面是一个简单的示例代码,演示如何在Linux推送服务中集成Redis缓存:首先,在Linux推送服务中添加Redis客户端的依赖,例如使用P
Linux推送服务的消息推送与Redis缓存的结合使用
2024-08-22

SpringBoot+netty-socketio如何实现服务器端消息推送

这篇文章主要介绍SpringBoot+netty-socketio如何实现服务器端消息推送,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先:因为工作需要,需要对接socket.io框架对接,所以目前只能使用nett
2023-06-14

Linux推送服务的消息推送与机器学习算法的应用

Linux推送服务可以利用机器学习算法来优化消息推送的效果。通过分析用户的行为数据、偏好和历史记录,可以使用机器学习算法来预测用户的需求和兴趣,从而精准地推送相关的消息内容。例如,可以使用协同过滤算法来推荐用户可能感兴趣的内容,或者使用分
Linux推送服务的消息推送与机器学习算法的应用
2024-08-23

服务器推送技术怎么应用

服务器推送技术是指服务器向客户端主动发送数据的技术,与传统的客户端请求-服务器响应模式不同。它可以提高应用程序的实时性、性能和用户体验,常用于实时通信、新闻推送、股票行情等场景。以下是服务器推送技术的应用举例:1. 实时通信:聊天室、在线客
2023-06-07

iOS 通知推送服务端部署测试过程详细版

文章目录 iOS 通知推送服务端部署测试过程详细版 前言 部署Serverless 版Bark-server 1.注册Render 账号 2.创建一个Web Servi
2023-08-23

Linux推送服务的用户反馈机制

Linux推送服务的用户反馈机制通常包括以下几个方面:用户反馈渠道:Linux推送服务通常会设立专门的反馈渠道,如邮件、社区论坛、Bug跟踪系统等,让用户可以随时向开发团队反馈使用过程中遇到的问题、提出改进建议等。用户调查:定期进行用户满意
Linux推送服务的用户反馈机制
2024-08-23

Linux推送服务的消息推送如何优化内存和CPU资源使用

以下是一些优化Linux推送服务的消息推送,以减少内存和CPU资源的使用:使用轻量级的推送服务:选择使用轻量级的消息推送服务,例如Mosquitto或RabbitMQ,而不是较重的服务,如Kafka或ActiveMQ。优化配置参数:调整推送
Linux推送服务的消息推送如何优化内存和CPU资源使用
2024-08-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录