API 接口文档

API 接口文档

1. 接口类说明

本文档所有接口所涉及的相关类及说明如下:

接口 说明
PushManager SDK 功能接口类,用于调用个推相关功能接口
Tag 标签接口类,用于给用户打上标签(如可以用于精准推送)
GTIntentService 消息处理中心(用户需继承实现)

2. 获取 PushManager

类名 com.igexin.sdk.PushManager
接口 public static PushManager getInstance()

说明:

用于获取单例 PushManager 对象,可以进行推送控制、设置标签、设置别名、设置静默时间等,所有个推提供的接口均是通过该实例调用

返回:

返回 PushManager 单例对象

3. 初始化服务

类名 com.igexin.sdk.PushManager
接口 public void initialize(Context context)

说明:

初始化个推服务,接口调用后个推服务后台运行,联网成功后,通过用户 IntentService 回调接口返回 cid 信息。

参数:

context:应用的 ApplicationContext

4. 设置调试接口

类名 com.igexin.sdk.PushManager
接口 public void setDebugLogger(Context context, IUserLoggerInterface loggerInterface)

说明

  • 该接口用于输出集成时候的日志信息。
  • 请在调试的时候使用该接口,切勿发布到线上版本。
  • 该接口跟初始化接口的调用不存在先后关系,建议紧邻着初始化接口调用。

参数:

  • context:应用的 Context
  • loggerInterface:日志回调接口

示例

com.igexin.sdk.PushManager.getInstance().setDebugLogger(this, new IUserLoggerInterface() {
    @Override
    public void log(String s) {
        Log.i("PUSH_LOG",s);
    }
});

5. 开启推送

类名 com.igexin.sdk.PushManager
接口 public void turnOnPush(Context context)

说明:

打开 Push 推送,默认是开启状态,可以使用 turnOffPush 接口关闭推送

参数:

context:应用的 Context

6. 关闭推送

类名 com.igexin.sdk.PushManager
接口 public void turnOffPush(Context context)

说明:

关闭 Push 推送,关闭后则无法收到推送消息,若调用了该接口关闭了推送,则只能调用 turnOnPush 才能正常推送

参数:

context:应用的 Context

7. 设置静默时间

类名 com.igexin.sdk.PushManager
接口 public boolean setSilentTime(Context context,int beginHour,int duration)

说明:

设置静默时间,静默期间内 SDK 断开连接,将不再接收消息

参数:

  • context:应用的 Context
  • beginHour:开始时间,设置范围在 0-23 小时之间,单位 h
  • Duration:持续时间,设置范围在 0-23 小时之间。持续时间为 0 则取消静默,单位 h

返回:

true:设置成功;false:设置失败

示例:

//设置 beginHour 为 15,Duration 为 10 小时,则在 15:00-次日 1:00 这 10 个小时内 SDK 将不会联网。
int beginHour = 15;
int durationHour = 10;
boolean result = PushManager.getInstance().setSilentTime(context, beginHour, durationHour);

8. 获取缓存的 CID

类名 com.igexin.sdk.PushManager
接口 public String getClientid(Context context)

说明:

获取当前用户缓存的 cid(长时间未登录或 AppId 发生变化造成的 cid 变化以14. 获取 CID接口中的 cid 为准)

参数:

context:应用的 Context

返回:

当前用户的 cid,如果未初始化成功,返回 null

9. 获取 SDK 服务状态

类名 com.igexin.sdk.PushManager
接口 public boolean isPushTurnedOn(Context context)

说明:

获取当前 SDK 的服务状态

参数:

context:应用的 Context

返回:

true:当前推送已打开;false:当前推送已关闭

10. 获取 SDK 版本号

类名 com.igexin.sdk.PushManager
接口 public String getVersion(Context context)

说明:

获取当前 SDK 版本号

参数:

context:应用的 Context

返回:

当前 SDK 版本号字符串

11. 设置华为角标

类名 com.igexin.sdk.PushManager
接口 public boolean setHwBadgeNum(Context context, int badgeNum)

说明:

设置华为设备上的应用角标

参数:

  • context:应用的 Context
  • badgeNum:角标数量

返回:

true:设置成功;fasle设置失败

12. 检查集成结果

类名 com.igexin.sdk.PushManager
接口 public void checkManifest(Context context)

说明:

用于检查个推集成结果,此方法需要被try catch(Exception e)

参数:

  • context:应用的 Context

返回:

此方法无直接返回值。若出现集成问题会在logcat中打印关键字为“GetuiPushException”的相关报错信息

13. 推送进程启动

类名 com.igexin.sdk.GTIntentService
接口 public abstract void onReceiveServicePid(Context context, int pid)

说明:

个推进程启动成功回调该函数。

参数:

  • context:应用的 Context
  • pid:Push 进程 ID

14. 获取 CID

类名 com.igexin.sdk.GTIntentService
接口 public abstract void onReceiveClientId(Context context, String clientid)

