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)
這裏寫圖片描述
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完成!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章