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;
};