C++ SDK #

upush2_client.h #

class UPush2Client
{
public:

/**
  * @brief 配置UPush
  * @param packageName  程序包名
  * @param appId
  * @param appKey
  * @param listener     事件监听
  */
  void configUPush(std::string packageName, std::string appId, std::string appKey, UPush2Listener* listener);

  /**
    * @brief 注册到UPush
    * @param host         master地址
    * @param port         master端口
    */
  void registerUPush(std::string host, int port);

  /**
    * @brief 注册到指定的UPush服务
    * @param host         connector地址
    * @param port         connector端口
    */
  void registerSpecifiedUPushServer(std::string host, int port);

  /**
    * @brief 绑定用户
    * @param userId
    */
  void bindUser(std::string userId);

  /**
    * @brief 注销推送
    */
  void unregisterUPush();

  /**
  * @brief 设置网络连接类型
  * @param type 0 udp, 1 tcp, -1 auto
  */
  void setNetworkType(int type);

  /**
    * @brief 暂停
    * @return
    */
  bool pause();

  /**
    * @brief 恢复
    * @return
    */
  bool resume();

  /**
    * @brief 取得状态
    * @return
    */
  int getStatus();

  /**
    * @brief 取得已经绑定的用户ID
    * @return
    */
  std::string getUserId();

  /**
    * @brief 取得pushToken
    * @return
    */
  std::string getPushToken();
}

upush2_listener.h #

class UPush2Listener
{
public:
    /**
     * @brief PushToken监听
     * @param code         0成功,小于0失败,参照错误码
     * @param pushToken    推送设备唯一标示,失败时为空
     * @param userId       pushToken绑定的用户ID
     */
    virtual void onPushToken(int code, const char* pushToken, const char* userId) = 0;

    /**
     * @brief 绑定用户监听
     * @param status      0成功,小于0失败,参照错误码
     */
    virtual void onBindUser(int status) = 0;

    /**
     * @brief 接收到推送消息监听
     * @param data         推送数据,JSON字符串
     * @param pushTime     推送时间
     * @param isOfflineMsg 是否为离线消息
     */
    virtual void onPush(char* data, uint64_t pushTime, bool isOfflineMsg) = 0;

    /**
     * @brief 状态监听,参照状态码
     * @param status
     */
    virtual void onStatusChanged(int status) = 0;

    /**
     * @brief 注销完成监听
     */
    virtual void onUnregister() = 0;

    /**
     * @brief 用户ID在其他设备注册(单点登录/被顶掉)监听
     * @param JSON字符串, keys: ip, platform
     */
    virtual void onRegisteredOnAnotherDevice(const char* info) = 0;

    /**
     * @brief 消息撤回监听
     * @param data          JSON字符串,详细见下面 
     * @param revokeTime    撤回时间
     */
    virtual void onRevoke(const char* data, uint64_t revokeTime) = 0;
};

onPush 详细

  • onPush中data参数为JSON字符串,JSON键值参照
  • onRevoke中data参数为JSON字符串,JSON键值参照

上次更新: 9/29/2022, 12:45:03 AM