推送模板

推送模板

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 增加自定义的数据
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以上版本
类名 方法名 说明
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();

    //第三方厂商推送透传消息带通知处理
    $notify = new IGtNotify();
    $notify -> set_payload("{}");
    $notify -> set_title("透传通知标题");
    $notify -> set_content("透传通知内容");
    $notify->set_type(NotifyInfo_Type::_payload);
    $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="launchimage";
//        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);

    //PushApn老方式传参
//    $template = new IGtAPNTemplate();
//          $template->set_pushInfo("", 10, "", "com.gexin.ios.silence", "", "", "", "");

    return $template;
}
通知
2018.08.09 PHP SDK 4.0.1.10

添加php新加接口功能文档说明

......
2018.07.19 Android SDK 4.3.1.0

增加Applink点击回执接口 修复若干其他bug以及性能优化

......
2018.06.19 iOS SDK 2.3.0.0

新增 AppLink 服务及统计支持。 新增短信补量推送服务。

......
2018.06.19 Android SDK 2.12.4.0

增加Applink点击回执接口 修复若干其他bug以及性能优化

......
2018.03.21 Android SDK 4.3.0.0

增加通知到达、点击回调 适配Android 8.0 修复若干其他bug

......

文档中心搜索