其他接口

其他接口

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, clientid)

参数说明:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
ALIAS String 用户别名
clientid String 用户id
代码实例
using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;

namespace GetuiServerApiSDKDemo
{
    public class demo
    {
        //参数设置 <-----参数需要重新设置----->
        //http的域名
        private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

        //https的域名
        //private static String HOST = "https://api.getui.com/apiex.htm";
        //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
        private static String APPID = "";                     
        private static String APPKEY = "";                    
        private static String MASTERSECRET = "";              
        private static String CLIENTID = "";                  //您获取的clientid
          private static String ALIAS = "请输入别名";

        static void Main(string[] args)
        {

            bindAlias();
        }
        public static void bindAlias() 
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String ret = push.bindAlias(APPID, ALIAS, CLIENTID);
            System.Console.WriteLine(ret);
            }

  }
}

1.2.2 bindAlias-多个clientid绑定别名

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

函数说明:
bindAlias(appid, Lcids)
参数说明:
参数名 类型 必需 默认值 参数描述
appid String 用户所属应用id
Lcids List 别名绑定用户列表
代码实例
using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;
using System.Collections.Generic;

namespace GetuiServerApiSDKDemo
{
    public class demo
    {
        //参数设置 <-----参数需要重新设置----->
        //http的域名
        private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

        //https的域名
        //private static String HOST = "https://api.getui.com/apiex.htm";

        //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
        private static String APPID = "";                     
        private static String APPKEY = "";                    
        private static String MASTERSECRET = "";              
        private static String CLIENTID = "";                  //您获取的clientid
        private static String CLIENTID1 = "";
          private static String ALIAS = "请输入别名";
        private static String ALIAS1 = "别名1";

        static void Main(string[] args)
        {

            bindAliasAll();
        }
        public static void bindAliasAll()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            List<com.igetui.api.openservice.igetui.Target> Lcids = new List<com.igetui.api.openservice.igetui.Target>();
            com.igetui.api.openservice.igetui.Target target = new com.igetui.api.openservice.igetui.Target();
            target.clientId = CLIENTID;
            target.alias = ALIAS;

            com.igetui.api.openservice.igetui.Target target1 = new com.igetui.api.openservice.igetui.Target();
            target1.clientId = "7c6edf411568c5db12e565425e4a381633";
            target1.alias = ALIAS1;


            Lcids.Add(target);
            Lcids.Add(target1);

            String ret = push.bindAlias(APPID, Lcids);
            System.Console.WriteLine(ret);
        }
  }
}
//注:只要有一个cid绑定成功,返回结果就为true<

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

函数说明:
queryClientId (appId, Alias)
参数说明:
参数名 类型 必需 默认值 参数描述
appid String 用户所属应用id
Alias String 用户别名
代码实例
using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;

namespace GetuiServerApiSDKDemo
{
    public class demo
    {
        //参数设置 <-----参数需要重新设置----->
        //http的域名
        private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

        //https的域名
        //private static String HOST = "https://api.getui.com/apiex.htm";
        //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
        private static String APPID = "";                     
        private static String APPKEY = "";                    
        private static String MASTERSECRET = "";              
        private static String CLIENTID = "";                  //您获取的clientID
          private static String ALIAS = "请输入别名";

        static void Main(string[] args)
        {

            queryClientId();
        }
        public static void queryClientId()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String ret = push.queryClientId(APPID, ALIAS);
            System.Console.WriteLine(ret);
        }

  }
}

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

函数说明:
queryAlias (appId, cid)
参数说明:
参数名 类型 必需 默认值 参数描述
appid String 用户所属应用id
cid String 用户id
代码实例
using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;

namespace GetuiServerApiSDKDemo
{
    public class demo
    {
        //参数设置 <-----参数需要重新设置----->
        //http的域名
        private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

        //https的域名
        //private static String HOST = "https://api.getui.com/apiex.htm";
        //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
        private static String APPID = "";                     
        private static String APPKEY = "";                    
        private static String MASTERSECRET = "";              
        private static String CLIENTID = "";                  //您获取的clientID
          private static String ALIAS = "请输入别名";

        static void Main(string[] args)
        {

            queryAlias();
        }
        public static void queryAlias()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String ret = push.queryAlias(APPID, CLIENTID);
            System.Console.WriteLine(ret);
        }

  }
}

1.2.5 unBindAlias-单个clientid和别名解绑

函数说明:
unBindAlias (appId, Alias, cid)
参数说明:
参数名 类型 必需 默认值 参数描述
appid String 用户所属应用id
cid String 用户id
Alias String 用户别名
代码实例
using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;

namespace GetuiServerApiSDKDemo
{
    public class demo
    {
        //参数设置 <-----参数需要重新设置----->
        //http的域名
        private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

        //https的域名
        //private static String HOST = "https://api.getui.com/apiex.htm";

