天天看点

Parse--iOS Push(推送通知)

Parse--iOS Push(推送通知)

Parse--iOS Push(推送通知)

Parse官网:https://parse.com/docs/ios/guide

Parse:不止推送功能,最大的功能是添加后台功能,开发云端应用详情:

(http://www.cocoachina.com/ios/20150721/12668.html)

众所周知,使用推送通知是一个很棒的、给应用添加实时消息通知的方式。这样做的结局是,开发者和用户之间,彼此永远保持着一种令人愉悦的亲密关系。

然而不幸的是,iOS的推送通知并非那么容易驾驭,往往会搞的开发者精疲力尽,灰心丧气,无法持久。现在,救星来了!只要通读本教程,你就能摆脱这些烦恼,成为一名活力四射,精壮(Robust I mean!)的开发者。

作为BaaS的代表,Parse.com提供了非常方便的后台功能,支持非SQL数据支持,Push Notification,Crash report,用户跟踪等等实用功能。

 详情介绍“iOS 推送通知”详解:从创建到设置到运行: http://www.csdn.net/article/2012-02-18/311976

简单介绍:

  1. 1. 配置APNS推送机制(苹果官方通知推送配置):首先,需要在苹果开发者网站上创建一个App ID以及关联的SSL证书,有了这个证书,解析服务器才能将找到你的App ID,继而将通知推送到该应用。
  2. 2. 配置Parse App: 要想在推送通知中使用Parse功能,必须将此项特性设置成开启状态,然后将上面创建好的推送SSL证书上传上去。
  3. 3. 接入app(创建一个具备推送通知的应用)

代码环节:

  1. a. 注册设备需要在app delegate的[application:didFinishLaunchingWithOptions:]方法中调用[application registerForRemoteNotificationTypes:]方法,代码如下:

- (BOOL)application:(UIApplication *)application 

  didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

 { 

     ... 

     // Register for push notifications 

     [application registerForRemoteNotificationTypes:  

                                  UIRemoteNotificationTypeBadge | 

                                  UIRemoteNotificationTypeAlert |              

                                  UIRemoteNotificationTypeSound]; 

     ... 

 } 

  1. b. 一旦成功,以上方法会在app delegate中执行回调方法[application:didRegisterForRemoteNotificationsWithDeviceToken:] 。我们需要实现这个方法,用它来告知Parse我们的设备信息。代码如下:  - (void)application:(UIApplication *)application  

 didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)newDeviceToken 

 { 

     [PFPush storeDeviceToken:newDeviceToken]; // Send parse the device token 

     // Subscribe this user to the broadcast channel, ""  

     [PFPush subscribeToChannelInBackground:@"" block:^(BOOL succeeded, NSError *error) { 

         if (succeeded) { 

             NSLog(@"Successfully subscribed to the broadcast channel."); 

         } else { 

             NSLog(@"Failed to subscribe to the broadcast channel."); 

         } 

     }]; 

  1. c. 广播频道(broadcast channel)用于同时联系到所有用户,所以很多时候开发者可能需要自己创建一些更精准化的频道。一旦推送通知被接受但是应用不在前台,就会被显示在iOS推送中心。反之如果应用刚好处于活动状态,则交于应用去自行处理。具体我们可以在app delegate中实现[application:didReceiveRemoteNotification]方法。一下示例代码只是简单的将这一需求交由Parse去处理,Parse会创建一个模态警报显示推送内容。

 - (void)application:(UIApplication *)application  

 didReceiveRemoteNotification:(NSDictionary *)userInfo { 

     [PFPush handlePush:userInfo]; 

好了,现在开始在你的iOS设备上运行一下,一切顺利的话,就可以看到从用户到推送通知之间的一条模态警报请求许可。  

这和极光推送和个推已经亲加云等的推送配置一样,不同点来了:

发送推送通知:

1. 从Parse website发送

Parse允许你从Parse website发送推送通知,API和SDK均可。找到Parse app,选择Push Notifications标签,你可以在文本框里添加一条消息,然后广播给所以用户。你可以使用Parse web API通过发送一个POST请求来发送推送到任何频道。以下示例是一条广播通知,内容是“Hello World”,使用curl进行发送。

2. 从应用发送

  从应用发送需要开启Parse app中的Client push enabled功能。实现从应用发送推送通知的方式多种多样,你可以在iOS API documentation中找到一切。

// Broadcast "Hello World" 

[PFPush sendPushMessageToChannelInBackground:@"" withMessage:@"Hello World!"]; 

注意:

1.选择要使用的framework:

ParseUI.framework

ParseFacebookUtilsV4.framework

ParseFacebookUtils.framework

ParseCrashReporting.framework

Parse.framework

Bolts.framework

比如,我的项目只需要使用Parse的基本功能,以及Crash Report功能,因此复制Parse.framework和ParseCrashReporting.framework到项目中。

Parse--iOS Push(推送通知)

2. 在AppDelegate.h中:

#import <Parse/Parse.h>

#import <ParseCrashReporting/ParseCrashReporting.h>

2. 现在,对于添加后台功能这件事,你应该已经信心十足了。如何创建一个云端应用,现在已经不是一件高不可攀的事情了。

网络后台支持可以为你的App添加许多崭新的功能:不论是数据同步,社交分享,还是云端存储都可应付自如。作为一名专业的iOS开发者,如何才能为你的App添加服务器端的支持?

学到如何创建一个使用 Parse 后台支持,主要功能为照片分享,包含用户登录、照片上传和照片墙功能。为了使你集中精力在aParse的实现上,本工程预先包含了一部分用户界面,但不包括上传和现在照片的功能。

( 详情:http://www.cocoachina.com/ios/20150721/12668.html)