Electron SDK #
import { UPush, UPushListener } from 'upush2-electron-client'
UPush #
configUPush 需要在主进程调用
,建议在放在主进程入口js文件中,其他方法在主进程,渲染进程都可以被调用
/**
* 配置
* @param {String} packageName 包名
* @param {String} appId 项目唯一标示
* @param {String} appKey 应用唯一标示
* @param {UPushListener} listener 事件监听
*/
configUPush(packageName, appId, appKey, listener)
/**
* 注册推送
* @param {String} wsUrl websocket地址
* @returns
*/
registerUPush(wsUrl)
/**
* 注册到指定连接服务
* @param {String} wsUrl websocket地址
*/
registerSpecifiedUPushServer(wsUrl)
/**
* 注销
*/
unregisterUPush()
/**
* 绑定用户
* @param {String} userId 用户唯一标示
*/
bindUser(userId)
/**
* 检查连接,如果没有连接则立即建立连接
* @param context
*/
checkConnect(Context context);
/**
* 取得绑定的userId
* @return 主进程调用直接返回userId,渲染进程返回Promise
*/
getUserId()
/**
* 取得状态
* @return 主进程调用直接返回状态,渲染进程返回Promise
*/
getStatus()
/**
* 获得PushToken
* @return 主进程调用直接返回pushToken,渲染进程返回Promise
*/
getPushToken()
UPushListener #
/**
* pushToken监听
* @event {Function(code: Int, pushToken: String, serverTime: Number, userId: String)} cb
*/
setOnPushToken(cb)
/**
* 接收消息
* @event {Function(msg: UMessage, timestamp: Date, isOfflineMsg: Boolean)} cb 支持async
*/
setOnPush(cb)
/**
* 注销完成监听
* @event {Function()} cb
*/
setOnUnregister(cb)
/**
* 消息撤回
* @event {Function({fromId, msgId, alert}} cb 支持async
*/
setOnRevoke(cb)
/**
* 状态监听
* @event {Function(status: Int)} cb
*/
setOnStatus(cb)
/**
* 绑定用户监听
* @event {Function(status: Int)} cb
*/
setOnBindUser(cb)
/**
* 用户在其他设备注册,被顶掉
* @event {Function({ip, platform}} cb
*/
setOnRegisteredOnAnotherDevice(cb)