`
zfanxu
  • 浏览: 127133 次
  • 性别: 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);

相关推荐

    jpush极光推送java版

    极光推送(JPush)是极光公司推出的一款高效、稳定、易用的移动消息推送服务,它可以帮助开发者向Android、iOS以及Web端的用户实时推送消息,提高用户活跃度与应用黏性。在Java开发环境中,极光推送提供了相应的SDK...

    极光推送服务端(java)所需jar

    极光推送服务端(JPush Server)是针对Java开发者提供的一款服务端SDK,主要用于实现应用程序向用户设备发送消息和通知的功能。极光推送是移动应用开发者首选的推送服务之一,它能够帮助开发者轻松地实现向iOS、...

    jpush(极光推送)远程调用api PHP版

    极光推送(JPush)是一款针对移动应用开发者的服务平台,提供消息推送、统计分析等服务,广泛应用于iOS、Android以及Web等多个平台。本实例主要讲解如何在PHP环境中实现对JPush API的远程调用,特别适合于基于...

    jpush-api-java-client-3.3.3.rar_app 推送_极光推送_网络短信

    极光推送(JPush)是面向移动应用开发者提供的一款高效、稳定的推送服务,它能够帮助开发者实现向Android、iOS以及Web应用的用户实时推送消息。本压缩包"jpush-api-java-client-3.3.3.rar"包含了极光推送的Java...

    springboot-push.zip

    极光推送是一个第三方推送服务平台,支持多种平台,包括Android、iOS等。它提供了丰富的推送功能,如实时推送、定向推送、自定义消息等。在Spring Boot中集成极光推送,需要先在极光推送官网注册并创建应用,获取...

    服务端集成JPush推送通知

    在IT行业中,服务端集成JPush推送通知是一个常见的任务,特别是在构建移动应用时,为了提供实时的用户交互和消息传递,开发者通常会采用第三方推送服务,如JPush(极光推送)。本文将深入探讨如何在服务端集成JPush...

    Android消息推送

    - 除了FCM,还有极光推送(JPush)、个推、信鸽等第三方服务,提供类似功能,有时更适合国内环境。 8. **安全性考虑**: - 保护FCM Token的安全,避免被恶意利用,不要在客户端存储敏感信息。 - 设计合理的消息...

    open-im-server

    - **消息推送**:集成推送服务如Firebase Cloud Messaging或极光推送,实现实时消息推送。 - **权限控制**:提供细粒度的权限设置,如禁言、踢人等。 - **安全机制**:采用端到端加密保障通信安全,防止中间人...

    余票程序-server.zipIOS应用例子源码下载

    开发者可以通过这些代码了解如何设置推送证书,集成第三方库如Firebase Cloud Messaging (FCM) 或极光推送,以及如何在客户端处理接收到的通知。 在学习过程中,我们还可以关注代码的组织结构,了解如何遵循MVC...

    iOS12.1以上在后台或者被杀死无法语音播报的解决方案.docx

    对于即时性和送达率有较高要求的场景,可以使用如极光推送这样的第三方服务。这些服务通常提供了更为细致的推送设置选项,例如可以设置“心跳”交互时间来优化推送效果。 - **操作步骤**: - 在极光推送控制台中...

    PushServerDemo.zip

    【PushServerDemo.zip】是一个包含PushServer Demo的压缩包,主要展示了如何使用JPUSH(极光推送)服务来实现移动应用的消息推送功能。这个Demo通常用于开发者学习和测试JPUSH的集成与使用,以理解其工作原理并将其...

    CIM推送系统-其他

    CIM项目是基于mina或者netty框架下的推送系统,我们平常使用第三方的推送SDK,如极光推送,百度推送,小米推送,以及腾讯信鸽等来支撑自己的移动端的业务,或许有一些用户自己实现即时通讯系统的需求,那么CIM为您...

    网上订餐系统

    6. 推送通知:采用极光推送、个推等服务,实现实时订单通知和状态更新。 7. 大数据与分析:通过收集用户行为数据,进行数据分析,优化推荐算法,提升用户体验。 8. 安全技术:包括SSL加密、防火墙、DDoS防护等,...

Global site tag (gtag.js) - Google Analytics