其他接口

其他接口

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
代码实例
<?php
//更新时间为2014年11月11日
//增加ClientId可自定义别名功能
header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

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

aliasBind();    //clientid与别名绑定

function aliasBind(){

    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
    $rep = $igt->bindAlias(APPID,ALIAS,CID);
    var_dump($rep);
    echo("<br><br>");

}
?>

1.2.2 bindAliasBatch-多个clientid绑定别名

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

函数说明:
 bindAliasBatch(APPID,$targetList)
参数说明:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
targetList Array cid列表
代码实例
<?php
//更新时间为2014年11月11日
//增加ClientId可自定义别名功能
header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

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

aliasBatch();    //多个clientid,使用同一别名绑定

function aliasBatch(){

        $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);

        $target = new IGtTarget();
        $target->set_clientId(CID);
        $target->set_alias(ALIAS);
        $targetList[] = $target;

//        $target1 = new IGtTarget();
//        $target1->set_clientId(CID2);
//        $target1->set_alias(ALIAS);
//        $targetList[] = $target1;

        $rep = $igt->bindAliasBatch(APPID,$targetList);
        var_dump($rep);
        echo("<br><br>");
}
// 注:只要有一个cid绑定成功,返回结果就为true
?>

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

函数说明:
queryClientId(APPID,ALIAS)
参数说明:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
ALIAS String 用户别名
代码实例
<?php
//更新时间为2014年11月11日
//增加ClientId可自定义别名功能
header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

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

queryCID();    //根据别名查询ClientId

function queryCID(){
    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
        $rep = $igt->queryClientId(APPID,ALIAS);
        var_dump($rep);
        echo("<br><br>");
}
?>

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

函数说明:
queryAlias(APPID,CID)
参数说明:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
CID String 用户id
代码实例
<?php
//更新时间为2014年11月11日
//增加ClientId可自定义别名功能
header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

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

queryAlias();    //根据CID查询别名

function queryAlias(){
    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
        $rep = $igt->queryAlias(APPID,CID);
        var_dump($rep);
        echo("<br><br>");
}
?>

1.2.5 unBindAlias-单个clientid和别名解绑

函数说明:
 unBindAlias(APPID,ALIAS,CID)
参数说明:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
ALIAS String 用户别名
CID String 用户id(clientid)
代码实例
<?php
//更新时间为2014年11月11日
//增加ClientId可自定义别名功能
header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

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

aliasUnBind();    //解除ClientId别名绑定

function aliasUnBind(){
    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
        $rep = $igt->unBindAlias(APPID,ALIAS,CID);
        var_dump($rep);
        echo("<br><br>");
}
?>

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

函数说明:
 unBindAliasAll(APPID,ALIAS);
参数说明
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
ALIAS String 用户别名
代码实例:
<?php
//更新时间为2014年11月11日
//增加ClientId可自定义别名功能
header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

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

aliasUnBindAll();    //解除所有ClientId别名绑定

function aliasUnBindAll(){
        $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
        $rep = $igt->unBindAliasAll(APPID,ALIAS);
        var_dump($rep);
        echo("<br><br>");
}
?>

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 Array 用户tag列表

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

代码实例
<?php
//更新时间为2014年11月11日
//增加ClientId可自定义别名功能
header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

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


setTag();    //通过服务端设置ClientId的标签

function setTag(){
    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
    $tagList = array('','中文','English');
    $rep = $igt->setClientTag(APPID,CID,$tagList);
    var_dump($rep);
    echo ("<br><br>");
}
?>

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

函数说明
getUserTags(appId, cid)
参数说明
参数名 类型 必需 默认值 参数描述
appId String 用户所属应用id
cid String 目标用户id(clientid)
代码实例
<?php
//更新时间为2014年11月11日
//增加ClientId可自定义别名功能
header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

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


getUserTags();    //获取用户标签

function getUserTags() {
    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
    $rep = $igt->getUserTags(APPID,CID);
    //$rep.connect();
    var_dump($rep);
    echo ("<br><br>");
}
?>

3. 停止任务接口

3.1 接口名称

stop(taskId)

3.2 参数描述

参数名 类型 必需 默认值 参数描述
taskId String 任务id

3.3 stop代码实例

<?php
//更新时间为2014年11月11日
//增加ClientId可自定义别名功能
header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

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

stoptask();    //停止任务

function stoptask(){
    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
    $rep = $igt->stop("OSA-0225_d5GB1otdWLAsTb3gckDXY7");
    var_dump($rep);
}
?>

4. 查询用户状态

4.1 接口名称

getClientIdStatus(APPID,CID)

4.2 参数描述

参数 类型 说明
APPID String 设置推送的appid
CLIENTID String 用户唯一标识符

