个推,推送数据到安卓客户端(php版)

本文介绍了如何在项目中利用第三方服务个推,通过PHP实现将数据推送至安卓客户端。主要讲解了两个推送类型:点击通知启动应用和点击通知跳转网页的操作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于项目开发需要,需要服务端推送数据到安卓客户端,最终选择了第三方的个推数据推送。准备工作个推官网有详细介绍,此处不做详解。基本推算原理:在个推注册绑定客户端后,每一个客户端会有一个唯一的客户端id,通过发送推送内容到客户端完成消息推送。以下介绍个推两个推送类型(单个推送):

<1>点击通知打开应用

<?php
require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

define('APPKEY','XXX');
define('APPID','XXX');
define('MASTERSECRET','XXX');
define('HOST','https://api.getui.com/apiex.htm');

//单推接口案例
function pushMessageToSingle($cid,$msg){
    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);

    //点击通知打开应用模版:
    $template = IGtNotificationTemplateDemo($msg);

    //定义"SingleMessage"
    $message = new IGtSingleMessage();

    $message->set_isOffline(true);//是否离线
    $message->set_offlineExpireTime(3600*12*1000);//离线时间
    $message->set_data($template);//设置推送消息类型
    //$message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,2为4G/3G/2G,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 ("<br><br>");
    }catch(RequestException $e){
        $requstId =e.getRequestId();
        //失败时重发
        $rep = $igt->pushMessageToSingle($message, $target,$requstId);
        var_dump($rep);
        echo ("<br><br>");
    }
}

function IGtNotificationTemplateDemo($msg){
    $template =  new IGtNotificationTemplate();
    $template->set_appId(APPID);//应用appid
    $template->set_appkey(APPKEY);//应用appkey
    $template->set_transmissionType(1);//透传消息类型
    $template->set_transmissionContent("");//透传内容
    $template->set_title("您有新的消息,请注意查收!");//通知栏标题
    $template->set_text($msg);//通知栏内容
    $template->set_logo("logo.png");//通知栏logo
    $template->set_isRing(true);//是否响铃
    $template->set_isVibrate(true);//是否震动
    $template->set_isClearable(true);//通知栏是否可清除
    //$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
    return $template;
}
?>

<2>点击通知打开网页

<?php
require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

define('APPKEY','XXX');
define('APPID','XXX');
define('MASTERSECRET','XXX');
define('HOST','https://api.getui.com/apiex.htm');
define('CID','XXX');

pushMessageToSingle();

//单推接口案例
function pushMessageToSingle(){
    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);

    //点击通知打开网页模版:
    $template = IGtLinkTemplateDemo();
    //定义"SingleMessage"
    $message = new IGtSingleMessage();

    $message->set_isOffline(true);//是否离线
    $message->set_offlineExpireTime(3600*12*1000);//离线时间
    $message->set_data($template);//设置推送消息类型
    //$message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,2为4G/3G/2G,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 ("<br><br>");
    }catch(RequestException $e){
        $requstId =e.getRequestId();
        //失败时重发
        $rep = $igt->pushMessageToSingle($message, $target,$requstId);
        var_dump($rep);
        echo ("<br><br>");
    }
}

function IGtLinkTemplateDemo(){
    $template =  new IGtLinkTemplate();
    $template ->set_appId(APPID);//应用appid
    $template ->set_appkey(APPKEY);//应用appkey
    $template ->set_title("您有新的消息,请注意查收");//通知栏标题
    $template ->set_text("老板在吗");//通知栏内容
    $template ->set_logo("");//通知栏logo
    $template ->set_isRing(true);//是否响铃
    $template ->set_isVibrate(true);//是否震动
    $template ->set_isClearable(true);//通知栏是否可清除
    $template ->set_url("www.baidu.com");//打开连接地址
    //$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
    return $template;
}
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值