推送模板

推送模板

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("http://dizhensubao.igexin.com/dl/com.ceic.apk");
    $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以上版本

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简单推送
//      $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);

//          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="水培喝水";
        $alertmsg->titleLocKey="TitleLocKey";
        $alertmsg->titleLocArgs=array("TitleLocArg");

        $apn->alertMsg=$alertmsg;
        $apn->badge=1;
        $apn->sound="";
        $apn->add_customMsg("payload","阿波罗度上市");
//      $apn->contentAvailable=1;
        $apn->category="ACTIONABLE";
        $template->set_apnInfo($apn);

        return $template;
}
通知
2017.12.18 iOS SDK 2.1.0.0

新增 SDK 离线状态返回。 优化 SDK 解决已知问题。

......
2017.08.17 Android SDK 2.11.1.0

增加 "绑定、解绑别名" 结果回调 修复 "设置标签" 在某些情况下失败问题 修复若干其他 bug【感谢快看小说的反馈及大力支持~】

......
2017.08.10 iOS SDK 2.0.0.0

新增支持一键解绑该别名下对应的所有用户。 优化 SDK 解决已知问题,以 Framework 形式提供 SDK 库。 扩展 SDK(GtExtensionSdk)新增资源释放接口,防止超时处理导致的问题。

......
2017.08.03 Android SDK 2.10.3.5

调整代码符合google审核规则 针对海外用户进行联网优化 bug修复

......
2017.07.13 PYTHON SDK 4.0.1.4

修改获取用户状态接口的返回值无法识别的问题

......

文档中心搜索