標籤:des style blog http io color ar os for
第一步熟悉pushnotification以及建立認證,可以通過下面這個網站去熟悉下
http://blog.csdn.net/daydreamingboy/article/details/7977098 (iOS上簡單推播通知(Push Notification)的實現)
第二步,找一個demo學習一下:我在github上面找的一個demo
https://github.com/Turkcell/PushNotification_iOS_sdk
在代碼中要做以下的事情:
#pragma mark --------遠程通知- (void)registerAPNSNotification{ //適配8.0,IF走8.0 if (![[NSUserDefaults standardUserDefaults] boolForKey:kOatosParamsDeviceToken]) { if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) { UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:nil]; [[UIApplication sharedApplication] registerUserNotificationSettings:settings]; }else { [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound]; } }}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{[self registerAPNSNotification];//清除所有本地通知 [application cancelAllLocalNotifications]; application.applicationIconBadgeNumber = 0;}
- (void)applicationWillTerminate:(UIApplication *)application{ if ([[UIApplication sharedApplication] enabledRemoteNotificationTypes] == UIRemoteNotificationTypeNone && !isLogout) { [self registerAPNSNotification]; } // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.}
//註冊遠程通知成功- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{ NSString *token = [NSString stringWithFormat:@"%@", [[[deviceToken description] stringByReplacingOccurrencesOfString:@"<" withString:@""] stringByReplacingOccurrencesOfString:@">" withString:@""]]; DLog(@"deviceToken[%@]", token); [[NSUserDefaults standardUserDefaults] setObject:token forKey:kOatosParamsDeviceToken];}
//註冊遠程通知失敗- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{ NSString *error_str = [NSString stringWithFormat: @"%@", error]; DLog(@"擷取deviceToken失敗[%@]", error_str);}
ios--pushnotification學習與總結(推送機制)