Provider(JAVA实现)

2012-3-13 雨辰 Java

编写Provider服务端关键代码,如下:

 

importjavapns.back.PushNotificationManager;  
    
importjavapns.back.SSLConnectionHelper;  
    
importjavapns.data.Device;  
    
importjavapns.data.PayLoad;  
    
publicclassMainSend   
    
{  
    
publicstaticvoidmain(String[] args) throwsException   
    
{  
    
try
    
{  
    
//从客户端获取的deviceToken  
    
String deviceToken = "3a20764942e9cb4c4f6249274f12891946bed26131b686b8aa95322faff0ad46";  
    
System.out.println("Push Start deviceToken:" + deviceToken);  
    
//定义消息模式  
    
PayLoad payLoad = newPayLoad();  
    
payLoad.addAlert("消息推送测试!");  
    
payLoad.addBadge(4);  
    
payLoad.addSound("default");  
    
//注册deviceToken  
    
PushNotificationManager pushManager = PushNotificationManager.getInstance();  
    
pushManager.addDevice("iPhone", deviceToken);  
    
//连接APNS  
    
String host = "gateway.sandbox.push.apple.com";  
    
intport = 2195;  
    
String path = "/Users/iMilo/Work.localized/iShop/project/service/iPush/";  
    
String certificatePath = (path + "src/ipush/iPush.p12");  
    
//certificatePath 步骤一中生成的*.p12文件位置  
    
String certificatePassword = "Love24mm";  
    
pushManager.initializeConnection(host, port, certificatePath, certificatePassword, SSLConnectionHelper.KEYSTORE_TYPE_PKCS12);  
    
//发送推送  
    
Device client = pushManager.getDevice("iPhone");  
    
pushManager.sendNotification(client, payLoad);  
    
//停止连接APNS  
    
pushManager.stopConnection();  
    
//删除deviceToken  
    
pushManager.removeDevice("iPhone");  
    
System.out.println("Push End");  
    
}  
    
catch(Exception ex)  
    
{  
    
ex.printStackTrace();  
    
}  
    
}  
    
}

注意:如果Provider服务端为Objective-C实现的话,就不需要*.p12证书。下面给出网上的相应demo地址:

Provider服务端(JAVA实现):apns_iphone.zip

Provider服务端(Objective-C实现):PushMeBabySource.zip

标签: 游戏业务架构设计 网络通信协议

发表评论:

雨辰 joyimp|@2011-2018 京ICP备16030765号