其他接口

其他接口

1. 别名接口

1.1 别名说明

个推使用clientid来标识每个独立的用户,但clientid不等于开发者应用上的用户名,如果希望将消息发给应用上指定用户名的用户,则需要将用户名指定一个用户别名。

为一个或者一批clientid用户定义一个用户别名,通过这个用户别名对一个或一批用户进行推送。目前一个别名最多允许绑定10个clientid。

别名规则说明:

  1. 有效的别名组成:字母(区分大小写)、数字、下划线、汉字。
  2. 任务备注名长度限制为 40 字节。( UTF-8 )
  3. 一个别名最多允许绑定10个clientid。

1.2 对应接口

1.2.1 bindAlias-单个clientid绑定别名

一个clientid只能绑定一个别名,若已绑定过别名的clientid再次绑定新别名,则认为与前一个别名自动解绑,绑定新别名。

函数说明:
bindAlias(APPID,ALIAS,CID)
参数说明:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
ALIAS String 用户别名
CID String 用户id(clientid)
代码实例
# -*- coding: utf-8 -*-

from igt_push import *
from igetui.template import *
from igetui.igt_message import *
from igetui.igt_target import *
import os

#采用"Python SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
CID = ""
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'
ALIAS ='请输入别名'

#单个clientid绑定别名功能
def bindAlias():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    ret = push.bindAlias(APPID,ALIAS,CID)
    print ret  

bindAlias()

1.2.2 bindAliasBatch-多个clientid绑定别名

允许将多个clientid和一个别名绑定,如用户使用多终端,则可将多终端对应的clientid绑定为一个别名,目前一个别名最多支持绑定10个clientid。

函数说明:
 bindAliasBatch(APPID,targets)
参数说明:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
targets List 用户列表
代码实例
# -*- coding: utf-8 -*-

from igt_push import *
from igetui.template import *
from igetui.igt_message import *
from igetui.igt_target import *
import os

#采用"Python SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
CID = "请输入用户cid"
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'
ALIAS ='请输入别名'

def bindAliasBatch():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)

    target = Target()
    target.clientId = CID
    target.alias = ALIAS

    target1 = Target()
    target1.alias = ALIAS

    targets=[target]
    targets.append(target1)

    ret = push.bindAliasBatch(APPID,targets)
    print ret

bindAliasBatch()
#注:只要有一个cid绑定成功,返回结果就为true

1.2.3 queryClientId-根据别名获取clientid信息

函数说明:
queryClientId(APPID,ALIAS)
参数说明:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
ALIAS String 用户别名
代码实例
# -*- coding: utf-8 -*-

from igt_push import *
from igetui.template import *
from igetui.igt_message import *
from igetui.igt_target import *
import os

#采用"Python SDK 快速入门""第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
CID = "请输入用户cid"
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'
ALIAS ='请输入别名'

def queryClientId():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    ret = push.queryClientId(APPID,ALIAS)
    print ret

queryClientId()

1.2.4 queryAlias-通过clientid获取别名信息

函数说明:
queryAlias(APPID,CID)
参数说明:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
CID String 用户id(clientid)
代码实例
# -*- coding: utf-8 -*-

from igt_push import *
from igetui.template import *
from igetui.igt_message import *
from igetui.igt_target import *
import os

#采用"Python SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
CID = "请输入用户cid"
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'
ALIAS ='请输入别名'

def queryAlias():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    dictz = push.queryAlias(APPID,CID)
    for key in dictz:
        print key+":"+dictz[key].decode("utf-8")

queryAlias()

1.2.5 unBindAlias-单个clientid和别名解绑

函数说明:
 unBindAlias(APPID,ALIAS,CID)
参数说明:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
ALIAS String 用户别名
CID String 用户id(clientid)
代码实例
# -*- coding: utf-8 -*-

from igt_push import *
from igetui.template import *
from igetui.igt_message import *
from igetui.igt_target import *
import os

