推送模板

推送模板

1. 点击通知打开应用模板

1.1 模板说明

pushType 说明 描述值
Notification 点击通知启动应用 在通知栏显示一条含图标、标题等的通知,用户点击后激活您的应用

1.2 模板参数说明

结构体 成员 长度 必填 说明
Notification set_appId 设定接收的应用
set_appKey 用于鉴定身份是否合法
set_title 40中/英字符 通知标题
set_text 600中/英字符 通知内容
set_logo 40中/英字符 通知的图标名称,包含后缀名(需要在客户端开发时嵌入),如“push.png”
set_logoURL 100中/英字符 通知的图标url地址
set_isRing 收到通知是否响铃:true响铃,false不响铃。默认响铃。
set_isVibrate 收到通知是否振动:true振动,false不振动。默认振动。
set_isClearable 通知是否可清除:true可清除,false不可清除。默认可清除。
set_transmissionType 4Byte 收到消息是否立即启动应用:1为立即启动,2则广播等待客户端自启动
set_transmissionContent 2048中/英字符 透传内容,不支持转义字符
set_duration 消息展示时间(格式yyyy-MM-dd HH:mm:ss)
set_notifyStyle 通知栏消息布局样式(0 系统样式 1 个推样式) 默认为0

1.3 NotificationTemplate代码实例

function IGtNotificationTemplateDemo(){
    $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("请填写通知内容");        //通知栏内容
    $template->set_logo("logo.png");                  //通知栏logo
    $template->set_logoURL("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;
}

2. 点击通知打开网页模板

2.1 模板说明

pushType 说明 描述值
Link 点击通知打开网页 在通知栏显示一条含图标、标题等的通知,用户点击后可打开您指定的网页

2.2 模板参数说明

结构体 成员 长度 必填 说明
LinkTemplate set_appId 设定接收的应用
set_appKey 用于鉴定身份是否合法
set_title 40中/英字符 通知标题
set_text 600中/英字符 通知内容
set_logo 40中/英字符 通知的图标名称,包含后缀名(需要在客户端开发时嵌入),如“push.png”
set_logoURL 100中/英字符 通知的图标url地址
set_isRing 收到通知是否响铃:true响铃,false不响铃。默认响铃。
set_isVibrate 收到通知是否振动:true振动,false不振动。默认振动。
set_isClearable 通知是否可清除:true可清除,false不可清除。默认可清除。
set_url 200中/英字符 点击通知后打开的网页地址
set_duration 消息展示时间(格式yyyy-MM-dd HH:mm:ss)
set_notifyStyle 通知栏消息布局样式(0 系统样式 1 个推样式) 默认为0

2.3 LinkTemplate代码实例

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_logoURL("");                    //通知栏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;
}

3. 点击通知弹框下载模板

3.1 模板说明

pushType 说明 描述
NotyPopLoad 通知栏弹框下载模板 在通知栏显示一条含图标、标题等的通知,用户点击后弹出框,用户可以选择直接下载应用或者取消下载应用。(iOS不支持使用该模板)

3.2 模板参数说明

结构体 成员 长度 必填 说明
NotyPopLoadTemplate set_notyIcon 40中/英字符 通知栏图标
set_notyTitle 40中/英字符 通知栏标题
set_notyContent 600中/英字符 通知栏内容
set_isCleared 通知栏是否可以清除(默认是)
set_isBelled 是否响铃(默认是)
set_isVibrational 是否震动(默认是)
set_popTitle 40中/英字符 弹出框标题
set_popContent 600中/英字符 弹出框内容
set_popImage 200中/英字符 弹出框图标
set_popButton1 4中/英字符 弹出框左边按钮名称
set_popButton2 4中/英字符 弹出框右边按钮名称
set_loadIcon 40中/英字符 下载图标(本地的则需要加file:// 网络图标则直接输入网络url地址)
set_loadTitle 40中/英字符 下载标题
set_loadUrl 200中/英字符 下载地址
set_isAutoInstall 是否自动安装(默认否)
set_isActived 安装完成后是否自动启动应用程序(默认否)
set_android 40中/英字符 安卓标识
set_symbia 40中/英字符 塞班标识
set_Ios 40中/英字符 苹果标识
set_duration 消息展示时间(格式yyyy-MM-dd HH:mm:ss)
set_notifyStyle 通知栏消息布局样式(0 系统样式 1 个推样式) 默认为0

3.3 NotyPopLoadTemplate代码实例

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("请填写下载链接地址");
    $template ->set_isAutoInstall(false);
    $template ->set_isActived(true);
    //$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
    return $template;
}

4. 透传消息模版

4.1 模板说明

pushType 说明 描述
Transmission 透传(payload) 数据经SDK传给您的客户端,由您写代码决定如何处理展现给用户

4.2 模板参数说明

结构体 成员 长度 必填 说明
TransmissionTemplate set_appId 设定接收的应用
set_appKey 用于鉴定身份是否合法
set_transmissionContent 2048中/英字符 透传内容,不支持转义字符
set_transmissionType 4byte 收到消息是否立即启动应用,1为立即启动,2则广播等待客户端自启动
set_duration 消息展示时间(格式yyyy-MM-dd HH:mm:ss)
set_pushInfo iOS推送使用该字段

