web消息推送-goesay

时间:2022-06-04 12:03:13

原文:http://www.upwqy.com/details/22.html

1 GoEasy简介:

GoEasy - Web实时消息推送服务专家

最简单的方式将消息从服务器端推送至客户端

最简单的方式将消息从各种客户端推送至客户端

任何Web浏览器 任何开发语言 实时高效  隐私安全 稳定可靠 简单易用

2 注册获取到相关配置

注册链接:https://center.goeasy.io/cn/account/form

web消息推送-goesay

3 登录后创建免费应用 获取相关配置

创建一个免费应用  有一年的试用期

然后在控制台可以看到

web消息推送-goesay

面板中 有cdn-host rest-host 还有appkey 这些参数

 

4 消息发送和接收

4.1首先在你需要接收消息的页面 加载js

这里的 <CDN Host>替换掉

<script type="text/javascript" src="http(s)://<CDN Host>/goeasy.js"></script>
<script type="text/javascript">
var goEasy = new GoEasy({
appkey: '你的appkey值,我这里选择的是Common key,可以在上面面板中app keys后的查看中找到'
});
//GoEasy-OTP可以对appkey进行有效保护,详情请参考:GoEasy-Reference
</script>

然后配置接收数据的代码

goEasy.subscribe({
channel: 'demo_channel',
onMessage: function(message){
console.log('收到:'+message.content);
}
});

4.2 消息的发送有两种

4.2.1  通过API的方式发送

这里的 。<REST Host>  替换掉

$url = 'https://<REST Host>/publish';
$post = [
'appkey'=>'你的appkey',
'channel'=>'demo_channel',
'content'=>'测试的推送内容'
];
$info = curl_post_form_data($url,$post);
dump(json_decode($info,true));
/**
* Author: [一秋]
* @param $url
* @param array $params
* @return mixed|string
*/
function curl_post_form_data($url, array $params = array()){
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0); // 设置header
curl_setopt($ch, CURLOPT_URL, $url); // 设置访问的地址
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 获取的信息返回
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
$output = curl_exec($ch); // 采集
if (curl_error($ch)) {
return curl_error($ch);
}
return $output;
}

4.2.2 从web浏览器端推送消息

这里首先也是要加载js,

这里的js 可以放置到公共文件中 

<script type="text/javascript" src="http(s)://<CDN Host>/goeasy.js"></script>
<script type="text/javascript">
var goEasy = new GoEasy({
appkey: '你的appkey值,我这里选择的是Common key,可以在上面面板中app keys后的查看中找到'
});
//GoEasy-OTP可以对appkey进行有效保护,详情请参考:GoEasy-Reference
</script>

然后配置发送消息的js

goEasy.publish({
channel: 'demo_channel',
message: 'Hello world!'
});

上面的两种推送方式 推送成功后,我们可以在接收消息的页面的console控制台看到

web消息推送-goesay

这里的 channel  理论上是无限制的 但是最好每个页面不超过6~8个

如果想要实现单用户推送 可以在使用  channel_userid  这样的 把用户ID绑定到channel上面  就可以了。可以自己尝试一下

快速入门文档:http://goeasy.io/cn/started