IOS 消息推送原理及实现总结_第1页
IOS 消息推送原理及实现总结_第2页
IOS 消息推送原理及实现总结_第3页
IOS 消息推送原理及实现总结_第4页
IOS 消息推送原理及实现总结_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、IOS消息推送原理及实现总结(续) Provider(JAVA 实现)在IOS消息推送原理及实现总结中讲述了消息推送的原理及实现总结,但并未讲到Provider 服务端及Client App客户端的实现,但我在这里只是简单讲述Provider服务端(JAVA实现) 步骤如下:一、制作Provider服务端所需要的*.p12文件:在IOS消息推送原理及实现总结的图2-8中所展示的密钥、证书,我们并没有使用到 它,那么为什么要展示出来呢,猜猜是为什么?为制作312文件?哈哈,您猜对了, 下面我们就利用它来制作*.p12文件,步骤:(MacBook应用程序3实用工具3钥 匙串访问钥匙串:登录,种类:

2、证书3选择刚刚生成的证书(Apple Development IOS Services:*)3菜单3文件3导出项目3存储为:任意文件名(如:iPush),文件 格式:默认(个人信息交换(.p12)3输入密码以进行导出密码:任意,验证:与密 码同一3输入MACBook登录密码3允许3最终生成。关键步骤如图1-1IO票统察证书1瑞辎显示窗口 帮助新建密谒项新建安全注粹项新建钥匙率新建身份偏好设置导出项目添加钮匙串删除钮匙率“登录、睛饲全部关闭前往那里显示简介锁定钥匙串登录” 锁定所有钮匙串nent IOS Piih Servk-es; 5Z63AA7FAF:dwide Developer Rela

3、dcrs Certification Authority膊L 廊日星期日下午D8国*分Q日秒巾因网尔沆】咨钮匙材登录作为默认*莽类Services: 5Z&3AA7rAF:5Z61AA7FAr 证书V & ApS的 DeliYient IQS Pu5 Servlets! 5Z63AA7FAF!93FJB2VC EQ证书y PushDemoiPhone eveloper:也专闱密我证书用所甫项目L密玛1-1二、编写Client App客户端的关键代码,如下:- (BOOL)application:(UIApplication *)application didFinishLaunchingWit

4、hOptions:(NSDictionary *)launchOptions self.window = UIWindowalloc initWithFrame:UIScreenmainScreen bounds autorelease; self.window.backgroundColor = UIColorwhiteColor;self.windowmakeKeyAndVisible;/消息推送支持的类型UIRemoteNotificationType types =UIRemoteNotificationTypeBadgeUIRemoteNotificationTypeSoundUIR

5、emoteNotificationTypeAlert);/注册消息推送UIApplicationsharedApplication registerForRemoteNotificationTypes:types; returnYES;/获取 DeviceToken 成功(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceTokenNSLog(DeviceToken: %,deviceToken);/这里进行的操作,是将 D

6、evice Token 发送到服务端/注册消息推送失败(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error NSLog(Register Remote Notifications error:%,error localizedDescription);/处理收到的消息推送(void)application:(UIApplication *)application didReceiveRemoteNotification:(N

7、SDictionary *)userInfo NSLog(Receive remote notification : %,userInfo); UIAlertView *alert =UIAlertViewalloc initWithTitle: 温馨提示message: 推送成功!”delegate:nil cancelButtonTitle: ”确定 otherButtonTitles:nil;aler show;aler release;三、编写Provided服务端关键代码,如下:importjavapns.back.PushNotificationManager;importjava

8、pns.back.SSLConnectionHelper;importjavapns.data.Device;importjavapns.data.PayLoad;publicclassMainSend(publicstaticvoid main(String args) throws Exception(try(/从客户端获取的 deviceTokenString deviceToken = 3a20764942e9cb4c4f6249274f12891946bed26131b686b8aa95322faff0ad46; System.out.println(Push Start devic

9、eToken: + deviceToken);/定义消息模式PayLoadpayLoad = newPayLoad();payLoad.addAlert(消息推送测试!);payLoad.addBadge(4);payLoad.addSound(default);/注册 deviceTokenPushNotificationManagerpushManager = PushNotificationManager.getInstance(); pushManager.addDevice(iPhone, deviceToken);/连接 APNSString host ;int port = 21

10、95;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.getDeviciPhone);pushManager.sendNotification(client, payLoad);/停止连接 APNSpushManager.stopConnection();/删除 deviceTokenpushManager.removeDevice(iPhone);System.out.println(Push End);catch (Exception ex)(ex.printStack

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论