IOS 消息推送 服务端和客户端

我上传的服务器与客户端源码:http://download.csdn.net/detail/robinson_911/8116677


这里讲的比较详细:http://blog.csdn.net/worldmatrix/article/details/7634596

使用Provider向APNS发送Push消息

Provider,将推送信息发送给APNS(苹果推送服务器)的程序。有很多开源的实现,我们使用javapns ( http://code.google.com/p/javapns/ )。
首先,Provider要有目标DeviceToken,这是发送目标,由客户端传给Provider之后存在某处。
安装javapns,需要导入的jar为bcprov-jdk15-146.jar, log4j-1.2.15.jar, JavaPNS_2.3_Alpha_5.jar。
将前面导出的P12文件放在Provider的工程目录下。
Provider向APNS发送消息可以参考javapns中NotificationTest.java。也可以参考如下例子。



import javapns.Push;
import javapns.notification.PushNotificationPayload;

public class PushServer
{
	public static void main(String[] args)
	{
		// 向执行设备发送Push通知的device token。
		// 不同设备的device token应该由iOS应用通过网络发送给服务端程序,
		// 服务端程序应该将这些device token保存在服务器中,
		// 然后通过循环向每个device token发送Push通知即可。
		String deviceToken ="60c70bb185cd50edfaa430abb3700a5449559be6496f7f4aa91abb2d93317c0b";
		try
		{
			// 创建PushNotificationPayload
			PushNotificationPayload payload = new PushNotificationPayload();
			// 设置推送消息体
			payload.addCustomAlertBody("推送通知\n疯狂iOS讲义测试推送通知的示例。\n"
				+ "如有任何技术问题,请登录http:www.crazyit.org!");
			// 设置应用程序图标的小红圈中的数值
			payload.addBadge(2);
			// 设置推送通知的提示声音
			payload.addSound("default");
			// 发送推送通知
			Push.payload(payload, 
				"../aps_developer_identity.p12", // 指定包含证书和私钥的文件
				"fkjava.org", // 设置aps_developer_identity.p12文件的导出密码
				 false, // 是否为产品化阶段
				 deviceToken);
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}


你可能感兴趣的:(IOS 消息推送 服务端和客户端)