bindAlias(APPID,ALIAS,CID);
var_dump($ret);
}
function queryCidByAlias() {
$igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
$ret =$igt->queryClientId(APPID,ALIAS);
var_dump($ret);
}
function queryAliasByCID() {
$igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
$ret =$igt->queryAlias(APPID,CID);
var_dump($ret);
}
function unbindAlias() {
$igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
$ret =$igt->unBindAlias(APPID,ALIAS,CID);
var_dump($ret);
}
function unbindAliasAll() {
$igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
$ret =$igt->unBindAliasAll(APPID,ALIAS);
var_dump($ret);
}
function getPersonaTagsDemo() {
$igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
$ret = $igt->getPersonaTags(APPID);
var_dump($ret);
}
function getUserCountByTagsDemo() {
$igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
$tagList = array("English","龙卷风");
$ret = $igt->getUserCountByTags(APPID, $tagList);
var_dump($ret);
}
function getScheduleTaskDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$ret = $igt->getScheduleTask(TASKID,APPID);
var_dump($ret);
}
function delScheduleTaskDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$ret = $igt->delScheduleTask(TASKID,APPID);
var_dump($ret);
}
function getPushResultByGroupNameDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$ret = $igt->getPushResultByGroupName(APPID,"toAppPush");
var_dump($ret);
}
function getLast24HoursOnlineUserStatisticsDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$ret = $igt->getLast24HoursOnlineUserStatistics(APPID);
var_dump($ret);
}
function restoreCidListFromBlkDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$cidList=array(CID,"");
$ret = $igt->restoreCidListFromBlk(APPID,$cidList);
var_dump($ret);
}
function addCidListToBlkDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$cidList=array(CID,"");
$ret = $igt->addCidListToBlk(APPID,$cidList);
var_dump($ret);
}
function setBadgeForCIDDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$cidList=array(CID,CID1);
$ret = $igt->setBadgeForCID(Badge,APPID,$cidList);
var_dump($ret);
}
function setBadgeForDeviceTokenDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$cidList=array(DT,DT1);
$ret = $igt->setBadgeForDeviceToken(Badge,APPID,$cidList);
var_dump($ret);
}
//bindCidPnDemo();
function bindCidPnDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$params = array();
$params[CID] = md5(PN);
$ret = $igt->bindCidPn(APPID,$params);
var_dump($ret);
}
//unbindCidPnDemo();
function unbindCidPnDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$cids=array(CID,"");
$ret = $igt->unbindCidPn(APPID,$cids);
var_dump($ret);
}
function queryCidPnDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$cidList=array(CID);
$ret = $igt->queryCidPn(APPID,$cidList);
var_dump($ret);
}
function stopSendSmsDemo(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$ret = $igt->stopSendSms(APPID,"OSS-0801_4b427ea3eea4801064ac7f76b86da6ab");
var_dump($ret);
}
function getPushMessageResultDemo(){
// putenv("gexin_default_domainurl=http://183.129.161.174:8006/apiex.htm");
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
// $ret = $igt->getPushResult("OSA-0522_QZ7nHpBlxF6vrxGaLb1FA3");
// var_dump($ret);
// $ret = $igt->queryAppUserDataByDate(APPID,"20140807");
// var_dump($ret);
$ret = $igt->queryAppPushDataByDate(APPID,"20180724");
var_dump($ret);
}
//用户状态查询
function getUserStatus() {
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$rep = $igt->getClientIdStatus(APPID,CID);
var_dump($rep);
echo ("
");
}
//推送任务停止
function stoptask(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$rep = $igt->stop("OSA-0801_F3TKsUx10wAzfyPsq8zKY2");
var_dump($rep);
}
//通过服务端设置ClientId的标签
function setTag(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$tagList = array('','中文','English');
$rep = $igt->setClientTag(APPID,CID,$tagList);
var_dump($rep);
echo ("
");
}
function getUserTags() {
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$rep = $igt->getUserTags(APPID,CID);
//$rep.connect();
var_dump($rep);
echo ("
");
}
//服务端推送接口,支持三个接口推送
//1.PushMessageToSingle接口:支持对单个用户进行推送
//2.PushMessageToList接口:支持对多个用户进行推送,建议为50个用户
//3.pushMessageToApp接口:对单个应用下的所有用户进行推送,可根据省份,标签,机型过滤推送
//
//单推接口案例
/*
function pushMessageToSingle(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
//消息模版:
// 1.TransmissionTemplate:透传功能模板
// 2.LinkTemplate:通知打开链接功能模板
// 3.NotificationTemplate:通知透传功能模板
// 4.NotyPopLoadTemplate:通知弹框下载功能模板
// $template = IGtNotyPopLoadTemplateDemo();
// $template = IGtLinkTemplateDemo();
// $template = IGtNotificationTemplateDemo();
$template = IGtTransmissionTemplateDemo();
$template = SmsDemo();
//个推信息体
$message = new IGtSingleMessage();
$message->set_isOffline(true);//是否离线
$message->set_offlineExpireTime(3600*12*1000);//离线时间
$message->set_data($template);//设置推送消息类型
// $message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
//接收方
$target = new IGtTarget();
$target->set_appId(APPID);
$target->set_clientId(CID);
// $target->set_alias(ALIAS);
try {
$rep = $igt->pushMessageToSingle($message, $target);
var_dump($rep);
echo ("
");
}catch(RequestException $e){
$requstId =$e->getRequestId();
$rep = $igt->pushMessageToSingle($message, $target,$requstId);
var_dump($rep);
echo ("
");
}
}
*/
//单推接口案例
function pushMessageToSingle($body,$title,$uid,$cid=''){
//define('CID',$cid);
define("ALIAS",$uid);
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
//$template = IGtTransmissionTemplateDemo($body,$title);
$msgarr=['type'=>1,'title'=>$title,'msg'=>$body];
$template=IGtTransmissionTemplateFunction(json_encode($msgarr),$msgarr);
//$template = SmsDemo();
//个推信息体
$message = new IGtSingleMessage();
$message->set_isOffline(true);//是否离线
$message->set_offlineExpireTime(3600*12*1000);//离线时间
$message->set_data($template);//设置推送消息类型
// $message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
//接收方
$target = new IGtTarget();
$target->set_appId(APPID);
//$target->set_clientId(CID);
$target->set_alias(ALIAS);
try {
$rep = $igt->pushMessageToSingle($message, $target);
return $rep;
//echo json_encode($rep);
}catch(RequestException $e){
$requstId =$e->getRequestId();
$rep = $igt->pushMessageToSingle($message, $target,$requstId);
return $rep;
//echo json_encode($rep);
}
}
function SmsDemo(){
$template = new IGtTransmissionTemplate();
$template->set_appId(APPID);//应用appid
$template->set_appkey(APPKEY);//应用appkey
$template->set_transmissionType(1);//透传消息类型
$template->set_transmissionContent("测试离线ddd");//透传内容
//$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
$smsMessage = new SmsMessage();
$smsContent = array();
$smsContent["code1"] = "1234";
$smsContent["time"] = "5";
$smsMessage->setSmsContent($smsContent);
$smsMessage->setSmsTemplateId("1a0ad952756f4c679ca67f008bf37b5e");
$smsMessage->setOfflineSendtime(1000);
$template->setSmsInfo($smsMessage);
return $template;
}
function pushMessageToSingleBatch()
{
putenv("gexin_pushSingleBatch_needAsync=false");
$igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
$batch = new IGtBatch(APPKEY, $igt);
$batch->setApiUrl(HOST);
//$igt->connect();
//消息模版:
// 1.TransmissionTemplate:透传功能模板
// 2.LinkTemplate:通知打开链接功能模板
// 3.NotificationTemplate:通知透传功能模板
// 4.NotyPopLoadTemplate:通知弹框下载功能模板
//$template = IGtNotyPopLoadTemplateDemo();
$templateLink = IGtLinkTemplateDemo();
$templateNoti = IGtNotificationTemplateDemo();
//$template = IGtTransmissionTemplateDemo();
//个推信息体
$messageLink = new IGtSingleMessage();
$messageLink->set_isOffline(true);//是否离线
$messageLink->set_offlineExpireTime(12 * 1000 * 3600);//离线时间
$messageLink->set_data($templateLink);//设置推送消息类型
//$messageLink->set_PushNetWorkType(1);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
$targetLink = new IGtTarget();
$targetLink->set_appId(APPID);
$targetLink->set_clientId(CID);
$batch->add($messageLink, $targetLink);
//个推信息体
$messageNoti = new IGtSingleMessage();
$messageNoti->set_isOffline(true);//是否离线
$messageNoti->set_offlineExpireTime(12 * 1000 * 3600);//离线时间
$messageNoti->set_data($templateNoti);//设置推送消息类型
//$messageNoti->set_PushNetWorkType(1);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
$targetNoti = new IGtTarget();
$targetNoti->set_appId(APPID);
$targetNoti->set_clientId(CID2);
$batch->add($messageNoti, $targetNoti);
try {
$rep = $batch->submit();
var_dump($rep);
echo("
");
}catch(Exception $e){
$rep=$batch->retry();
var_dump($rep);
echo ("
");
}
}
//多推接口案例
function pushMessageToList($title,$body,$userarr)
{
putenv("gexin_pushList_needDetails=true");
putenv("gexin_pushList_needAsync=true");
$igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
$msgarr=['type'=>1,'title'=>$title,'msg'=>$body];
$template = IGtTransmissionTemplateFunction(json_encode($msgarr),$msgarr);
//个推信息体
$message = new IGtListMessage();
$message->set_isOffline(true);//是否离线
$message->set_offlineExpireTime(3600 * 12 * 1000);//离线时间
$message->set_data($template);//设置推送消息类型
// $message->set_PushNetWorkType(1); //设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
$contentId = $igt->getContentId($message);
//$contentId = $igt->getContentId($message,"toList任务别名功能"); //根据TaskId设置组名,支持下划线,中文,英文,数字
$arr=json_encode($userarr);
$userarr=json_decode($arr,true);
foreach ($userarr as $key=>$items){
$target1 = new IGtTarget();
$target1->set_appId(APPID);
$target1->set_alias(strval($items));
$targetList[] = $target1;
}
$rep = $igt->pushMessageToList($contentId, $targetList);
return $rep;
}
//群推接口案例
function pushMessageToApp($title,$body,$sendtype=0,$provincearr=[]){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$msgarr=['type'=>1,'title'=>$title,'msg'=>$body];
$template = IGtTransmissionTemplateFunction(json_encode($msgarr),$msgarr);
//个推信息体
//基于应用消息体
$message = new IGtAppMessage();
$message->set_isOffline(true);
$message->set_offlineExpireTime(10 * 60 * 1000);//离线时间单位为毫秒,例,两个小时离线为3600*1000*2
$message->set_data($template);
if($sendtype==1){
//指定区域推送
$cdt = new AppConditions();
$cdt->addCondition(AppConditions::REGION, $provincearr);
// $cdt->addCondition("age", $age);
$message->set_appIdList([APPID]);
$message->set_conditions($cdt);
}else{
$appIdList=array(APPID);
$message->set_appIdList($appIdList);
}
$rep = $igt->pushMessageToApp($message);
return $rep;
}
//所有推送接口均支持四个消息模板,依次为通知弹框下载模板,通知链接模板,通知透传模板,透传模板
//注:IOS离线推送需通过APN进行转发,需填写pushInfo字段,目前仅不支持通知弹框下载功能
function IGtNotyPopLoadTemplateDemo(){
$template = new IGtNotyPopLoadTemplate();
$template ->set_appId(APPID);//应用appid
$template ->set_appkey(APPKEY);//应用appkey
//通知栏
$template ->set_notyTitle("个推");//通知栏标题
$template ->set_notyContent("个推最新版点击下载");//通知栏内容
$template ->set_notyIcon("");//通知栏logo
$template ->set_isBelled(true);//是否响铃
$template ->set_isVibrationed(true);//是否震动
$template ->set_isCleared(true);//通知栏是否可清除
//弹框
$template ->set_popTitle("弹框标题");//弹框标题
$template ->set_popContent("弹框内容");//弹框内容
$template ->set_popImage("");//弹框图片
$template ->set_popButton1("下载");//左键
$template ->set_popButton2("取消");//右键
//下载
$template ->set_loadIcon("");//弹框图片
$template ->set_loadTitle("地震速报下载");
$template ->set_loadUrl("http://dizhensubao.igexin.com/dl/com.ceic.apk");
$template ->set_isAutoInstall(false);
$template ->set_isActived(true);
//$template->set_notifyStyle(0);
//$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
return $template;
}
function IGtLinkTemplateDemo(){
$template = new IGtLinkTemplate();
$template ->set_appId(APPID);//应用appid
$template ->set_appkey(APPKEY);//应用appkey
$template ->set_title("请输入通知标题1");//通知栏标题
$template ->set_text("请输入通知内容");//通知栏内容
$template ->set_logo("");//通知栏logo
$template ->set_isRing(true);//是否响铃
$template ->set_isVibrate(true);//是否震动
$template ->set_isClearable(true);//通知栏是否可清除
$template ->set_url("http://www.igetui.com/");//打开连接地址
//$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
return $template;
}
function IGtNotificationTemplateDemo(){
$template = new IGtNotificationTemplate();
$template->set_appId(APPID);//应用appid
$template->set_appkey(APPKEY);//应用appkey
$template->set_transmissionType(2);//透传消息类型
$template->set_transmissionContent("测试离线");//透传内容
$template->set_title("个推");//通知栏标题
$template->set_text("个推最新版点击下载");//通知栏内容
$template->set_logo("http://wwww.igetui.com/logo.png");//通知栏logo
$template->set_isRing(true);//是否响铃
$template->set_isVibrate(true);//是否震动
$template->set_isClearable(true);//通知栏是否可清除
//$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
return $template;
}
function IGtTransmissionTemplateDemo(){
$template = new IGtTransmissionTemplate();
$template->set_appId(APPID);//应用appid
$template->set_appkey(APPKEY);//应用appkey
$template->set_transmissionType(1);//透传消息类型
$template->set_transmissionContent("测试离线ddd");//透传内容
//$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
//APN简单推送
$apn = new IGtAPNPayload();
$alertmsg=new SimpleAlertMsg();
$alertmsg->alertMsg="abcdefg3";
$apn->alertMsg=$alertmsg;
$apn->badge=2;
$apn->sound="";
$apn->add_customMsg("payload","payload");
$apn->contentAvailable=1;
$apn->category="ACTIONABLE";
$template->set_apnInfo($apn);
//VOIP推送
// $voip = new VOIPPayload();
// $voip->setVoIPPayload("新浪");
// $template->set_apnInfo($voip);
//第三方厂商推送透传消息带通知处理
// $notify = new IGtNotify();
//// $notify -> set_payload("透传测试内容");
// $notify -> set_title("透传通知标题");
// $notify -> set_content("透传通知内容");
// $notify->set_url("https://www.baidu.com");
// $notify->set_type(NotifyInfo_Type::_url);
// $template -> set3rdNotifyInfo($notify);
//APN高级推送
$apn = new IGtAPNPayload();
$alertmsg=new DictionaryAlertMsg();
$alertmsg->body="body";
$alertmsg->actionLocKey="ActionLockey";
$alertmsg->locKey="LocKey";
$alertmsg->locArgs=array("locargs");
$alertmsg->launchImage="c";
// IOS8.2 支持
$alertmsg->title="Title";
$alertmsg->titleLocKey="TitleLocKey";
$alertmsg->titleLocArgs=array("TitleLocArg");
$apn->alertMsg=$alertmsg;
$apn->badge=7;
$apn->sound="";
$apn->add_customMsg("payload","payload");
$apn->contentAvailable=1;
$apn->category="ACTIONABLE";
//
//// IOS多媒体消息处理
$media = new IGtMultiMedia();
$media -> set_url("http://docs.getui.com/start/img/pushapp_android.png");
$media -> set_onlywifi(false);
$media -> set_type(MediaType::pic);
$medias = array();
$medias[] = $media;
$apn->set_multiMedias($medias);
$template->set_apnInfo($apn);
return $template;
}
//多标签推送接口案例
function pushMessageByTag(){
$igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
$template = IGtLinkTemplateDemo();
//个推信息体
//基于应用消息体
$message = new IGtTagMessage();
$message->set_isOffline(true);
$message->set_offlineExpireTime(10 * 60 * 1000);//离线时间单位为毫秒,例,两个小时离线为3600*1000*2
$message->set_data($template);
$appIdList=array(APPID);
$message->set_tag("中文");
$message->set_appIdList($appIdList);
$rep = $igt->pushTagMessage($message);
var_dump($rep);
echo ("
");
}
function IGtTransmissionTemplateFunction($json,$arr=[]){
$template = new IGtTransmissionTemplate();
$template->set_appId(APPID);//应用appid
$template->set_appkey(APPKEY);//应用appkey
$template->set_transmissionType(2);//透传消息类型
$template->set_transmissionContent($json);//透传内容
//set_pushInfo($actionLocKey, $badge, $message, $sound, $payload, $locKey, $locArgs, $launchImage, $contentAvailable = 0)
$template->set_pushInfo('ActionLocKey','+1',$arr['msg'],'',$json,'LocKey',array("locargs"),'c',0,$arr['title']);
return $template;
}
?>