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. 配置APNS推送机制(苹果官方通知推送配置):首先,需要在苹果开发者网站上创建一个App ID以及关联的SSL证书,有了这个证书,解析服务器才能将找到你的App ID,继而将通知推送到该应用。
- 2. 配置Parse App: 要想在推送通知中使用Parse功能,必须将此项特性设置成开启状态,然后将上面创建好的推送SSL证书上传上去。
- 3. 接入app(创建一个具备推送通知的应用)
代码环节:
- a. 注册设备需要在app delegate的[application:didFinishLaunchingWithOptions:]方法中调用[application registerForRemoteNotificationTypes:]方法,代码如下:
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
...
// Register for push notifications
[application registerForRemoteNotificationTypes:
UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeAlert |
UIRemoteNotificationTypeSound];
...
}
- 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.");
}
}];
}
- 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到项目中。
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)