今天試用了極光推送API
用它是因?yàn)椋蠖鄶?shù)人說它的文檔是最全的,但是用過之后,發(fā)現(xiàn)關(guān)于IOS的文檔,還是很不夠,導(dǎo)致走了一點(diǎn)彎路!
特別是服務(wù)端的代碼:https://github.com/jpush/jpush-api-java-client for 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) { // 業(yè)務(wù)異常 LOG.warn("Service error - ErrorCode: " + msgResult.getErrorCode() + ", ErrorMessage: " + msgResult.getErrorMessage()); } else { // 未到達(dá) JPush LOG.error("Other excepitons - " + msgResult.responseResult.exceptionString); }}這是它的推送案例,只有android的,沒有IOS的!
附送ios的代碼:
后來發(fā)現(xiàn)IOS完全不能試用sendCustomMessage這個(gè)方法.
/** * */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) { // 業(yè)務(wù)異常 LOG.warn("Service error - ErrorCode: " + msgResult.getErrorCode() + ", ErrorMessage: " + msgResult.getErrorMessage()); } else { // 未到達(dá) 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)); }}
先挖個(gè)坑,下班后,再填滿!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注