开放平台

介绍

# 消息推送

开发者服务端可以通过微信的应用推送消息后台接口给 WMPF Client 端推送消息,具体分为四个步骤:

  1. 首先需要获取 pushToken,有两种获取方式(JSAPI 和 Task)
  2. WMPF Client 端调用 SetPushMsgCallback ,该方法用来接收服务端 push 的消息
  3. 服务端通过应用推送消息后台接口 push 消息,参数为需要推送的 msg 和步骤 1 获取的 pushToken
  4. SetPushMsgCallback 方法绑定的监听函数收到 push 的消息

# 1. 获取 pushToken

通过 JSAPI

小程序中,可以通过 wmpf.getWmpfPushToken 获取 pushToken

wmpf.getWmpfPushToken({
  success: res => {
    console.log(res.token);
  },
  fail: res => {
    console.log(res);
  }
})

通过 Task

在 WMPF client 中,可以通过 Task 获取 pushToken

fun getPushToken(appId: String, callback: (Boolean, String) -> Unit) {
  val request = WMPFPushTokenRequest()
  request.baseRequest = WMPFBaseRequestHelper.checked()
  request.appId = appId
  val result = WMPFIPCInvoker.invokeAsync<
  IPCInvokerTask_getPushToken,
  WMPFPushTokenRequest,
  WMPFPushTokenResponse
  >(request, IPCInvokerTask_getPushToken::class.java) {
    response -> callback(true, response.pushToken)
  }
  if (!result) {
    callback(false, "invoke getPushToken fail")
  }
}

# 2. 推送消息后台接口

通过调用 pushAppMsg 接口,向 WMPF Client 端 push 消息。

# 3. Client 端接收消息

通过 SetPushMsgCallback 注册监听消息回调事件

val request = WMPFPushMsgRequest()
request.baseRequest = WMPFBaseRequestHelper.checked()
WMPFIPCInvoker.invokeAsync<IPCInovkerTask_SetPushMsgCallback,
WMPFPushMsgRequest, WMPFPushMsgResponse>(request, IPCInovkerTask_SetPushMsgCallback::class.java) {
  resp -> ui.printlnToView("receive: " + resp.msgBody)
}