#采用"Python SDK 快速入门""第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
CID = "请输入用户id"
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'
ALIAS ='请输入别名'

def aliasUnBind():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    ret = push.unBindAlias(APPID,ALIAS,CID)
    print ret

aliasUnBind()

1.2.6 unBindAliasAll-绑定别名的所有clientid解绑

函数说明:
 unBindAliasAll(APPID,ALIAS);
参数说明
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
ALIAS String 用户别名
代码实例:
# -*- coding: utf-8 -*-

from igt_push import *
from igetui.template import *
from igetui.igt_message import *
from igetui.igt_target import *
import os

#采用"Python SDK 快速入门""第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
CID = "请输入用户id"
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'
ALIAS ='请输入别名'

def unBindAliasAll():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    ret = push.unBindAliasAll(APPID,ALIAS)
    print ret

unBindAliasAll()

2. 标签

2.1 描述

tag即为用户标签,个推提供了服务端和客户端接口,允许app针对每个clientid设置标签。用户的喜好、习惯、性别、年龄段等信息,这些信息均可以做为用户分组的标签。

通过标签(tag)方式实现用户分组,将消息发给指定标签用户,更进一步筛选了用户,实现精细化运营。

2.2 应用场景

场景1:一个用户经常看电影,给该用户打一个“movie”标签,当有最新电影更新了,可给tag为movie的这一群用户推送消息。

场景2:音频播放器应用。对不同音乐类型喜好的人群推送不同类别的新音乐通知。

2.3 对应接口

2.3.1 setClientTag-对指定用户设置tag属性

函数说明
setClientTag(APPID,CID,tagList)
参数说明
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
CID String 目标用户id(clientid)
tagList List 用户tag列表

注:此接口有频次控制,tag的长度、个数、总长度也有限制,申请修改请联系邮箱:kegf@getui.com 。

代码实例
# -*- coding: utf-8 -*-
from array import array
__author__ = 'wei'

from igt_push import *

#采用"Python SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
CID = "请输入用户id"
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'

# 根据clientid设置标签功能
def setTag():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    tagList = ['标签1', '标签2', '......']
    print push.setClientTag(APPID, CID, tagList); 

setTag()

2.3.2 getUserTags-获取指定用户的tag属性

函数说明
getUserTags(appId, cid)
参数说明
参数名 类型 必需 默认值 参数描述
appId String 用户所属应用id
cid String 目标用户id(clientid)
代码实例
# -*- coding: utf-8 -*-
from array import array
__author__ = 'wei'

from igt_push import *

#采用"Python SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
CID = "请输入用户id"
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'

# 根据clientid查询标签
def getUserTagsTest():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    dictz = push.getUserTags(APPID, CID)
    for key in dictz:
        print key + ":" + dictz[key].decode("utf-8") 

getUserTagsTest()

3. 停止任务接口

3.1 接口说明

接口名称 参数 类型 说明
stop taskId(格式OSL-yyMM_XXXXXX) String 根据taskID对正处于推送状态,或者未接收的消息停止下发

3.2 代码实例

# -*- coding: utf-8 -*-
from array import array
__author__ = 'wei'

from igt_push import *
#采用"Python SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
MASTERSECRET = ""
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'

def stopTask():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    print push.stop("OSA-0226_50RYYPFmos9eQEHZrkAf27");
stopTask()

4. 查询用户当前状态

4.1 接口说明

接口名称 方法名 类型 说明
getClientIdStatus APPID String 设置推送的appid
clientid String 用户唯一标识符

4.2 代码实例

# -*- coding: utf-8 -*-

from igt_push import *
import os

#采用"Python SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
CID = "请输入用户id"
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'

def getUserStatus():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    print push.getClientIdStatus(APPID, CID)

getUserStatus()

5. 获取推送结果实例

5.1 接口说明

接口名称 参数 参数说明
getPushResult taskId 任务唯一识别号(格式OSL-yyMM_XXXXXX)

5.2 返回值

