推送模板
此SDK已停止维护,请开发者对接 RestApi V2
1. 点击通知打开应用模板
1.1 模板说明
pushType |
说明 |
描述值 |
Notification |
点击通知启动应用 |
在通知栏显示一条含图标、标题等的通知,用户点击后激活您的应用 |
1.2 模板参数说明
结构体 |
成员 |
长度 |
必填 |
说明 |
NotificationTemplate |
t.appId |
— |
是 |
设定接收的应用 |
|
t.appKey |
— |
是 |
用于鉴定身份是否合法 |
|
t.duration_start |
— |
否 |
消息展示开始时间 |
|
t.duration_end |
— |
否 |
消息展示结束时间 |
|
title |
40中/英字符 |
是 |
通知标题 |
|
text |
600中/英字符 |
是 |
通知内容 |
|
logo |
40中/英字符 |
是 |
通知的图标名称,包含后缀名(需要在客户端开发时嵌入),如“push.png” |
|
logoUrl |
100中/英字符 |
否 |
通知图标URL地址 |
|
isRing |
— |
否 |
收到通知是否响铃:GT_ON响铃,GT_OFF不响铃。默认响铃。 |
|
isVibrate |
— |
否 |
收到通知是否振动:GT_ON振动,GT_OFF不振动。默认振动。 |
|
isClearable |
— |
否 |
通知是否可清除:GT_ON可清除,GT_OFF不可清除。默认可清除。 |
|
transmissionType |
4Byte |
是 |
收到消息是否立即启动应用:1为立即启动,2则广播等待客户端自启动 |
|
transmissionContent |
2048中/英字符 |
是 |
透传内容,不支持转义字符 |
1.3 NotificationTemplate代码实例
void NotificationTemplateDemo(NotificationTemplate* templ)
{
templ->t.appId = APPID;
templ->t.appKey = APPKEY;
templ->title = "请填写通知标题";
templ->text = "请填写通知内容";
templ->logo = "";
templ->logoUrl = "";
templ->transmissionType = 1;
templ->transmissionContent = "请填写透传内容";
templ->isRing = GT_ON;
templ->isVibrate = GT_ON;
templ->isClearable = GT_ON;
}
int pushtest(){
NotificationTemplate tmpl = {0};
NotificationTemplateDemo(& tmpl);
}
2. 点击通知打开网页模板
2.1 模板说明
pushType |
说明 |
描述值 |
Link |
点击通知打开网页 |
在通知栏显示一条含图标、标题等的通知,用户点击后可打开您指定的网页 |
2.2 模板参数说明
结构体 |
成员 |
长度 |
必填 |
说明 |
LinkTemplate |
t.appId |
— |
是 |
设定接收的应用 |
|
t.appKey |
— |
是 |
用于鉴定身份是否合法 |
|
t.duration_start |
— |
否 |
消息展示开始时间 |
|
t.duration_end |
— |
否 |
消息展示结束时间 |
|
title |
40中/英字符 |
是 |
通知标题 |
|
text |
600中/英字符 |
是 |
通知内容 |
|
logo |
40中/英字符 |
是 |
通知的图标名称,包含后缀名(需要在客户端开发时嵌入),如“push.png” |
|
logoUrl |
100中/英字符 |
否 |
通知图标URL地址 |
|
isRing |
— |
否 |
收到通知是否响铃:GT_ON响铃,GT_OFF不响铃。默认响铃。 |
|
isVibrate |
— |
否 |
收到通知是否振动:GT_ON振动,GT_OFF不振动。默认振动。 |
|
isClearable |
— |
否 |
通知是否可清除:GT_ON可清除,GT_OFF不可清除。默认可清除。 |
2.3 LinkTemplate代码实例
void LinkTemplateDemo(LinkTemplate* templ)
{
templ->t.appId = APPID;
templ->t.appKey = APPKEY;
templ->title = "请填写通知标题";
templ->text = "请填写通知内容";
templ->logo = "";
templ->logoUrl = "";
templ->url="http://www.baidu.com";
templ->isRing = GT_ON;
templ->isVibrate = GT_ON;
templ->isClearable = GT_ON;
}
int main(){
LinkTemplate tmpl = {0};
LinkTemplateDemo(& tmpl);
return 0;
}
3. 点击通知弹框下载模板
3.1 模板说明
pushType |
说明 |
描述 |
NotyPopLoad |
通知栏弹框下载模板 |
在通知栏显示一条含图标、标题等的通知,用户点击后弹出框,用户可以选择直接下载应用或者取消下载应用。(iOS不支持使用该模板) |
3.2 模板参数说明
结构体 |
成员 |
长度 |
必填 |
说明 |
NotyPopLoadTemplate |
t.appId |
— |
是 |
设定接收的应用 |
|
t.appKey |
— |
是 |
用于鉴定身份是否合法 |
|
t.duration_start |
— |
否 |
消息展示开始时间 |
|
t.duration_end |
— |
否 |
消息展示结束时间 |
|
notyIcon |
40中/英字符 |
是 |
通知栏图标 |
|
logoUrl |
100中/英字符 |
否 |
通知图标URL地址 |
|
notyTitle |
40中/英字符 |
是 |
通知栏标题 |
|
notyContent |
600中/英字符 |
是 |
通知栏内容 |
|
isCleared |
— |
否 |
通知栏是否可以清除(默认是) GT_ON可清除 GT_OFF不可清除 |
|
isBelled |
— |
否 |
是否响铃(默认是) GT_ON响铃 GT_OFF不响铃 |
|
isVibrational |
— |
否 |
是否震动(默认是) GT_ON震动 GT_OFF不震动 |
|
popTitle |
40中/英字符 |
是 |
弹出框标题 |
|
popContent |
600中/英字符 |
是 |
弹出框内容 |
|
popImage |
200中/英字符 |
是 |
弹出框图标 |
|
popButton1 |
4中/英字符 |
是 |
弹出框左边按钮名称 |
|
popButton2 |
4中/英字符 |
是 |
弹出框右边按钮名称 |
|
loadIcon |
40中/英字符 |
是 |
下载图标,如果是本地图标,需要添加file://前缀;如果是网络图标,则填写网络图标地址 |
|
loadTitle |
40中/英字符 |
是 |
下载标题 |
|
loadUrl |
200中/英字符 |
是 |
下载地址 |
|
isAutoInstall |
— |
否 |
是否自动安装(默认否) |
|
isActived |
— |
否 |
安装完成后是否自动启动应用程序(默认否) |
|
androidMark |
40中/英字符 |
否 |
安卓标识 |
|
symbianMark |
40中/英字符 |
否 |
塞班标识 |
|
iphoneMark |
40中/英字符 |
否 |
苹果标识 |
NotyPopLoadTemplate代码实例
void NotyPopLoadTemplateDemo(NotyPopLoadTemplate* templ)
{
templ->t.appId = APPID;
templ->t.appKey = APPKEY;
templ->notyTitle = "请填写通知标题";
templ->notyContent = "请填写通知内容";
templ->notyIcon = "icon.png";
templ->logoUrl = "";
templ->popTitle = "弹框标题";
templ->popContent = "弹框内容";
templ->popImage = "";
templ->popButton1 = "下载";
templ->popButton2 = "取消";
templ->loadTitle = "下载标题";
templ->loadIcon = "file://push.png";
templ->loadUrl = "http://www.appchina.com/market/d/425201/cop.baidu_0/com.gexin.im.apk";
templ->isActived = true;
templ->isAutoInstall = true;
templ->isBelled = GT_ON ;
templ->isVibrationed = GT_ON;
templ->isCleared = GT_ON;
}
int main(){
NotyPopLoadTemplate tmpl = {0};
NotyPopLoadTemplateDemo(& tmpl);
return 0;
}
4. 透传消息模版
4.1 模板说明
pushType |
说明 |
描述 |
Transmission |
透传(payload) |
数据经SDK传给您的客户端,由您写代码决定如何处理展现给用户 |
4.2 模板参数说明
结构体 |
成员 |
长度 |
必填 |
说明 |
TransmissionTemplate |
t.appId |
— |
是 |
设定接收的应用 |
|
t.appKey |
— |
是 |
用于鉴定身份是否合法 |
|
t.pushInfo |
— |
否 |
iOS推送使用该字段 |
|
t.duration_start |
— |
否 |
消息展示开始时间 |
|
t.duration_end |
— |
否 |
消息展示结束时间 |
|
transmissionContent |
2048中/英字符 |
是 |
透传内容,不支持转义字符 |
|
transmissionType |
4byte |
是 |
收到消息是否立即启动应用,1为立即启动,2则广播等待客户端自启动 |
4.3 TransmissionTemplate代码实例
void TransmissionTemplateDemo(TransmissionTemplate* templ)
{
templ->t.appId = APPID;
templ->t.appKey = APPKEY;
//应用启动类型,1:强制应用启动 2:等待应用启动
templ->transmissionType = 1;
//透传内容
templ->transmissionContent = "透传内容";
//templ->t.duration_start="2015-07-10 18:00:00";
//templ->t.duration_end="2015-07-10 19:00:00";
}
int main(){
TransmissionTemplate tmpl = {0};
TransmissionTemplateDemo(& tmpl);
return 0;
}
4.4 iOS推送说明
iOS推送需要在代码中通过TransmissionTemplate的setAPNInfo接口设置相应的APNs通知参数。
透传模板传输的数据最大为是2KB,APNs传输数据最大支持2KB。
4.4.1 参数描述
具体参数含义详见苹果APNs文档:
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/PayloadKeyReference.html
4.4.2 参数说明
结构体 |
成员 |
说明 |
PushInfo |
badge |
应用icon上显示的数字 |
|
contentAvailable |
推送直接带有透传数据 |
|
sound |
通知铃声文件名 |
|
category |
在客户端通知栏触发特定的action和button显示 |
|
cmsg |
增加自定义的数据 |
|
body |
通知文本消息字符串 |
|
actionLocKey |
(用于多语言支持)指定执行按钮所使用的Localizable.strings |
|
locKey |
(用于多语言支持)指定Localizable.strings文件中相应的key |
|
locArgs |
如果loc-key中使用的占位符,则在loc-args中指定各参数 |
|
launchImage |
指定启动界面图片名 |
|
title |
通知标题 |
|
titleLocArgs |
(用于多语言支持)对于标题指定执行按钮所使用的Localizable.strings,仅支持iOS8.2以上版本 |
|
titleLocArgs |
对于标题, 如果loc-key中使用的占位符,则在loc-args中指定各参数,仅支持iOS8.2以上版本 |
4.4.3 代码实例:
void TransmissionTemplateDemo(TransmissionTemplate* templ)
{
templ->t.appId = APPID;
templ->t.appKey = APPKEY;
templ->transmissionType = 1;
templ->transmissionContent = "";
templ->t.pushInfo.body = "body";
templ->t.pushInfo.actionLocKey = "actionLocKey";
templ->t.pushInfo.locKey = "locKey";
templ->t.pushInfo.launchImage = "launchImage";
templ->t.pushInfo.title = "title";
templ->t.pushInfo.titleLocKey = "titleLocKey";
templ->t.pushInfo.badge = 10;
templ->t.pushInfo.contentAvailable = 1;
templ->t.pushInfo.sound = "test1.wav";
ListInfo locargslist = {0};
locargslist.size = 1;
ListItem argitem = {0};
strcpy(argitem.item,"argitem");
locargslist.item = &argitem;
templ->t.pushInfo.locArgs = locargslist;
ListInfo titleargslist = {0};
titleargslist.size = 1;
ListItem titlelist = {0};
strcpy(titlelist.item,"titleargitem");
titleargslist.item = &titlelist;
templ->t.pushInfo.titleLocArgs = titleargslist;
}
int main(){
TransmissionTemplate tmpl = {0};
TransmissionTemplateDemo(& tmpl);
return 0;
}