推送模板

推送模板

本章介绍了PYTHON API的推送模板实例,推送模板结合推送方式即可完成整套推送方案。

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

1.1 模板说明

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

1.2 模板参数说明

类名 成员和方法名 长度 必填 说明
NotificationTemplate appId - 设定接收的应用
appKey - 用于鉴定身份是否合法
title 40中/英字符 通知标题
text 600中/英字符 通知内容
logo 40中/英字符 通知的图标名称,包含后续名(需要在客户端开发式嵌入),如“push.png”
logoURL 100中/英字符 通知的图标url地址
isRing - 收到通知是否响铃:true响铃,false不响铃。默认响铃。
isVibrate - 收到通知是否振动:true振动,false不振动。默认振动。
isClearable - 通知是否可清除:true可清除,false不可清除。默认可清除。
transmissionType 4Byte 收到消息是否立即启动应用:1为立即启动,2则广播等待客户端自启动
transmissionContent 2048中/英字符 透传内容,不支持转义字符
setDuration - 消息展示时间

1.3 NotificationTemplate实例

# 通知透传模板动作内容
def NotificationTemplateDemo():
    template = NotificationTemplate()
    template.appId = APPID
    template.appKey = APPKEY
    template.transmissionType = 1
    template.transmissionContent = u"请填入透传内容"
    template.title = u"请填入通知标题"
    template.text = u"请填入通知内容"
    template.logo = "icon.png"
    template.logoURL = ""
    template.isRing = True
    template.isVibrate = True
    template.isClearable = True
    # begin = "2015-03-04 17:40:22";
    # end = "2015-03-04 17:47:24";
    # template.setDuration(begin, end)
    return template

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

2.1 模板说明

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

2.2 模板参数说明

类名 成员和方法名 长度 必填 说明
LinkTemplate appId - 设定接收的应用
appKey - 用于鉴定身份是否合法
title 40中/英字符 通知标题
text 600中/英字符 通知内容
logo 40中/英字符 通知的图标名称,包含后缀名(需要在客户端开发时嵌入),如“push.png”
logoURL 100中/英字符 通知的图标url地址
isRising - 收到通知是否响铃:true响铃,false不响铃。默认响铃。
isVibrate - 收到通知是否振动:true振动,false不振动。默认振动。
isClearable - 通知是否可清除:true可清除,false不可清除。默认可清除。
url 200中/英字符 点击通知后打开的网页地址
setDuration - 消息展示时间

LinkTemplate代码实例

def LinkTemplateDemo():
    template = LinkTemplate()
    template.appId = APPID
    template.appKey = APPKEY
    template.title = u"请填入通知标题"
    template.text = u"请填入通知内容"
    template.logo = ""
    template.url = "http://www.baidu.com"
    template.isRing = True
    template.isVibrate = True
    template.isClearable = True
    # begin = "2015-03-04 17:40:22";
    # end = "2015-03-04 17:47:24";
    # template.setDuration(begin, end)
    return template

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

3.1 模板说明

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

3.2 模板参数说明

