当前位置: 代码迷 >> Iphone >> 向IPhone终端发送PUSH讯息-续2
  详细解决方案

向IPhone终端发送PUSH讯息-续2

热度:48   发布时间:2016-04-25 06:34:25.0
向IPhone终端发送PUSH消息-续2

代码改进:

?

?

?

?

public static boolean logic(String deviceToken, String message)			throws Exception {		boolean result = false;		if (deviceToken == null || "".equals(deviceToken)) {			logger.info("IPhone终端令牌号为空值,PUSH失败!");			System.out.println("IPhone终端令牌号为空值,PUSH失败!");			return false;		}		/**********发送push时可能会有长度限制,需要注意一下*************/		PushNotificationManager pushManager = null;		try {			List<String> list = new ArrayList<String>();			list.add("斗破苍穹");						PayLoad complexPayLoad = new PayLoad();			PayLoadCustomAlert customAlert = new PayLoadCustomAlert();			customAlert.addActionLocKey("Open App");			customAlert.addLocKey("您订阅的图书《%1$@》已更新,请到书架查看!");			customAlert.addLocArgs(list);						complexPayLoad.addCustomAlert(customAlert);			complexPayLoad.addBadge(1);			complexPayLoad.addSound("default");			complexPayLoad.addCustomDictionary("type", 1);			complexPayLoad.addCustomDictionary("bookID", 123456);						System.out.println(complexPayLoad.toString());						pushManager = PushNotificationManager.getInstance();			pushManager.addDevice("iPhone", deviceToken);						String certificatePassword = "*****";			String host = "gateway.sandbox.push.apple.com";			String port = "2195";			String certificationPath = "K:/***.p12";						pushManager.initializeConnection(host, Integer.parseInt(port),					certificationPath, certificatePassword,					SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);						// 发送PUSH消息			Device client = pushManager.getDevice("iPhone");			pushManager.sendNotification(client, complexPayLoad);						result = true;					} catch (Exception e) {						logger.info("向IPhone终端发送PUSH消息产生异常!");						System.out.println("向IPhone终端发送PUSH消息产生异常!");						e.printStackTrace();		} finally {			if (pushManager != null) {				pushManager.stopConnection();				pushManager.removeDevice("iPhone");			}		}		return result;	}

?

?

?

上面代码中定义的“type”和“bookID”在客户端可以获得。

  相关解决方案