4.3 getClientIdStatus代码实例

<?php
//更新时间为2014年11月11日
//增加ClientId可自定义别名功能
header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

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

getUserStatus();    //获取用户状态

function getUserStatus() {
    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
    $rep = $igt->getClientIdStatus(APPID,CID);
    var_dump($rep);
    echo ("");
}
?>

5. 获取推送结果

5.1 接口名称

getPushResult(taskId)

5.2 参数说明

参数 类型 参数说明
taskId String 任务唯一识别号(格式OSL-yyMM_XXXXXX)

5.3 返回值

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

5.4 getPushResult代码实例

<?php

header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

//http的域名
define('HOST','http://sdk.open.api.igexin.com/apiex.htm');

//https的域名
//define('HOST','https://api.getui.com/apiex.htm');

//采用"PHP SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置          
define('APPKEY','');
define('APPID','');
define('MASTERSECRET','');
define('CID','用户id');



getPushMessageResultDemo();

function getPushMessageResultDemo(){


//    putenv("gexin_default_domainurl=http://183.129.161.174:8006/apiex.htm");

    $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);

    $ret = $igt->getPushResult("OSA-0522_QZ7nHpBlxF6vrxGaLb1FA3");
    var_dump($ret);

}

?>

6. 获取单日用户数据

6.1 接口描述

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

6.2 接口名称:

queryAppUserDataByDate(APPID , DATE)

6.3 接口参数:

字段 类型 说明
APPID String 应用ID
DATE String 查询的日期(格式:yyyyMMdd)

6.4 返回值:

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

6.5 queryAppUserDataByDate代码示例:

<?php

header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

//http的域名
define('HOST','http://sdk.open.api.igexin.com/apiex.htm');

//https的域名
//define('HOST','https://api.getui.com/apiex.htm');

//采用"PHP SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置             
define('APPKEY','');
define('APPID','');
define('MASTERSECRET','');


getPushMessageResultDemo();

function getPushMessageResultDemo(){


//    putenv("gexin_default_domainurl=http://183.129.161.174:8006/apiex.htm");

        $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);

       $ret = $igt->queryAppUserDataByDate(APPID,"20140807");
        var_dump($ret);

}

?>

7. 获取单日推送数据

7.1 描述

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

7.2 接口名称:

queryAppPushDataByDate(APPID,DATE)

7.3 接口参数:

字段 类型 说明
APPID String 应用ID
DATE String 查询的日期(格式:yyyyMMdd)

7.4 返回值:

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

7.5 queryAppPushDataByDate代码示例:

<?php

header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

//http的域名
define('HOST','http://sdk.open.api.igexin.com/apiex.htm');

//https的域名
//define('HOST','https://api.getui.com/apiex.htm');

//采用"PHP SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置             
define('APPKEY','');
define('APPID','');
define('MASTERSECRET','');


getPushMessageResultDemo();

function getPushMessageResultDemo(){


//    putenv("gexin_default_domainurl=http://183.129.161.174:8006/apiex.htm");

        $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);

      $ret = $igt->queryAppPushDataByDate(APPID,"20140807");
    var_dump($ret);

}

?>

8. 通过标签获取用户总数

8.1 描述

调用此接口可以获取该标签下的用户总数

8.2 接口名称:

getUserCountByTags(APPID, $tagList)

8.3 接口参数:

字段 类型 说明
APPID String 应用ID
$tagList Array 标签列表

8.4 getUserCountByTags代码示例:

<?php

header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

//http的域名
define('HOST','http://sdk.open.api.igexin.com/apiex.htm');

//https的域名
//define('HOST','https://api.getui.com/apiex.htm');

//采用"PHP SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置         
define('APPKEY','');
define('APPID','');
define('MASTERSECRET','');


getUserCountByTagsDemo();

function getUserCountByTagsDemo() {
    $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
    $tagList = array("金在中","龙卷风");
    $ret = $igt->getUserCountByTags(APPID, $tagList);
    var_dump($ret);
}

?>

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

9.1 接口名称:

getPersonaTags(APPID)

9.2 接口参数:

字段 类型 说明
APPID String 应用ID

9.3 getPersonaTags代码示例:

<?php

header("Content-Type: text/html; charset=utf-8");

require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');

//http的域名
define('HOST','http://sdk.open.api.igexin.com/apiex.htm');

//https的域名
//define('HOST','https://api.getui.com/apiex.htm');

//采用"PHP SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置           
define('APPKEY','');
define('APPID','');
define('MASTERSECRET','');


getPersonaTagsDemo();

function getPersonaTagsDemo() {
    $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
    $ret = $igt->getPersonaTags(APPID);
    var_dump($ret);
}

?>
通知
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

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

......

文档中心搜索