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

iOS推送浅谈

时间:2015-06-05 19:43:45      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:

      推送这个功能小伙伴们肯定是经常遇到,对于有些app的推送频次更是感觉够了。但是作为一枚合格的iOS开发攻城狮,这项重要的必备技能还是必须得掌握。下面就个人的经验说说怎么添加推送(这里用的腾讯信鸽平台)。

一、准备推送证书和描述文件

创建证书和描述文件的方法请参考我的博客《iOS真机调试流程》,但具体有点点不同

创建app id的时候,在第二个页面记得勾选下图中红色框框标明的选项,因为咱们要创建的是推送证书

技术分享

创建证书的时候,勾选如下图选项

技术分享

利用终端执行如下命令

   “openssl pkcs12 -in 证书.p12 -out 证书.pem -nodes”

把.p12文件改成pem文件

二、编辑工程(和第三步交叉进行)

进入http://xg.qq.com/xg按照下图操作下载SDK,然后把demo里面的sdk文件拖入工程当中,参考技术文档(http://developer.xg.qq.com/index.php/IOS_SDK)。

如下图,把iOS版本改成7.0(如果默认8.3的话,有些方法就不能调用了)

技术分享

在AppleDelegate.h文件中引入#import "XGPush.h"
#import "XGSetting.h"具体代码如下

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    // 判断版本
    if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
        // 创建---通知页面配置选项
        UIUserNotificationSettings *userSetting = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert) categories:nil];
        
        // 设置---通知页面配置选项
        [[UIApplication sharedApplication] registerUserNotificationSettings:userSetting];
        
        // 注册远程通知
        [[UIApplication sharedApplication] registerForRemoteNotifications];
    }else {
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge];
    }
    

    // 启动信鸽服务
    // 两个参数分别是ACCESS ID 和 ACCESS KEY
    [XGPush startApp:2200122254 appKey:@"ISSZ525PA27N"];
 
    return YES;
}

#pragma mark - 注册失败反馈的消息
- (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{
    NSLog(@"注册远程通知失败");
}

#pragma mark - 注册成功反馈的消息
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
    NSLog(@"注册远程通知成功 Token = %@",deviceToken);
    [XGPush registerDevice:deviceToken];
    NSLog(@"%@",[XGPush registerDevice:deviceToken]);
}

// 当app在后台时,点击通知进入应用程序时执行
// 当app在前台时,直接执行
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
    NSLog(@"推送消息:%@",userInfo);
    
    // 角标清零
    application.applicationIconBadgeNumber = 0;
}

三、利用腾讯信鸽进行推送信息设置(和第二步交叉进行)

进入腾讯信鸽之后进行如下操作,点击应用列表,再点击应用配置技术分享

技术分享

按照下图分别加载开发证书(pem文件)、

技术分享

设备(连上设备,注册成功之后打印设备信息,填上)、技术分享

四、如下图,点击创建通知技术分享

然后按照提示填写信息即可,其中角标数字按照自己需求设置,推送环境勾选开发环境

技术分享

最后,如下图,点击即可查看推送效果

技术分享

 

如果有问题,欢迎私信,谢谢!

 

iOS推送浅谈

标签:

原文地址:http://www.cnblogs.com/aaron-kefan/p/4555298.html

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