回执 参数说明
{taskeId=OSA-0820_uQ7gevLuGS7Odz8FS2ZSB9, result=ok, msgTotal=59, msgProcess=0}
taskID:表示任务ID
msgTotal:表示有效可下发总数
result:OK执行成功
result:sign_error 表示校验失败
msgProcess:收到消息回执总数

5.3 代码实例

# -*- coding: utf-8 -*-

from igt_push import *
import os

#采用"Python SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
CID = "请输入用户id"
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'

# 根据taskId返回推送结果
def getPushResultTest():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    #返回根据任务tasdkId返回数据
    print push.getPushResult("OSA-0304_LUNiKF8n6i8PXgvqARRUp8")
#    返回单日推送数据信息
#   print push.queryAppPushDataByDate(APPID, "20150525")
#    返回单日用户结果信息
#   print push.queryAppUserDataByDate(APPID,"20150525")

getPushResultTest()

6. 获取单日用户数据

6.1 描述

调用此接口可以获取某个应用单日的用户数据(用户数据包括:新增用户数,累计注册用户总数,在线峰值,日联网用户数)(目前只支持查询1天前的数据)

6.2 接口名称

def queryAppUserDataByDate(appId, date)

6.3 接口参数

字段 说明
appId 应用ID
date 查询的日期(格式:yyyyMMdd)

6.4 返回值

字段 上级 含义
result - 成功:ok
data - 查询数据对象
appId data 请求的AppId
date data 查询的日期(格式:yyyyMMdd)
newRegistCount data 新注册用户数
registTotalCount data 累计注册用户数
activeCount data 活跃用户数
onlineCount data 在线用户数

6.5 代码实例

# -*- coding: utf-8 -*-

from igt_push import *
import os

#采用"Python SDK 快速入门""第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'

def queryAppUserDataByDateDemo():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    res = push.queryAppUserDataByDate(APPID,"20150605")
    print(res)

queryAppUserDataByDateDemo()

7. 获取单日推送数据

7.1 描述

调用此接口可以获取某个应用单日的推送数据(推送数据包括:发送总数,在线发送数,接收数,展示数,点击数)(目前只支持查询1天前的数据)

7.2 接口名称:

def queryAppPushDataByDate(appId, date)

7.3 接口参数

字段 说明
appId 应用ID
date 查询的日期(格式:yyyyMMdd)

7.4 返回值

字段 上级 含义
result - 成功:ok
data - 查询数据对象
appId data 请求的AppId
date data 查询的日期(格式:yyyyMMdd)
sendCount data 发送总数
sendOnlineCount data 在线发送数
receiveCount data 接收数
showCount data 展示数
clickCount data 点击数

7.5 代码实例

# -*- coding: utf-8 -*-

from igt_push import *
import os

#采用"Python SDK 快速入门""第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'

def queryAppPushDataByDateDemo():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    res = push.queryAppPushDataByDate(APPID,"20150605")
    print(res)

queryAppPushDataByDateDemo()

8. 大数据综合分析用户得到的标签:即用户画像

8.1 接口描述

接口名称 参数 类型 参数说明
getPersonaTags APPID String 应用的唯一id

8.2 代码实例

# -*- coding: utf-8 -*-

from igt_push import *
import os

#toList接口每个用户返回用户状态开关,true:打开 false:关闭
os.environ['gexin_pushList_needDetails'] = 'true'

#采用"Python SDK 快速入门""第二步 获取访问凭证 "中获得的应用配置
APPKEY = ""
APPID = ""
MASTERSECRET = ""
HOST = 'http://sdk.open.api.igexin.com/apiex.htm'

def getPersonaTagsDemo():
    push = IGeTui(HOST, APPKEY, MASTERSECRET)
    res = push.getPersonaTags(APPID)
    print(json.dumps(res).decode("unicode_escape").encode("utf-8"))
    for result in res["tags"]:
        print(result["desc"])

getPersonaTagsDemo()
通知
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

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

......

文档中心搜索