关于ios极光推送server端注意的地方

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

今天试用了极光推送API

用它是因为,大多数人说它的文档是最全的,但是用过之后,发现关于IOS的文档,还是很不够,导致走了一点弯路!

特别是服务端的代码:https://github.com/jpush/jpush-api-java-client for java

Java代码

JPushClient jpushClient = new JPushClient(masterSecret, appKey, 0, DeviceEnum.Android, false); CustomMessageParams params = new CustomMessageParams(); params.setReceiverType(ReceiverTypeEnum.TAG); params.setReceiverValue(tag); MessageResult msgResult = jpushClient.sendCustomMessage(msgTitle, msgContent, params, null); LOG.debug("responseContent - " + msgResult.responseResult.responseContent); if (msgResult.isResultOK()) { LOG.info("msgResult - " + msgResult); LOG.info("messageId - " + msgResult.getMessageId()); } else { if (msgResult.getErrorCode() > 0) { // 业务异常 LOG.warn("Service error - ErrorCode: " + msgResult.getErrorCode() + ", ErrorMessage: " + msgResult.getErrorMessage()); } else { // 未到达 JPush LOG.error("Other excepitons - " + msgResult.responseResult.exceptionString); } }

JPushClient jpushClient = new JPushClient(masterSecret, appKey, 0, DeviceEnum.Android, false);

CustomMessageParams params = new CustomMessageParams();

params.setReceiverType(ReceiverTypeEnum.TAG);

params.setReceiverValue(tag);

MessageResult msgResult = jpushClient.sendCustomMessage(msgTitle, msgContent, params, null);

LOG.debug("responseContent - " + msgResult.responseResult.responseContent);

if (msgResult.isResultOK()) {

LOG.info("msgResult - " + msgResult);

LOG.info("messageId - " + msgResult.getMessageId());

} else {

if (msgResult.getErrorCode() > 0) {

// 业务异常

LOG.warn("Service error - ErrorCode: "

+ msgResult.getErrorCode() + ", ErrorMessage: "

+ msgResult.getErrorMessage());

} else {

// 未到达 JPush

LOG.error("Other excepitons - "

+ msgResult.responseResult.exceptionString);

}

}

这是它的推送案例,只有android的,没有IOS的!

附送ios的代码:

后来发现IOS完全不能试用sendCustomMessage这个方法.

Java代码

/** * */ package org.haoyi.push; import java.util.HashMap; import java.util.Map; import org.apache.log4j.Logger; import cn.jpush.api.JPushClient; import cn.jpush.api.common.DeviceEnum; import cn.jpush.api.push.IosExtras; import cn.jpush.api.push.MessageResult; import cn.jpush.api.push.NotificationParams; import cn.jpush.api.push.ReceiverTypeEnum; /** * @author zfanxu * */ public class PushDemo { public static final int MAX = Integer.MAX_VALUE / 2; public static final int MIN = MAX / 2; PRivate static Logger LOG = Logger.getLogger(PushDemo.class); public static void main(String[] args) { JPushClient jpushClient = new JPushClient(Config.JPUSH_MASTER_SECRET, Config.JPUSH_APPKEY, 0, DeviceEnum.IOS, false); for (int i = 0; i < 1; i++) { String notificationContent = "show me your money!"; NotificationParams param = new NotificationParams(); param.setSendNo(getRandomSendNo()); param.setReceiverType(ReceiverTypeEnum.REGISTRATION_ID); param.setReceiverValue("071f06f8c18"); Map<String, Object> extras = new HashMap<String, Object>(); IosExtras iosExtra = new IosExtras(1, "message.wav");// badge // set badge and sound extras.put("ios", iosExtra); MessageResult msgResult = jpushClient.sendNotification( notificationContent, param, extras); if (msgResult.isResultOK()) { LOG.info("msgResult - " + msgResult); LOG.info("messageId - " + msgResult.getMessageId()); } else { if (msgResult.getErrorCode() > 0) { // 业务异常 LOG.warn("Service error - ErrorCode: " + msgResult.getErrorCode() + ", ErrorMessage: " + msgResult.getErrorMessage()); } else { // 未到达 JPush LOG.error("Other excepitons - " + msgResult.responseResult.exceptionString); } } } } /** * 保持 sendNo 的唯一性是有必要的 It is very important to keep sendNo unique. * * @return sendNo */ public static int getRandomSendNo() { return (int) (MIN + Math.random() * (MAX - MIN)); } }

/**

*

*/

package org.haoyi.push;

import java.util.HashMap;

import java.util.Map;

import org.apache.log4j.Logger;

import cn.jpush.api.JPushClient;

import cn.jpush.api.common.DeviceEnum;

import cn.jpush.api.push.IosExtras;

import cn.jpush.api.push.MessageResult;

import cn.jpush.api.push.NotificationParams;

import cn.jpush.api.push.ReceiverTypeEnum;

/**

* @author zfanxu

*

*/

public class PushDemo {

public static final int MAX = Integer.MAX_VALUE / 2;

public static final int MIN = MAX / 2;

private static Logger LOG = Logger.getLogger(PushDemo.class);

public static void main(String[] args) {

JPushClient jpushClient = new JPushClient(Config.JPUSH_MASTER_SECRET,

Config.JPUSH_APPKEY, 0, DeviceEnum.IOS, false);

for (int i = 0; i < 1; i++) {

String notificationContent = "show me your money!";

NotificationParams param = new NotificationParams();

param.setSendNo(getRandomSendNo());

param.setReceiverType(ReceiverTypeEnum.REGISTRATION_ID);

param.setReceiverValue("071f06f8c18");

Map<String, Object> extras = new HashMap<String, Object>();

IosExtras iosExtra = new IosExtras(1, "message.wav");// badge

// set badge and sound

extras.put("ios", iosExtra);

MessageResult msgResult = jpushClient.sendNotification(

notificationContent, param, extras);

if (msgResult.isResultOK()) {

LOG.info("msgResult - " + msgResult);

LOG.info("messageId - " + msgResult.getMessageId());

} else {

if (msgResult.getErrorCode() > 0) {

// 业务异常

LOG.warn("Service error - ErrorCode: "

+ msgResult.getErrorCode() + ", ErrorMessage: "

+ msgResult.getErrorMessage());

} else {

// 未到达 JPush

LOG.error("Other excepitons - "

+ msgResult.responseResult.exceptionString);

}

}

}

}

/**

* 保持 sendNo 的唯一性是有必要的 It is very important to keep sendNo unique.

*

* @return sendNo

*/

public static int getRandomSendNo() {

return (int) (MIN + Math.random() * (MAX - MIN));

}

}

先挖个坑,下班后,再填满!

haoyipushServer.rar

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航