ios--pushnotification学习与总结(推送机制)

来源:互联网 发布:阅读mobi的软件 编辑:程序博客网 时间:2024/06/05 08:31

第一步熟悉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);}


0 0
原创粉丝点击