`
zfanxu
  • 浏览: 125912 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

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

阅读更多

今天试用了极光推送API

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

特别是服务端的代码: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) {
        // 业务异常
        LOG.warn("Service error - ErrorCode: "
                + msgResult.getErrorCode() + ", ErrorMessage: "
                + msgResult.getErrorMessage());
    } else {
        // 未到达 JPush 
        LOG.error("Other excepitons - "
                + msgResult.responseResult.exceptionString);
    }
}

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

 

附送ios的代码:

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

 

/**
 * 
 */
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));
	}
}

 

 

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

 

分享到:
评论
1 楼 f284597916 2014-11-25  
楼主,你用的比较老的版本了,现在的版本是有区分平台的进行消息发送的。


jpushClient.sendAndroidMessageWithAlias(title, msgContent, alias);

jpushClient.sendAndroidMessageWithRegistrationID(title, msgContent, registrationID);

jpushClient.sendIosMessageWithAlias(title, msgContent, alias);

jpushClient.sendIosMessageWithRegistrationID(title, msgContent, registrationID);

jpushClient.sendMessageAll(msgContent);

jpushClient.sendMessageWithRegistrationID(title, msgContent, registrationID);

相关推荐

    ios原生集成极光推送

    ios原生集成极光推送,sdk已集成,只需要自己配置证书,profile,即可在xcode当中运行

    java接入极光推送demo

    极光推送使用java后台接入demo,推送会通知到Android和Ios的手机通知栏

    ios-极光推送.zip

    请下载官方SDK,导入Lib,申请远程推送证书,在极光后台配置相关信息即可,更多优秀Demo请访问github:https://github.com/mengzhihun6

    2017.8 iOS最新版本极光推送demo

    2017.8月通过pod集成极光推送 可以惊醒全推,根据别名推送,根据标签推送,在run本demo时将自己的key替换即可,其他配置均已配置好,在设置别名或标签时可以放在任意界面,为了方便简单我将设置别名和标签放在了...

    ios推送php服务器端

    用php实现ios推送效果的服务器端,简单快捷的实现推送

    关于IOS_APNS推送消息(iphone端+服务端)

    关于IOS_APNS推送消息(iphone端+服务端)。关于IOS_APNS推送消息(iphone端+服务端)。

    极光推送工具类

    极光推送工具类,包含java端向IOS和android推送设置工具类demo。

    极光推送IOS-SDK-1.8.2

    极光推送IOS-SDK-1.8.2,支持armv7,armv7s,arm64版本

    ASP.NET实现IOS推送服务器端代码

    ASP.NET实现IOS推送服务器端代码

    ios-极光推送实现页面跳转.zip

    极光推送实现页面跳转

    极光推送样例代码,里面有详细的注释

    极光推送,英文简称 JPush,是一个面向普通开发者开放的,免费的第三方消息推送服务。开发者只需在客户端集成极光推送 SDK,即可轻松地添加 Push功能到他的 App中。目前支持 Android 与 iOS。开发者可以在管理Portal...

    极光推送SDK For android

    极光推送SDK For android 极光推送平台,使得你可以即时向安装你的应用程序的用户推送通知或者消息,与用户保持互动,从而有效提高留存率,提升用户体验。支持 Android推送、iOS推送。

    极光推送---【客户端】、【服务器端】源码.zip

    极光推送,使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验。平台提供整合了Android推送、iOS推送的统一推送服务。

    Python-极光推送官方支持的Python版本服务器端SDK

    极光推送,使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验。平台提供整合了Android推送、iOS推送的统一推送服务。

    JPush极光推送(开发者推送通知和消息应用)V2.1.5安卓版

    极光推送,使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验。平台提供整合了Android推送、iOS推送的统一推送服务。 产品特点 多种推送方式 Push ...

    ios消息推送源码(含php服务端源码)

    ios消息推送源码,包括php服务端,做apns的朋友可以直接使用。xcode6.1 做的一个demo

    极光推送集成Android Demo

    极光推送(JPush)是一个端到端的推送服务,使得服务器端消息能够及时地推送到终端用户手机上,让开发者积极地保持与用户的连接,从而提高用户活跃度、提高应用的留存率。极光推送客户端支持 Android,iOS 两个平台...

    自己集成的极光推送内容

    今天新做了一个项目,以前推送的时候用过百度云推送,发现百度云推送到达的太慢,然后使用的是个推进行推送的,发现还是可以吧,然后最近一个项目做IOS的哥们说他集成过极光的,但是集成个推的不太会,好吧,既然都...

    iOS 消息推送(iOS 工程源码)

    iOS 消息推送(iOS 工程源码),简单的实现了iOS的消息推送功能。

Global site tag (gtag.js) - Google Analytics