本地推送和远程推送的简单介绍
2014-05-24 20:15
369 查看
消息的推送主要有两种:
一种是本地推送,主要应用在系统的工具中,例如:闹钟,生日提醒等;
实现本地推送需要以下三个步骤:
第一步:实例化一个本地推送对象
以上几步就可以实现简单的本地消息推送,对于推送对象的其他属性可以自己设置查看效果。
另一种是远程消息推送,主要应用联网设备的信息推送,例如:邮件,各种软件的广告或优惠信息的推送。
(但是对于即时性的通讯软件一般不使用,这种远程推送机制,例如:QQ,微信。这是因为对于远程推送并不能保证消息能够及时的到达接受设备)
远程推送比较复杂,需要使用开发者账号进行申请证书,获得实现推送功能的配置文件,所以想要实现远程推送功能,必须要有开发者账号并且生成配置文件,当然这不是我要说的重点,重点是如何进行远程推送。
远程推送的流程如下图:
第一步:完成证书的申请和Xcode的配置
第二步:在Demo中注册远程服务对象,并设置其代理
对于其它的代理方法可以自己实现。
第三步:找一个简单的App服务器进行消息推送(推荐使用:PushMeBaby,gitup网站上就有)
运行PushMeBaby
对于消息推送的两种方式,以上只是简单的介绍,如果有不对的地方,还请各位谅解并指出。
一种是本地推送,主要应用在系统的工具中,例如:闹钟,生日提醒等;
实现本地推送需要以下三个步骤:
第一步:实例化一个本地推送对象
UILocalNotification *localNotification = [[UILocalNotification alloc]init];第二步:设置通知对象的各个属性
// 设置角标 localNotification.applicationIconBadgeNumber = 5 ; // 设置合适的时间推送消息 localNotification.fireDate = [[NSDate date]dateByAddingTimeInterval:3]; // 设置时区,一般设为默认时区 localNotification.timeZone = [NSTimeZone defaultTimeZone]; // 设置重复机制 localNotification.repeatInterval = kCFCalendarUnitMinute ; // 推送的消息文本 localNotification.alertBody = @"Hello Word";第三步:添加本地推送对象
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
以上几步就可以实现简单的本地消息推送,对于推送对象的其他属性可以自己设置查看效果。
另一种是远程消息推送,主要应用联网设备的信息推送,例如:邮件,各种软件的广告或优惠信息的推送。
(但是对于即时性的通讯软件一般不使用,这种远程推送机制,例如:QQ,微信。这是因为对于远程推送并不能保证消息能够及时的到达接受设备)
远程推送比较复杂,需要使用开发者账号进行申请证书,获得实现推送功能的配置文件,所以想要实现远程推送功能,必须要有开发者账号并且生成配置文件,当然这不是我要说的重点,重点是如何进行远程推送。
远程推送的流程如下图:
第一步:完成证书的申请和Xcode的配置
第二步:在Demo中注册远程服务对象,并设置其代理
// 注册远程推送,设置提示方式Alert:文本,Badge:角标,Sound:声音 [application registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound ];代理方法:
//注册失败时的代理实现 - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error { NSLog(@"Error:%@",error); } //获得40位的令牌,在推送时需要使用 - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { NSLog(@"DeviceToken :%@",deviceToken); }
对于其它的代理方法可以自己实现。
第三步:找一个简单的App服务器进行消息推送(推荐使用:PushMeBaby,gitup网站上就有)
运行PushMeBaby
- (id)init { self = [super init]; if(self != nil) { // 添加从上述代理中得到的40位令牌 self.deviceToken = @"9b0240ff a373491e 68fca44c 4d326589 de3ddde2 43599853 9cc72b68 af8f5cce"; // 添加推送的信息,注意格式 self.payload = @"{\"aps\":{\"alert\":\"河南青云信息技术有限公司.\", \"sound\" : \"bingbong.aiff\",\"badge\":10000}}"; // 添加得到的推送证书 self.certificate = [[NSBundle mainBundle] pathForResource:@"aps_development" ofType:@"cer"]; } return self; }上述步骤就可以实现远程消息推送。
对于消息推送的两种方式,以上只是简单的介绍,如果有不对的地方,还请各位谅解并指出。
相关文章推荐
- rsync 简单使用 非默认ssh端口 分别从远程获取及推送本地的文件到远程
- iOS中 远程推送简单介绍
- Atlas学习手记(8):调用本地Web Service简单介绍
- Atlas学习手记(8):调用本地Web Service简单介绍(转摘)
- IOS本地,APNS远程推送(具体过程)
- git 查看远程分支、本地分支、创建分支、推送分支到远程repository、获取远程分支、删除本地、远程分支
- 简单介绍使用 ssh 连接远程服务器运行图形界面程序
- 绿色和本地线程简单介绍
- [iOS 高级] iOS远程推送与本地推送大致流程
- git fetch 的简单用法:更新远程代码到本地仓库
- git fetch 的简单用法:更新远程代码到本地仓库
- iOS8 远程推送/用户推送/本地推送/地理位置推送
- Atlas学习手记(8):调用本地Web Service简单介绍(转摘)
- git fetch 的简单用法:更新远程代码到本地仓库
- 本地登录切断远程连接的简单方法
- IOS本地,APNS远程推送(具体过程)
- Atlas学习手记(8):调用本地Web Service简单介绍
- Windows远程登录时共享本地硬盘的方法介绍
- git fetch 的简单用法:更新远程代码到本地仓库
- git fetch 的简单用法:更新远程代码到本地仓库