码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2014-11-05 13:08:03      阅读:164      评论:0      收藏:0      [点我收藏+]

标签: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学习与总结(推送机制)

标签:des   style   blog   http   io   color   ar   os   for   

原文地址:http://blog.csdn.net/ldl0602/article/details/40819371

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!