iOS远程推送之使用极光推送

1极光的主要作用就是替公司的服务器管理用户的deviceToken,当公司需要推送消息的时候,公司后台服务器将极光管理的devicetoken和需要推送的内容发送给苹果后台服务器;
2https://www.jpush.cn,极光的官方网站,注册用户,新建应用(新建应用的时候需要两个p12文件),下载极光SDK
3两个p12文件的生成步骤
上一篇文章中生成了一个开发的push证书,一个生产的push证书,并且分别被添加到了钥匙串中,打开钥匙串,找到两个证书,右击导出,文件格式选择“个人信息交换(p12)”
4将第一步下载下来的SDK中的lib拖入到工程中,选择工程,选择Build Phases ,选择Link Binary With Libraries 将如下框架加入“CFNetwork.framework”
“CoreFoundation.framework”
“CoreTelephony.framework”
“SystemConfiguration.framework”
“CoreGraphics.framework”
“Foundation.framework”
“UIKit.framework”
“Security.framework”
“libz.dylib”其中
5在工程中新建一个plist文件,command + N —>iOS Resource —>Property List(*切记plist文件名必须是PushConfig.plist*),plist文件中创建三个键值对

“APS_FOR_PRODUCTION” = “0”;
“CHANNEL” = “Publish channel”;
“APP_KEY” = “**”;(对应的值为第一步创建应用后生成的APPKey)
iOS远程推送之使用极光推送_第1张图片
6在Appdelegate.m中引入APService.h将下列方法中的代码对应写入相应的方法

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];

// Required

if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
//可以添加自定义categories
[APService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
UIUserNotificationTypeSound |
UIUserNotificationTypeAlert)
categories:nil];
} else {
//categories 必须为nil
[APService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |
UIRemoteNotificationTypeAlert)
categories:nil];
}

// Required
[APService setupWithOption:launchOptions];

return YES;

}

  • (void)application:(UIApplication )application didRegisterForRemoteNotificationsWithDeviceToken:(NSData )deviceToken {

    // Required
    [APService registerDeviceToken:deviceToken];
    }

  • (void)application:(UIApplication )application didReceiveRemoteNotification:(NSDictionary )userInfo {

    // Required
    [APService handleRemoteNotification:userInfo];
    }

  • (void)application:(UIApplication )application didReceiveRemoteNotification:(NSDictionary )userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

    // IOS 7 Support Required
    [APService handleRemoteNotification:userInfo];
    completionHandler(UIBackgroundFetchResultNewData);
    }
    6上极光官方网站,选第一步创建的应用,点击推送,发送通知,将要推送的内容输入“推送内容”的文本框中,如果自己调试的话,推送对象选择iOS开发环境,如果是推送给客户选择iOS生产环境然后发送,
    7完成!

你可能感兴趣的:(极光-推送)