首页 > 代码库 > iOS 极光推送

iOS 极光推送

1.注册极光推送开发者账号

https://www.jpush.cn

2.登陆极光网站--创建应用

3.上传推送的开发证书和产品证书

  注:上传p12证书,所以上传前要把cer证书转成p12证书,也就是交换证书

  创建好应用后,记录下APP_KEY

4.在项目中集成极光推送

  下载极光推送SDK

  https://www.jpush.cn/common/products#product-sdk

  技术分享  

  注:服务器端开发需要下载对应的SDK

5.必要的框架

  • CFNetwork.framework
  • CoreFoundation.framework
  • CoreTelephony.framework
  • SystemConfiguration.framework
  • CoreGraphics.framework
  • Foundation.framework
  • UIKit.framework
  • Security.framework
  • libz.dylib

6.创建并配置PushConfig.plist文件

技术分享

  • CHANNEL:Publish channel 代表发布版本
  • APP_KEY:填步骤3.1获得的APP_KEY. 极光官网的应用管理中心也是可以查到的
  • APS_FOR_PRODUCTION:
    • 1.3.1版本新增,表示应用是否采用生产证书发布( Ad_Hoc 或 APP Store ),0 (默认值)表示采用的是开发者证书,1 表示采用生产证书发布应用。
    • 此处设置的值建议按对应证书来设置值。
    • 在1.2.2或之前版本的配置文件中,有 TEST_MODE 这个键,新版的SDK不再使用,可以将它删除。

 

7.添加代码到项目

 1     - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 2 { 3     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 4     self.window.backgroundColor = [UIColor whiteColor]; 5     [self.window makeKeyAndVisible]; 6  7     // Required 8 #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1 9    if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {10     //可以添加自定义categories11     [APService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |12                                                    UIUserNotificationTypeSound |13                                                    UIUserNotificationTypeAlert)14                                        categories:nil];15   } else {16     //categories 必须为nil17     [APService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |18                                                    UIRemoteNotificationTypeSound |19                                                    UIRemoteNotificationTypeAlert)20                                        categories:nil];21   }22 #else23     //categories 必须为nil24   [APService registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |25                                                  UIRemoteNotificationTypeSound |26                                                  UIRemoteNotificationTypeAlert)27                                      categories:nil];28 #endif29     // Required30     [APService setupWithOption:launchOptions];31 32     return YES;33 }34 35 - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {36 37     // Required38     [APService registerDeviceToken:deviceToken];39 }40 41 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {42 43     // Required44     [APService handleRemoteNotification:userInfo];45 }46 47 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {48 49 50   // IOS 7 Support Required51   [APService handleRemoteNotification:userInfo];52   completionHandler(UIBackgroundFetchResultNewData);53 }

8.在极光官网--发送通知

  8.1设置推送消息

  8.2设置推送对象,一般勾选全部

9.极光还有统计功能

iOS 极光推送