極光推送總結
1-證書申請
證書指南官方連結
http://docs.jiguang.cn/jpush/client/iOS/ios_cer_guide/
2-工程配置
匯入SDK
將SDK包解壓,在Xcode中選擇“Add files to 'Your project name'...”,將解壓後的lib子資料夾(包含JPUSHService.h、jpush-ios-x.x.x.a)新增到你的工程目錄中。
新增Framework
CFNetwork.framework
CoreFoundation.framework
CoreTelephony.framework
SystemConfiguration.framework
CoreGraphics.framework
Foundation.framework
UIKit.framework
Security.framework
Xcode7需要的是libz.tbd;Xcode7以下版本是libz.dylib
Adsupport.framework (獲取IDFA需要;如果不使用IDFA,請不要新增)
UserNotifications.framework(Xcode8及以上)
Build Settings
如果你的工程需要支援小於7.0的iOS系統,請到Build Settings 關閉 bitCode 選項,否則將無法正常編譯通過。
設定 Search Paths 下的 User Header Search Paths 和 Library Search Paths,比如SDK資料夾(預設為lib)與工程檔案在同一級目錄下,則都設定為"$(SRCROOT)/{靜態庫所在資料夾名稱}"即可。
Capabilities
如使用Xcode8及以上環境開發,請開啟Application Target的Capabilities->Push Notifications選項,如圖:
允許Xcode7支援Http傳輸方法
如果您使用的是2.1.9以後的版本則不需要配置此步驟如果用的是Xcode7或更新版本,需要在App專案的plist手動配置下key和值以支援http傳輸:
選擇1:根據域名配置
在專案的info.plist中新增一個Key:NSAppTransportSecurity,型別為字典型別。
然後給它新增一個NSExceptionDomains,型別為字典型別;
把需要的支援的域新增給NSExceptionDomains。其中jpush.cn作為Key,型別為字典型別。
每個域下面需要設定2個屬性:NSIncludesSubdomains、NSExceptionAllowsInsecureHTTPLoads。兩個屬性均為Boolean型別,值分別為YES、YES。
選擇2:全域性配置
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
初始化程式碼
在AppDelegate.m中匯入#import "JPUSHService.h"
在以下方法中新增程式碼:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
#pragma mark --鐳射推送--
// NSString *advertisingId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
//Required
if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
//可以新增自定義categories
[JPUSHService registerForRemoteNotificationTypes:(UIUserNotificationTypeBadge |
UIUserNotificationTypeSound |
UIUserNotificationTypeAlert) categories:nil];
}else {
//categories 必須為nil
[JPUSHService registerForRemoteNotificationTypes:(
UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound |
UIRemoteNotificationTypeAlert) categories:nil];
}
//Required
// 如需繼續使用pushConfig.plist檔案宣告appKey等配置內容,
請依舊使用[JPUSHService setupWithOption:launchOptions]方式初始化。
[JPUSHService setupWithOption:launchOptions appKey:@"appKey"
channel:nil
apsForProduction:FALSE // FALSE開發環境下的測試,YES為生產環境下的測試
advertisingIdentifier:nil];
}
// 請在AppDelegate.m實現該回撥方法並新增回撥方法中的程式碼
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
/// Required - 註冊 DeviceToken
[JPUSHService registerDeviceToken:deviceToken];
}
通知
此時可前往極光控制檯傳送推送訊息
自定義訊息
如果需要應用接收自定義訊息,我們需要新增一個觀察者。
(自定義訊息是長連線需要應用在前臺,如果應用在後臺會儲存為離線)
在以下方法中新增觀察者
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
NSNotificationCenter *defaultCenter = [NSNotificationCenter defaultCenter];
[defaultCenter addObserver:self
selector:@selector(networkDidReceiveMessage:)
name:kJPFNetworkDidReceiveMessageNotification
object:nil];
}
實現回撥
- (void)networkDidReceiveMessage:(NSNotification *)notification {
NSLog(@"did receive messagr %@",notification);
}
列印結果
自定義訊息可以新增多個欄位,新增完成後點選立即傳送
列印結果
如有疑問檢視官方教程
JPush iOS SDK 教程
連結: http://docs.jpush.io/client/ios_tutorials/
相關文章
- iOS —— 極光推送和極光IMiOS
- iOS-極光推送開發小結iOS
- 極光推送-java工具類Java
- 極光推送—java快速接入Java
- 極光推送證書篇
- iOS極光推送封裝iOS封裝
- Flutter應用整合極光推送Flutter
- 在 Laravel 中使用 極光推送Laravel
- 極光推送 tag alias 設定
- Swift3.0整合極光推送Swift
- Laravel 極光推送驅動,使用極光不再那麼麻煩!Laravel
- APP訊息推送 極光推送 示例程式碼APP
- 極光筆記|極光推送在APICloud平臺的使用教程筆記APICloud
- iOS 極光推送整合與開發iOS
- iOS 極光推送遇到的問題iOS
- 極光筆記丨iOS 15推送新特性筆記iOS
- Android開發之極光推送的整合Android
- 極光推送-服務端端智慧人社訊息推送方式服務端
- 極光推送申請iOS推送證書p12及配置教程iOS
- 極光推送申請iOS推送證書p12及配置流程iOS
- [外掛擴充套件]APP極光推送外掛!套件APP
- iOS_極光推送的UNNotificationServiceExtension實現富文字iOS
- JPush極光推送Java伺服器端例項Java伺服器
- 快捷地整合極光推送(JPush)到 Laravel 專案中Laravel
- php 第三方 極光推送domo(Android版)PHPAndroid
- 在ionic專案中使用極光推送實現推送 & 伺服器端程式碼伺服器
- 使用極光推送實現分組傳送和服務端整合服務端
- 極光推送demo在android studio中無法執行Android
- iOS .a庫打包成.framework(將極光推送的.a庫打包進framework)iOSFramework
- 適配 iOS 10,極光推送使用者要做這 6 處更改iOS
- ios 極光推送獲取當前控制器進行介面跳轉iOS
- Swift - JPush極光推送的使用4(根據Tag標籤,給同一類別使用者發推送)Swift
- 極光筆記 | 極光服務的信創改造實踐筆記
- 多包名打包以及整合“極光推送”的坑點(區別於“多渠道打包”)
- 極光筆記丨Spark SQL 在極光的建設實踐筆記SparkSQL
- ElasticSearch極簡入門總結Elasticsearch
- 二極體相關總結
- 極光筆記 | 極光PUSH服務助力企業提升搶單速度筆記