iOS8 Push Notifications

來源:互聯網
上載者:User

標籤:blog   http   io   ar   os   for   sp   div   on   

 本文轉載至 http://blog.csdn.net/pjk1129/article/details/39551887 

原貼地址:https://parse.com/tutorials/ios-push-notifications

github地址:https://github.com/ParsePlatform/PushTutorial

 

iOS Push通知已經廣泛應用於實際開發中,iOS8與之前註冊push有所不同,這裡把如何潛入代碼貼一下,以作記錄,詳情請看上面地址連結

 

 

Adding Code for a Push Enabled iOS Application

We are now ready to start programming. We need to make a few modification to the app delegate in order to receive push notifications.

To register the current device for push, call the method[application registerForRemoteNotifications] in the app delegate‘s-application:didFinishLaunchingWithOptions: method.

- (BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  ...

  // Register for Push Notitications, if running iOS 8

  if ([applicationrespondsToSelector:@selector(registerUserNotificationSettings:)]) {

    UIUserNotificationType userNotificationTypes = (UIUserNotificationTypeAlert |

                                                    UIUserNotificationTypeBadge |

                                                    UIUserNotificationTypeSound);

    UIUserNotificationSettings *settings = [UIUserNotificationSettingssettingsForTypes:userNotificationTypes

                                                                            categories:nil];

    [application registerUserNotificationSettings:settings];

    [application registerForRemoteNotifications];

  } else {

    // Register for Push Notifications before iOS 8

    [application registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |

                                                     UIRemoteNotificationTypeAlert |

                                                     UIRemoteNotificationTypeSound)];

  }

  ...

}

If the registration is successful, the callback method-application:didRegisterForRemoteNotificationsWithDeviceToken: in the application delegate will be executed. We will need to implement this method and use it to inform Parse about this new device.

- (void)application:(UIApplication *)applicationdidRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken {

  // Store the deviceToken in the current installation and save it to Parse.

  PFInstallation *currentInstallation = [PFInstallationcurrentInstallation];

  [currentInstallation setDeviceTokenFromData:deviceToken];

  currentInstallation.channels = @[@"global" ];

  [currentInstallation saveInBackground];

}

When a push notification is received while the application is not in the foreground, it is displayed in the iOS Notification Center. However, if the notification is received while the app is active, it is up to the app to handle it. To do so, we can implement the [application:didReceiveRemoteNotification] method in the app delegate. In our case, we will simply ask Parse to handle it for us. Parse will create a modal alert and display the push notification‘s content.

- (void)application:(UIApplication *)applicationdidReceiveRemoteNotification:(NSDictionary *)userInfo {

  [PFPush handlePush:userInfo];

}

You should now run your application (on your iOS device) to make sure everything is set up correctly. If it is, the first time you run this app you should see a modal alert requesting permission from the user to send push notifications.

 

iOS8 Push Notifications

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.