今天试用了极光推送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

String notificationContent =  “show me your money!”;

NotificationParams param =  new NotificationParams();

param.setSendNo(getRandomSendNo());

param.setReceiverType(ReceiverTypeEnum.REGISTRATION_ID);

param.setReceiverValue( “071f06f8c18″);

Map extras =  new HashMap();

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);

}

}

}

}

/**

*

* @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 extras = new HashMap();

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));

}

}

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

java激光推送ios_关于ios极光推送server端注意的地方相关推荐

  1. android极光推送no bit-32,iOS极光推送详解以及碰到问题和解决方式

    前言: 极光推送作为较成熟的推送平台,通过集成基础操作.为客户端以及服务端节省了大量时间来实现推送效果. ​ 就iOS端来说要注意整体流程,首先,iOS端推送时分为两个状态,开发环境与生产环境,每个环 ...

  2. android极光推送判断消息,通过极光推送给Android所有用户发送推送消息

    https://www.cnblogs.com/yueguanguanyun/p/8485381.html 所需jar包,在maven中添加下列依赖: cn.jpush.api jpush-clien ...

  3. .net平台借助第三方推送服务在推送Android消息(极光推送) 转

    分类: .net外部工具接口(3) .net知识精华(29) 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近做的.net项目(Windows Service)需要向Android手机发送推 ...

  4. 极光推送(一)——极光推送的介绍

    在Android应用开发的过程中,可能需要服务器推送消息到Android客户端,对于iOS有其自己的推送服务,而遗憾的是Android系统没有原生的推送服务,但是我们可以借助第三方推送平台来实现服务器 ...

  5. 极光推送:java后台向APP推送消息(android,ios极光推送消息)

    Maven添加依赖 <!--极光推送--><dependency><groupId>cn.jpush.api</groupId><artifact ...

  6. java极光推送ios设置通知标题,iOS 极光推送接受通知和自定义消息及静默推送

    由于配置证书和注册极光应用配置网上已经很多了所以在这里就不在多说了!!! 1.首先我们要先将从极光官网上下载来的最新的sdk中的lib文件夹导入工程中; 顺便添加一些依赖库如下: /**添加依赖库 C ...

  7. 极光推送:后台向APP:android,ios极光推送消息

    1. 添加依赖 //jpushcompile group: 'cn.jpush.api', name: 'jpush-client', version: '3.3.4' 2. 注册极光用户 //APP ...

  8. iOS极光推送到开发环境,但无法推送到生产环境

    在测试iOS Development环境下可以收到极光推送,而在iOS AdHoc环境下收不到极光推送.经查证,需要如下配置: 一.App端(iOS) 在AppDelegate.m的initJPush ...

  9. ios极光推送 App收到推送消息时,修改BadgeNumber,同时点击状态栏消息以后跳到指定的页面和静默推送

    极光推送生产环境测试需要打包为adhot或者用testflight 在收到远程推送的消息的时候,有以下三种情况需要考虑: 1. 程序在后台运行 2. 程序未运行 3. 程序运行在前台 原则上,应用在收 ...

最新文章

  1. 制备pdms膜的方法_光栅式PDMS薄膜在透明窗口的超高发射率
  2. luogu P5292 [HNOI2019]校园旅行
  3. php中this的含义
  4. getReadableDatabase() 和 getWritableDatabase()的区别
  5. 谈谈yii2-gii如何自定义模板
  6. 华侨大学计算机学院2019,华侨大学计算机科学与技术学院2019年非全日制研究生复试成绩(第四批)...
  7. python输入时间限制_用Python计算用户输入时间
  8. mdx格式的词典用什么软件打开_可能是目前PC端最好用的词典——Goldendict
  9. 跨过虚拟化技术浪潮,这家企业快步入局云数据管理​
  10. web开发人员必备的提高开发水平的20个参考手册
  11. Golang Gin实践 连载十六 在图片上绘制文字
  12. 查看dll是32还是64
  13. 液晶接口系列——MIPI(三)DSI时序讲解与实际测试
  14. python自回归_【时间序列】自回归模型
  15. 使用freessl免费证书
  16. 当我想深入遗留代码一探究竟的时候
  17. matlab 冒号,MATLAB冒号符号
  18. 淘宝手淘首页金字塔流量爬升法|运营狗
  19. python中endswith函数什么意思_Python中endswith()函数的基本使用
  20. 贺州旱改水新丰景 国稻种芯·中国水稻节:广西改出乡村振兴

热门文章

  1. Vue计算属性、方法、侦听器
  2. Vue - 去除控制台“你正在开发模式下运行Vue”的警告
  3. Navicat for MySQL连接MySQL数据库时各种错误解决
  4. html asp 日历_全球第一本《2021世界艺术日历》,正式发售!
  5. 2021浙江高考宁波四中成绩查询,2021浙江高考成绩查询时间公布 几号能查分
  6. java管理员登录_idea实现管理员登录javaweb
  7. Qt场景中图形项的删除
  8. mysql 半同步 主主_MySQL主从,半同步,主主复制
  9. java程序流程控制_java程序流程控制
  10. 吃下去的东西老是往上翻上来_食管裂孔疝的这个诱因你知道吗?医生:不要再吃过烫的食物...