说明:

个推初始化成功回调该函数并返回 cid。

参数:

  • context:应用的 Context
  • clientid:个推唯一 ID,用于标识当前应用

15. 接收透传消息

类名 com.igexin.sdk.GTIntentService
接口 public abstract void onReceiveMessageData(Context context, GTTransmitMessage pushMessage)

说明:

接收到透传消息后回调该函数。

参数:

  • context:应用的 Context
  • pushMessage:透传消息封装类。

示例

@Override
public void onReceiveMessageData(Context context, GTTransmitMessage msg) {
    Log.d(TAG, "onReceiveMessageData -> " +
            "appid = " + msg.getAppid() +
            "\ntaskid = " + msg.getTaskId() +
            "\nmessageid = " + msg.getMessageId() +
            "\npkg = " + msg.getPkgName() +
            "\ncid = " + msg.getClientId()+
            "\nplayload = "+ new String(msg.getPayload()));
}

16. 监听在线状态

类名 com.igexin.sdk.GTIntentService
接口 public abstract void onReceiveOnlineState(Context context, boolean online)

说明:

cid 在线状态变化时回调该函数

参数:

  • context:应用的 Context
  • online:当前 cid 是否在线,true 代表在线,false 代表离线,若由于网络原因离线,个推 SDK 内部会自动重连

17. 命令回执

类名 com.igexin.sdk.GTIntentService
接口 public abstract void onReceiveCommandResult(Context context, GTCmdMessage cmdMessage)

说明:

调用设置标签、绑定别名、解绑别名、自定义回执操作的结果返回

参数:

  • context:应用的 Context
  • cmdMessage:通过cmdMessage.getAction()获取相应的状态值,具体值见代码示例

示例

@Override
public void onReceiveCommandResult(Context context, GTCmdMessage cmdMessage) {
    Log.d(TAG, "onReceiveCommandResult -> " + cmdMessage);

    int action = cmdMessage.getAction();

    /* action 结果值说明
       10009:设置标签的结果回执
       10010:绑定别名的结果回执
       10011:解绑别名的结果回执 
       10006:自定义回执的结果回执 */

    if (action == PushConsts.SET_TAG_RESULT) {
        setTagResult((SetTagCmdMessage) cmdMessage);
    } else if (action == PushConsts.BIND_ALIAS_RESULT) {
        bindAliasResult((BindAliasCmdMessage) cmdMessage);
    } else if (action == PushConsts.UNBIND_ALIAS_RESULT) {
        unbindAliasResult((UnBindAliasCmdMessage) cmdMessage);
    } else if ((action == PushConsts.THIRDPART_FEEDBACK)) {
        feedbackResult((FeedbackCmdMessage) cmdMessage);
    }
}

18. 通知到达

类名 com.igexin.sdk.GTIntentService
接口 public abstract void onNotificationMessageArrived(Context context, GTNotificationMessage notificationMessage)

说明:

通知到达时回调该接口(仅支持个推 SDK 通道下发的通知)

参数:

  • context:应用的 Context
  • notificationMessage:通知回调结果的消息封装类。

示例:

@Override
public void onNotificationMessageArrived(Context context, GTNotificationMessage message) {
    Log.d(TAG, "onNotificationMessageArrived -> "
            + "appid = " + message.getAppid()
            + "\ntaskid = " + message.getTaskId()
            + "\nmessageid = " + message.getMessageId()
            + "\npkg = " + message.getPkgName()
            + "\ncid = " + message.getClientId()
            + "\ncontent = " + message.getContent()
            + "\ntitle = "+message.getTitle());
}

19. 通知点击

类名 com.igexin.sdk.GTIntentService
接口 public abstract void onNotificationMessageClicked(Context context, GTNotificationMessage notificationMessage)

说明:

通知点击回调接口(仅支持个推 SDK 通道下发的通知)

参数:

  • context:应用的 Context
  • notificationMessage:通知回调结果的消息封装类。

示例:

@Override
public void onNotificationMessageClicked(Context context, GTNotificationMessage message) {
    Log.d(TAG, "onNotificationMessageClicked -> "
            + "appid = " + message.getAppid()
            + "\ntaskid = " + message.getTaskId()
            + "\nmessageid = " + message.getMessageId()
            + "\npkg = " + message.getPkgName()
            + "\ncid = " + message.getClientId()
            + "\ncontent = " + message.getContent()
            + "\ntitle = "+message.getTitle());
}

20. 获取厂商 Token

类名 com.igexin.sdk.GTIntentService
接口 public void onReceiveDeviceToken(Context context, String deviceToken)

说明:

厂商 Token 回调 (该接口为非必须实现接口)

参数:

  • context:应用的 Context
  • deviceToken:厂商回调的 token 内容。
开发者中心 SDK 下载

文档中心搜索

在线
咨询

微信扫一扫

随时联系技术支持

在线
咨询