用户需求:用户自行开发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:
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服务器端配置消息推送以及极光的一些配置,参考: https://www.yuque.com/docs/share/d9b8e231-bfcc-48cf-a671-141fd927f78f?# 《O2OA移动端APP直连版本如何开启消息推送》