        //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
        private static String APPID = "";                     
        private static String APPKEY = "";                    
        private static String MASTERSECRET = "";              
        private static String CLIENTID = "";                  //您获取的clientID
          private static String ALIAS = "请输入别名";

        static void Main(string[] args)
        {

            aliasUnBind();
        }
        public static void aliasUnBind()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String ret = push.unBindAlias(APPID, ALIAS, CLIENTID);
            System.Console.WriteLine(ret);
        }

  }
}

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

函数说明:
 unBindAliasAll(appId, Alias)
参数说明
参数名 类型 必需 默认值 参数描述
appid String 用户所属应用id
Alias String 用户别名
代码实例:
using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;

namespace GetuiServerApiSDKDemo
{
    public class demo
    {
        //参数设置 <-----参数需要重新设置----->
        //http的域名
        private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

        //https的域名
        //private static String HOST = "https://api.getui.com/apiex.htm";

        //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
        private static String APPID = "";                     
        private static String APPKEY = "";                    
        private static String MASTERSECRET = "";              
        private static String CLIENTID = "";                  //您获取的clientid
          private static String ALIAS = "请输入别名";

        static void Main(string[] args)
        {

           aliasUnBindAll();
        }
        public static void aliasUnBindAll()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String ret = push.unBindAliasAll(APPID, ALIAS);
            System.Console.WriteLine(ret);
        }

  }
}

2. 标签接口

2.1 标签说明

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

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

2.2 对应接口

2.2.1 setClientTag-通过cid设置用户标签(可设置多个)

接口名称:setClientTag(APPID, clientid, list)
参数:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
clientid String 用户唯一识别id
list List 用户标签

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

代码实例
using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;
using System.Collections.Generic;

namespace GetuiServerApiSDKDemo
{
    public class demo
    {
        //参数设置 <-----参数需要重新设置----->
        //http的域名
        private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

        //https的域名
        //private static String HOST = "https://api.getui.com/apiex.htm";

        //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
        private static String APPID = "";                     
        private static String APPKEY = "";                    
        private static String MASTERSECRET = "";              
        private static String CLIENTID = "";                  //您获取的clientID

        static void Main(string[] args)
        {

               setTag();
        }
        public static void setTag() {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);

            List<String>  list=new List<String>();
            list.Add("");
            String ret =push.setClientTag(APPID, CLIENTID, list);
            System.Console.WriteLine(ret);
        }
  }
}

2.2.2 getUserTags-通过cid获取用户标签

接口名称:getUserTags(APPID, clientid)
参数:
参数名 类型 必需 默认值 参数描述
APPID String 用户所属应用id
clientid String 用户唯一识别id
代码实例
using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;

namespace GetuiServerApiSDKDemo
{
    public class demo
    {
        //参数设置 <-----参数需要重新设置----->
        //http的域名
        private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

        //https的域名
        //private static String HOST = "https://api.getui.com/apiex.htm";

        //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
        private static String APPID = "";                     
        private static String APPKEY = "";                    
        private static String MASTERSECRET = "";              
        private static String CLIENTID = "";                  //您获取的clientID

        static void Main(string[] args)
        {

               getUserTags();
        }
        public static void getUserTags() {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String ret = push.getUserTags(APPID,CLIENTID);
            System.Console.WriteLine(ret);
        }
  }
}

3. 停止任务接口

3.1 描述

stop-对正处于推送状态,或者未接收的消息停止下发(list或app任务)

3.2 接口名称:


### 3.3 参数

 | 参数 | 类型   | 说明                          |
|--------|--------|------------------------------|
| taskId     | String |任务ID(格式OSL-yyMM_XXXXXX)|

### 3.4 stop代码实例

using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;

namespace GetuiServerApiSDKDemo
{
public class demo
{
//参数设置 <-----参数需要重新设置----->
//http的域名
private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

    //https的域名
    //private static String HOST = "https://api.getui.com/apiex.htm";

    //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置                
    private static String APPKEY = "";                    
    private static String MASTERSECRET = "";              

    static void Main(string[] args)
    {

        taskStop();
    }
public static void taskStop()
{
    IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
    Boolean result = push.stop("OSA-0226_uuGr1x4Yp26TtLqnFq1984");
       System.Console.WriteLine("-----------------------------------------------");
    System.Console.WriteLine(result);
}

}
}



## 4. 查询用户状态

### 4.1 描述

调用此接口可获取用户状态,如在线不在线,cid和appid是否对应,appkey是否正确等。

### 4.2 接口名称:```getClientIdStatus(APPID,clientid)

4.3 接口参数

参数 类型 说明
APPID String 设置推送的appid
clientid String 用户唯一标识符(获取方式请参考<前期准备>第一章节)

4.4 getClientIdStatus代码实例

using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;

