腾讯信鸽推送(一):服务端架构

         目前厂商通道有华为、小米、魅族、海外FCM,oppp需要邀请才能集成,vivo目前只支持几个大厂集成,例如腾讯,阿里巴巴。oppo,vivo目前还处于内测当中。当时找过极光、个推,他们虽然支持厂商通道集成,但必须要成为他们的VIP才支持该功能。而腾讯信鸽集成厂商通道是免费的。于是我的计划是苹果手机就用个推,华为、小米、魅族、海外FCM用腾讯信鸽推送,安卓其他的手机用极光推送。等oppo,vivo厂商通道内测好了,再把这2个品牌加入到腾讯信鸽推送。目前在中国市场占有率排在前5名是华为、小米、oppp、vivo、苹果,其他品牌比如锤子、360手机市场占有率小,他们也懒得做厂商通道。
        服务端采用php来推送,因为php使用的范围比较广。不说了,先贴代码。
push.php

<?php

 

header("Content-Type: text/html; charset=utf-8");

define ( "__ROOT__", $_SERVER ['DOCUMENT_ROOT'] );

require_once (__ROOT__ . "/vendor/xinge/index.php");

require_once (__ROOT__ . "/vendor/jpush/jpush/index.php");

 

pushMessage();

 

function pushMessage()

{

$Registration_Id = $_POST["Registration_Id"];

$FcName = $_POST["FcName"];

$MessengText = $_POST["MessengText"];

$sublen=strlen($Registration_Id);

if($sublen==40) DemoPushSingleDeviceNotification($Registration_Id,1,$FcName,$MessengText);//添加元素

else JPushDeviceListMultipleNotification($Registration_Id,1,$FcName,$MessengText,$_POST["Tel1"]);//添加元素

}
?>

xinge
require_once ('XingeApp.php');

//单个设备下发通知消息

function DemoPushSingleDeviceNotification($CID,$PlatForm,$FcName,$UserText)

{

$push = new XingeApp(2104563460, '01536b093fafb86bbe92b8095582692f');

$mess = new Message();

$mess->setType(Message::TYPE_NOTIFICATION);

$mess->setTitle($FcName);

$mess->setContent($UserText);

$mess->setExpireTime(86400);

//$style = new Style(0);

#含义:样式编号0,响铃,震动,不可从通知栏清除,不影响先前通知

$style = new Style(0,1,1,0,0);

$action = new ClickAction();

$action->setActionType(ClickAction::TYPE_URL);

$action->setUrl("http://www.qiyeim.com");

#打开url需要用户确认

$action->setComfirmOnUrl(1);

$custom = array('key1'=>'value1', 'key2'=>'value2');

$mess->setStyle($style);

$mess->setAction($action);

$mess->setCustom($custom);

$acceptTime1 = new TimeInterval(0, 0, 23, 59);

$mess->addAcceptTime($acceptTime1);

$ret = $push->PushSingleDevice($CID, $mess);

return($ret);

}

//大批量下发给设备 android

//iOS 请构建MessageIOS 消息

function DemoPushDeviceListMultipleNotification($deviceList,$PlatForm,$FcName,$UserText)

{

$push = new XingeApp(2104563460, '01536b093fafb86bbe92b8095582692f');

$mess = new Message();

$mess->setType(Message::TYPE_NOTIFICATION);

$mess->setExpireTime(86400);

$mess->setTitle($FcName);

$mess->setContent($UserText);

$mess->setType(Message::TYPE_NOTIFICATION);

$ret = $push->CreateMultipush($mess);

if (!($ret['ret_code'] === 0))

return $ret;

else

{

$result=array();

array_push($result, $push->PushDeviceListMultiple($ret['result']['push_id'], $deviceList));

return ($result);

}

}

需要腾讯信鸽插件请联系企业即时通讯-触点通QQ:1417249367
代码下载:http://webrtc.qiyeim.com/xiazai/appcan_Demo.zip

包含客户端和服务端 代码 亿级并发,秒级触达 稳定的大规模接入集群,同时与数亿移动智能终端保持稳定的长连接,支持十亿级并发 秒级触达用户,每天可发送百亿级的通知/消息 最省电省流量方案 智能识别网络环境,根据不同环境定制通讯协议,以最低消耗维护长连接,做到极致省电省流量 通知及消息高度压缩,节省流量的同时加密保证安全性 丰富标签,精准定向 特定标签人群,团队测试用户,全量用户,单个用户等多种推送范围选择 及时稳定地将信息送达到最相关的用户,形成用户粘性,避免骚扰 开放API接口,灵活自定义推送 开放推送能力,提供多种语言API ,包括Java/PHP/Python/Node.js,业务自由集成 可视效果,实时监控 实时监控通知/消息的抵达用户量,点击转化量,点击转化率,推送效果目了然 使用方法 登录后,创建应用,获取应用的唯识别码AccessKey和密钥SecretKey; 下载对应平台的SDK,并参考开发文档完成SDK集成; 通过API调用或Web业务端方便快速地完成推送测试和实际发送,并实时查看推送效果。 使用场景 通知,定义为Android和iOS开发者指南中的Notifidoveion。服务器定向将信息实时送达手机,通过建立条手机与服务器的连接链路,当有消息需要发送到手机时,通过此链路发送即可。通过推送条用户可见的信息,引导用户进行有目的性的操作。通常用于产品信息知会、新闻推送和个性化消息等场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值