4.3 TransmissionTemplate代码实例

function IGtTransmissionTemplateDemo(){
    $template =  new IGtTransmissionTemplate();
    //应用appid
    $template->set_appId(APPID);
    //应用appkey
    $template->set_appkey(APPKEY);
    //透传消息类型
    $template->set_transmissionType(1);
    //透传内容
    $template->set_transmissionContent("测试离线");
    //$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
    //这是老方法,新方法参见iOS模板说明(PHP)*/
    //$template->set_pushInfo("actionLocKey","badge","message",
    //"sound","payload","locKey","locArgs","launchImage");
    return $template;
}

4.4 iOS推送说明

iOS推送需要在代码中通过TransmissionTemplate的setAPNInfo接口设置相应的APNs通知参数。
透传模板传输的数据最大为是2KB,APNs传输数据最大支持2KB。

4.4.1 对应接口

setAPNInfo(APNPayload payload)

4.4.2 参数描述:

set_apnInfo具体参数含义详见苹果APNs文档:
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/PayloadKeyReference.html

4.4.3 参数说明:

结构体 成员 说明
APNPayload Badge 应用icon上显示的数字
ContentAvailable 推送直接带有透传数据
Sound 通知铃声文件名
Category 在客户端通知栏触发特定的action和button显示
addCustomMsg 增加自定义的数据
voicePlayType 设置语音播报类型
voicePlayMessage 设置语音播报内容
APNPayload.SimpleAlertMsg SimpleAlertMsg 通知文本消息字符串
APNPayload.DictionaryAlertMsg Body 通知文本消息字符串
ActionLocKey (用于多语言支持)指定执行按钮所使用的Localizable.strings
LocKey (用于多语言支持)指定Localizable.strings文件中相应的key
addLocArgs 如果loc-key中使用的占位符,则在loc-args中指定各参数
LaunchImage 指定启动界面图片名
Title 通知标题
TitleLocKey (用于多语言支持)对于标题指定执行按钮所使用的Localizable.strings,仅支持iOS8.2以上版本
TitleLocArg 对于标题, 如果loc-key中使用的占位符,则在loc-args中指定各参数,仅支持iOS8.2以上版本
subtitle 设置子标题,仅支持iOS8.2以上版本
subtitleLocKey 设置当前本地化文件中的子标题字符串的关键字,仅支持iOS8.2以上版本
subtitleLocArgs 设置当前本地化子标题内容中需要置换的变量参数 ,仅支持iOS8.2以上版本
类名 方法名 说明
MultiMedia set_rid($rid) 设置资源id
set_url($url) 设置资源url
set_type($type) 设置资源类别
MediaType.pic 图片
MediaType.audio 音频
MediaType.video 视频
set_onlywifi($onlywifi) 设置是否在WIFI下才展示多媒体消息,如果设置true但未使用WIFI时会展示成普通通知
  • VoIP推送
类名 方法名 说明
VoIPPayload setVoIPPayload($voIPPayload) 设置VoIP内容,建议使用JSON格式

4.4.4 代码实例:

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简单推送
//  $template = new IGtAPNTemplate();
//  $apn = new IGtAPNPayload();
//  $alertmsg=new SimpleAlertMsg();
//  $alertmsg->alertMsg="";
//  $apn->alertMsg=$alertmsg;
//  $apn->badge=2;
//  $apn->sound="";
//  $apn->add_customMsg("payload","payload");
//  $apn->contentAvailable=1;
//  $apn->category="ACTIONABLE";
//  $template->set_apnInfo($apn);
//  $message = new IGtSingleMessage();
    //  APN高级推送
    $apn = new IGtAPNPayload();
    $alertmsg=new DictionaryAlertMsg();
    $alertmsg->body="body";
    $alertmsg->actionLocKey="ActionLockey";
    $alertmsg->locKey="LocKey";
    $alertmsg->locArgs=array("locargs");
    $alertmsg->launchImage="launchimage";
    //  IOS8.2 支持
    $alertmsg->title="Title";
    $alertmsg->titleLocKey="TitleLocKey";
    $alertmsg->titleLocArgs=array("TitleLocArg");
    $alertmsg->subtitle="subtitle";
    $alertmsg->subtitleLocKey="subtitleLocKey";
    $alertmsg->subtitleLocArgs=array("subtitleLocArgs");

    $apn->alertMsg=$alertmsg;
    $apn->badge=7;
    $apn->sound="";
    $apn->add_customMsg("payload","payload");
    //设置语音播报类型,int类型,0.不可用 1.播放body 2.播放自定义文本
    $apn->voicePlayType = 2;
    //设置语音播报内容,String类型,非必须参数,用户自定义播放内容,仅在voicePlayMessage=2时生效
    //注:当"定义类型"=2, "定义内容"为空时则忽略不播放
    $apn->voicePlayMessage = "定义内容";
    $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;
}
开发者中心 SDK 下载

文档中心搜索