类名 成员和方法名 长度 必填 说明
NotyPopLoadTemplate notyIcon 40中/英字符 通知栏图标
notyTitle 40中/英字符 通知栏标题
notyContent 600中/英字符 通知栏内容
isClearable 通知栏是否可以清除(默认是)
isRing 是否响铃(默认是)
isVibrate 收到通知是否振动:true振动,false不振动。默认振动。
popTitle 40中/英字符 弹出框标题
popContent 600中/英字符 弹出框内容
popImage 200中/英字符 弹出框图标
popButton1 4中/英字符 弹出框左边按钮名称
popButton2 4中/英字符 弹出框右边按钮名称
loadIcon 40中/英字符 下载图标(本地的图标要加上 file:// 网络图标直接填写url地址)
loadTitle 40中/英字符 下载标题
loadUrl 200中/英字符 下载地址
isAutoInstall 是否自动安装(默认否)
isActive 安装完成后是否自动启动应用程序(默认否)
android 40中/英字符 包名,比如:com.sina.weibo
symbia 40中/英字符 UID,比如:0x27000000
ios 40中/英字符 URL Schema,用于唤醒对应的iOS应用
setDuration - 消息展示时间

3.3 NotyPopLoadTemplate代码实例

def NotyPopLoadTemplateDemo():
    template = NotyPopLoadTemplate()
    template.appId = APPID
    template.appKey = APPKEY
    template.notyIcon = "icon.png"
    template.logoUrl = ""
    template.notyTitle = u"通知弹框下载功能标题"
    template.notyContent= u"通知弹框下载功能内容"
    template.isRing = True
    template.isVibrate = True
    template.isClearable = True
    template.popTitle = u"弹框标题"
    template.popContent = u"弹框内容"
    template.popImage = ""
    template.popButton1 = u"下载"
    template.popButton2 = u"取消"
    template.loadIcon = "file://icon.png"
    template.loadTitle = u"下载内容"
    template.loadUrl = "http://gdown.baidu.com/data/wisegame/c95836e06c224f51/weixinxinqing_5.apk"
    template.isAutoInstall = True
    template.isActive = False
    # begin = "2015-03-04 17:40:22";
    # end = "2015-03-04 17:47:24";
    # template.setDuration(begin, end)
    return template

4. 透传消息模板

4.1 模板说明

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

4.2 模板参数说明

类名 成员和方法名 长度 必填 说明
TransmissionTemplate appId 设定接收的应用
appKey 用于鉴定身份是否合法
transmissionContent 2048中/英字符 透传内容,不支持转义字符
transmissionType 4byte 收到消息是否立即启动应用,1为立即启动,2则广播等待客户端自启动
setDuration - 消息展示时间
setAPNInfo iOS推送使用该字段

4.3 TransmissionTemplate代码实例

def TransmissionTemplateDemo():
    template = TransmissionTemplate()
    template.transmissionType = 1
    template.appId = APPID
    template.appKey = APPKEY
    template.transmissionContent = '请填入透传内容'
    alertMsg = SimpleAlertMsg()
    alertMsg.alertMsg = ""
    apn = APNPayload();
    apn.alertMsg = alertMsg
    apn.badge = 2
    apn.sound = ""
    apn.addCustomMsg("payload", "payload")
    #apn.contentAvailable=1
    #apn.category="ACTIONABLE"
    # begin = "2015-03-04 17:40:22";
    # end = "2015-03-04 17:47:24";
    # template.setDuration(begin, end)
    #template.setApnInfo(apn)
    /*iOS 推送需要对该字段进行设置具体参数详见iOS模板说明(PYTHON)*/
    return template

4.4 iOS推送说明

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

4.4.1 对应接口

def setApnInfo(payload):

4.4.2 参数描述

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

4.4.3 参数说明

类名 方法名 说明
APNPayload setBadge 应用icon上显示的数字
setContentAvailable 推送直接带有透传数据
setSound 通知铃声文件名
setCategory 在客户端通知栏触发特定的action和button显示
addCustomMsg 增加自定义的数据
类名 方法名 说明
APNPayload.SimpleAlertMsg SimpleAlertMsg 通知文本消息字符串
APNPayload.DictionaryAlertMsg setBody 通知文本消息字符串
setActionLocKey (用于多语言支持)指定执行按钮所使用的Localizable.strings
setLocKey (用于多语言支持)指定Localizable.strings文件中相应的key
addLocArg 如果loc-key中使用的占位符,则在loc-args中指定各参数
setLaunchImage 指定启动界面图片名
setTitle 通知标题
setTitleLocKey (用于多语言支持)对于标题指定执行按钮所使用的Localizable.strings,仅支持iOS8.2以上版本
addTitleLocArg 对于标题, 如果loc-key中使用的占位符,则在loc-args中指定各参数,仅支持iOS8.2以上版本

4.4.4 代码示例:

def TransmissionTemplateDemo():
    template = TransmissionTemplate()
    template.transmissionType = 1
    template.appId = APPID
    template.appKey = APPKEY
    template.transmissionContent = '请填入透传内容'
    template = TransmissionTemplate()
    #设置APNs信息
    apnpayload = APNPayload()
    apnpayload.badge = 4
    apnpayload.sound = "test1.wav"
    apnpayload.contentAvailable = 1
    apnpayload.category = "ACTIONABLE"

    #简单类型如下设置
    alertMsg = SimpleAlertMsg()
    alertMsg.alertMsg = "alertMsg";
    #字典类型如下设置
    #alertMsg = DictionaryAlertMsg()
    #alertMsg.body = 'body'
    #alertMsg.actionLocKey = 'actionLockey'
    #alertMsg.locKey = 'lockey'
    #alertMsg.locArgs=['loc-args']
    #alertMsg.launchImage = 'launchImage'
    # iOS8.2以上版本支持
    #alertMsg.title = 'Title'
    #alertMsg.titleLocArgs = ['TitleLocArg']
    #alertMsg.titleLocKey = 'TitleLocKey'

    #可以设置字典类型AlertMsg和简单类型AlertMsg其中之一
    apnpayload.alertMsg=alertMsg

    template.setApnInfo(apnpayload)

    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

......

文档中心搜索