namespace GetuiServerApiSDKDemo
{
    public class demo
    {
        //参数设置 <-----参数需要重新设置----->
        //http的域名
        private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

        //https的域名
        //private static String HOST = "https://api.getui.com/apiex.htm";

        //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
        private static String APPID = "";                     
        private static String APPKEY = "";                    
        private static String MASTERSECRET = "";              
        private static String CLIENTID = "";                  //您获取的clientID

        static void Main(string[] args)
        {

            getUserStatus();
        }
        public static void getUserStatus()
        {
               IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String ret = push.getClientIdStatus(APPID, CLIENTID);
            System.Console.WriteLine("-----------------------------------------------");
            Console.WriteLine("用户状态:" + ret);
        }
  }
}

5. 获取推送结果

5.1 描述

5.2 接口名称:


### 5.3 参数说明

| 参数         | 参数说明                                                       |
|------------|---------------------------------------------------------------------------------------------------------|
| url         |接口地址(<a href="http://sdk.open.api.igexin.com/apiex.htm">http://sdk.open.api.igexin.com/apiex.htm</a>)|
| Appkey     | 用于鉴定身份是否合法                                               |
|masterSecret| 第三方客户端个推集成鉴权码,用于验证第三方合法性。在客户端集成SDK时需要提供                   |
| taskId     | 任务唯一识别号    (格式OSL-yyMM_XXXXXX)                                               |

### 5.4 返回值

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

### 5.5 获取推送结果实例

using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;

namespace GetuiServerApiSDKDemo
{
public class demo
{
//参数设置 <-----参数需要重新设置----->
//http的域名
private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

    //https的域名
    //private static String HOST = "https://api.getui.com/apiex.htm";

    //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置                 
    private static String APPKEY = "";                    
    private static String MASTERSECRET = "";              


    static void Main(string[] args)
    {

        getPushResult();
    }
     public static void getPushResult() 
    {
        IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
        String ret = push.getPushResult("OSA-0312_oPv6vL62zgA3JU942ZO3S");
        System.Console.WriteLine(ret);

   }


}
}


## 6. 获取单日用户数据

### 6.1 描述

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

### 6.2 接口名称:```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 queryAppUserDataByDate代码示例

using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;

namespace GetuiServerApiSDKDemo
{
    public class demo
    {
        //参数设置 <-----参数需要重新设置----->
        //http的域名
        private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

        //https的域名
        //private static String HOST = "https://api.getui.com/apiex.htm";

        //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
        private static String APPID = "";                     
        private static String APPKEY = "";                    
        private static String MASTERSECRET = "";              


        static void Main(string[] args)
        {

            queryAppUserDataByDate();
        }
        public static void queryAppUserDataByDate()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String ret = push.queryAppUserDataByDate(APPID, "20150910");
            System.Console.WriteLine(ret);
        }

   }
}

7. 获取单日推送数据

7.1 描述

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

7.2 接口名称: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 queryAppPushDataByDate代码示例:

using System;
using System.Linq;
using System.Text;
using Google.ProtocolBuffers;
using com.gexin.rp.sdk.dto;
using com.igetui.api.openservice;
using com.igetui.api.openservice.igetui;
using com.igetui.api.openservice.igetui.template;
using com.igetui.api.openservice.payload;
using System.Net;

namespace GetuiServerApiSDKDemo
{
    public class demo
    {
        //参数设置 <-----参数需要重新设置----->
        //http的域名
        private static String HOST = "http://sdk.open.api.igexin.com/apiex.htm";

        //https的域名
        //private static String HOST = "https://api.getui.com/apiex.htm";
        //采用"C# SDK 快速入门", "第二步 获取访问凭证 "中获得的应用配置
        private static String APPID = "";                     
        private static String APPKEY = "";                    
        private static String MASTERSECRET = "";              


        static void Main(string[] args)
        {

            queryAppPushDataByDate();
        }
        public static void queryAppPushDataByDate()
        {
            IGtPush push = new IGtPush(HOST, APPKEY, MASTERSECRET);
            String ret = push.queryAppPushDataByDate(APPID, "20150910");
            System.Console.WriteLine(ret);
        }

   }
}
通知
2018.03.21 Android SDK 4.3.0.0

增加通知到达、点击回调 适配Android 8.0 修复若干其他bug

......
2018.03.19 Android SDK 2.12.3.0

增加通知到达、点击回调 适配Android 8.0 修复若干其他bug

......
2018.01.29 JAVA SDK 4.0.1.17

苹果消息推送添加语音功能(VOIP)

......
2018.01.25 iOS SDK 2.2.0.0

新增 VOIP 推送及统计支持。 优化 SDK 解决已知问题。

......
2017.12.18 iOS SDK 2.1.0.0

新增 SDK 离线状态返回。 优化 SDK 解决已知问题。

......

文档中心搜索