你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> ios--pushnotification學習與總結(推送機制)

ios--pushnotification學習與總結(推送機制)

編輯:IOS開發綜合

 

第二步,找一個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);
}


 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved