天天看點

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)