推送Python API文档

    最后更新于2014-12-01 15:48:09

    概述

    本文档主要讲解 GoPush 消息推送 API 的 Python 版本封装开发包的使用,该版本目前

    按 发送方式:1.支持实时消息,2.定时消息

    按接收类型:1.支持所有人接收,2.按维度接收,3.按 token 接收。


    核心类介绍

    PUSHClient

    方法名
    用法
    备注
    __init__
    在PUSHClient初始化时填入appkey(必填),master_secret(必填),encoding_type(默认为0)
    appkey和master_secret创建应用时获得。encoding_type意义见附录
    create_push
    PUSHClient的实例方法,用于创建一个Push对象。
    在PUSHClient实例化后就可以调用。


    Push

    作为工具类使用

    方法名
    用法
    备注
    __init__
    (不需要用户调用)
    接收一个PUSHClient对象,并且初始化消息体
    setMessageType
    传入MessageType的宏。例如:MessageType.NOTIFICATION

    设置消息类型

    setMessageTitle
    传入消息头字符串。例如:"hello python sdk"
    设置消息title
    setMessageContent
    传入消息内容字符串。例如:"this is message content"
    设置消息内容
    setSendType
    传入SendType的宏。例如:SendType.REALTIME
    设置发送类型
    setMessageAction
    传入MessageAction的宏。例如:MessageAction.OPEN_WEB_SITE
    设置消息动作
    setActionParam
    传入动作参数字符串。例如:"http://developer.3g.cn/gopushweb/"
    设置动作参数
    setWarmType
    传入WarmType的宏的元组。例如:WarmType.openBLN, WarmType.openVIB
    设置消息通知方式
    setTimezone
    传入时区参数。例如:'8'
    设置时区
    setReceiveType
    传入ReceiveType的宏。例如:ReceiveType.ALL
    设置接收类型
    _request
    (不需要用户调用)
    将构造的特定header和data实体发送出去,并且设置超时。记录log
    send
    由Push的实例调用。
    将返回服务端反馈

    使用

    步骤1:

            在sdk的目录下的conf.py文件里替换自己对应的appkey和master_secret

    步骤2:

            在自己的文件里导入


    from enum import *
    from conf import appkey,master_secret
    from gpush import PUSHClient

    步骤3:

            初始化PUSHClient(appkey, master_secret),并调用create_push()创建一个Push对象,构造message,最后发送。


    例子:

    from enum import *
    from conf import appkey,master_secret
    from gpush import PUSHClient
    
    gpush = PUSHClient(appkey, master_secret)
    
    push = gpush.create_push()
    push.setMessageType(MessageType.NOTIFICATION)
    push.setMessageTitle("hello python sdk")
    push.setMessageContent("this is message content")
    push.setSendType(SendType.REALTIME)
    push.setMessageAction(MessageAction.OPEN_WEB_SITE)
    push.setActionParam("http://developer.3g.cn/gopushweb/")
    push.setWarmType(WarmType.openBLN, WarmType.openVIB)
    push.setTimezone('8')
    push.setReceiveType(ReceiveType.ALL)
    
    push.send()

    附录

    所有的宏定义都在enum.py文件里

    构造发送实体(不是以流的方式)

    参数项
    参数类型
    说明
    备注
    appkey
    String
    需要推送消息应用的appkey
    在创建应用时获得
    master_secret
    String
    需要推送消息应用的管理秘钥
    在创建应用时获得
    encoding_type
    int
    设置请求的编码方式

    0:不处理(默认)

    1:异或方式

    2:Base64方式

    message
    json 待发送消息的json字符串
    格式参考:消息内容格式

    消息内容格式

    消息发送接口中message请求参数的格式为json,支持的参数如下表所示

    名称
    类型 说明 备注
    message_type
    String
    消息的类型

    1:通知消息

    2:自定义消息

    3:富媒体消息

    message_title
    String
    消息的标题
    标题内容不得超过100字
    message_content
    String
    消息的内容
    消息内容不得超过1000字
    send_type
    String
    消息的发送类型

    1:及时消息

    2:定时消息

    message_action
    String
    点击消息执行的动作

    1:打开应用

    2:打开指定页面(Activity)

    3:网页跳转

    4:自定义行为

    action_param String
    动作参数
    执行动作需要的参数,例如点击消息执行网页跳转,则动作参数为网页地址。
    warm_type
    String
    提醒方式

    1:呼吸灯

    2:响铃

    3:震动

    当需要多选时使用逗号分隔,例如:1,2,3

    timezone int 所在地的时区
    例如:中国为东八区,应填8;纽约为西五区,应填-5。
    send_time
    String
    消息的发送时间

    消息格式:yyyy-MM-dd HH:mm:ss

    如果为及时消息,则为当前时间

    remand_time
    String
    消息的有效期

    消息格式:yyyy-MM-dd HH:mm:ss

    默认为发送时间后24小时,不得超过5天。

    receive_type int 消息的接收类型

    1:所有人都将接收,维度,token列表为空

    2:只有在特定维度下的人接收,维度不能全为空

    3:只有特定token的人接收,token列表不能为空

    message_style
    String
    富媒体消息样式
    0为默认值,即没有样式。
    message_url
    String
    富媒体消息url
    指定富媒体资源的位置
    dimension1
    String
    国家维度
    国家缩写,多个国家时采用逗号分隔,例如cn,us,uk。
    dimension2
    String
    用户标签维度
    标签缩写,多个标签时采用逗号分隔,例如16,17(网购、视频)详见附录。
    dimension3
    String
    网络维度
    网络类型,多个网络类型采用逗号分隔,例如3G,4G。
    token_list
    String
    用户token
    token列表,多个token采用逗号分隔,例如1409194910626491bfcb5f6ea8246,140247224817334d7e491dcdfa78


    调用返回

    返回内容为json格式

    名称
    类型
    说明
    备注
    success
    boolean
    标识请求是否成功

    true:发送成功

    false:发送失败

    message_id
    long
    消息id
    发送消息的id
    message
    String
    请求结果描述
    例如:操作成功


    附录


    维度对应枚举类

    枚举元素

    含义

    NetType

    _2G

    2G

    _3G

    3G

    _4G

    4G

    WIFI

    WIFI

    Country

    US

    美国

    GB

    英国

    AU

    澳大利亚

    CA

    加拿大

    RU

    俄罗斯

    DE

    德国

    SG

    新加坡

    FR

    法国

    HK

    香港(中国)

    IT

    意大利

    TH

    泰国

    NO

    挪威

    MY

    马来西亚

    KR

    韩国

    SE

    瑞典

    ID

    印度尼西亚

    SA

    沙特阿拉伯

    ES

    西班牙

    DK

    丹麦

    PH

    菲律宾

    NL

    荷兰

    IL

    JP

    日本

    NZ

    新西兰

    BR

    巴西

    BE

    比利时

    CH

    瑞士

    CZ

    捷克

    ZA

    南非

    CN

    中国

    TW
    中国台湾
    IN
    印度
    PK
    巴基斯坦
    NG
    尼日利亚
    MX
    墨西哥
    VN
    越南
    IR
    伊朗
    UA
    乌克兰
    CL
    智利
    PT
    葡萄牙
    TR
    土耳其
    GR
    希腊
    FI
    芬兰
    CO
    哥伦比亚
    HU
    匈牙利
    EG
    埃及
    IE
    爱尔兰
    HR
    克罗地亚
    RO
    罗马尼亚

    OT

    其他

    Tag

    ONLINE_SHOPPING

    网购

    VIDEO

    视频

    GAME

    游戏

    STUDENT

    学生

    JOURNEY

    旅行

    CARTOON

    漫画

    NOVEL

    小说

    SPORTS

    体育

    SOCIAL_NET

    社交网络控

    NOVEL

    小说

    NEWS_READING

    新闻阅读

    POTENTIAL_PAYER

    潜在付费用户

    POTENTIAL_LOST_USER
    潜在流失用户
    NEW_USER
    新用户
    ACTIVE_USER 活跃用户