java开源办公OA项目:通过极光SDK获取设备号绑定到用户属性

246 阅读1分钟

用户需求:用户自行开发app,想通过O2OA集成的极光推送消息把O2OA的消息发送到自己的app中。前提是这个app需要集成极光的SDK。

关于集成极光SDK可以参考极光官方的文档:集成文档

获取手机设备号

集成完成后,使用SDK获取当前设备的设备号:

android, kotlin:

val device = JPushInterface.getRegistrationID(this)

ios, swift:

JPUSHService.registrationIDCompletionHandler { (resCode, registrationID) in
    if resCode == 0 {
        O2Logger.debug("设备号获取成功\(registrationID ?? "")")
        O2AuthSDK.shared.setDeviceToken(token: registrationID ?? "registrationIDerror0x0x")
    }else{
        O2Logger.debug("设备号获取失败,code:\(resCode)")
        O2AuthSDK.shared.setDeviceToken(token: registrationID ?? "registrationIDerror0x0x")
    }
}

将设备号绑定到用户属性

可以打开O2OA的推送相关的API接口文档:

http://host地址:20020/x\_jpush\_assemble\_control/jest/index.html

如下图,看到一个DeviceAction,这里面有绑定设备号、删除设备号绑定等API:

image.png

API调用说明:

这些API都需要用户登录后才能使用,所以外部APP使用的时候需要先单点登录,请求API的时候传入token。

API文档里面有说明如何调用这些请求,比如这个绑定设备号:

POST请求地址:http://host地址:20020/x\_jpush\_assemble\_control/jaxrs/device/bind

请求body体:{"deviceName": "上面极光SDK获取的设备号", "deviceType": "当前设备是ios还是android"}

Header:

x-token: *******

Content-Type: application/json

......

后面是去O2OA服务器端配置消息推送以及极光的一些配置,参考: www.yuque.com/docs/share/… 《O2OA移动端APP直连版本如何开启消息推送》