[个推] 使用个推实现服务器端消息推送,推送结果返回分析

测试 采用的是alias推送

1.场景一,推送成功返回结果

getResultCode:RESULT_OK
getTaskId:OSS-0205_2msCUMLPDm5umUmoXaFt9A
getMessageId:null
getResponse:{taskId=OSS-0205_2msCUMLPDm5umUmoXaFt9A, result=ok, status=successed_offline}
2015-02-05 11:31:12 [com.supervisory.web.webservice.messagepush.PushToSingleUserAction#main]-[DEBUG] {taskId=OSS-0205_2msCUMLPDm5umUmoXaFt9A, result=ok, status=successed_offline}


2.场景二,alias不对,推送返回结果
getResultCode:RESULT_OK
getTaskId:null
getMessageId:null
getResponse:{result=clientId can't be null}
2015-02-05 11:32:28 [com.supervisory.web.webservice.messagepush.PushToSingleUserAction#main]-[DEBUG] {result=clientId can't be null}


3.场景三,服务器无网络,直接抛出异常


4.场景四,服务器有网络,手机无网络(手机联网后会推送给手机),推送返回结果
getResultCode:RESULT_OK
getTaskId:OSS-0205_hCFboJ7YuY8532dZgyEZ2A
getMessageId:null
getResponse:{taskId=OSS-0205_hCFboJ7YuY8532dZgyEZ2A, result=ok, status=successed_online}
2015-02-05 11:38:39 [com.supervisory.web.webservice.messagepush.PushToSingleUserAction#main]-[DEBUG] {taskId=OSS-0205_hCFboJ7YuY8532dZgyEZ2A, result=ok, status=successed_online}

小结:
1.判断resultCode是否为RESULT_OK,是 表示尝试了推送, 否 由于推送参数不对等问题 导致没有推送出去
2.判断ret.getResponse.get("result") 是否为ok, 是 表示成功推送给用户了(用户若无网络 则用户联网后会收到推送)
3.直接抛出异常,是由于服务器无网络或者网络超时等问题

你可能感兴趣的:(工具)