稍稍研究了一下極光推送,其實是非常簡單的,不過這個過程也出現了一些問題。
對於應用在前台時,需要額外處理一下。
關於極光推送,由於在ios8之後,有了新的api,因此極光也給我們提供了適配的api。
下面我就把對極光推送相關api的封裝提取出來,希望對大家有幫助,同時也當是總結。
下面是對極光推送而封裝的乙個工具類:
[objc]view plain
copy
?//// hybjpushhelper.h
// jpushdemo
//// created by 黃儀標 on 14/11/20.
//#import
#import
/*!* @brief 極光推送相關api封裝
* @author huangyibiao
*/@inte***ce
hybjpushhelper : nsobject
// 在應用啟動的時候呼叫
+ (void
)setupwithoptions:(
nsdictionary
*)launchoptions;
+ (void
)registerdevicetoken:(
nsdata
*)devicetoken;
// ios7以後,才有completion,否則傳nil
+ (void
)handleremotenotification:(
nsdictionary
*)userinfo
completion
:(void
(^)(uibackgroundfetchresult))completion;
// 顯示本地通知在最前面
+ (void
)showlocalnotificationatfront:(
uilocalnotification
*)notification;
@end
[objc]view plain
copy
?//// hybjpushhelper.m
// jpushdemo
//// created by 黃儀標 on 14/11/20.
//#import "hybjpushhelper.h"
#import "apservice.h"
@implementation
hybjpushhelper
+ (void
)setupwithoptions:(
nsdictionary
*)launchoptions else
#else
// categories 必須為nil
[apserviceregisterforremotenotificationtypes
:(uiremotenotificationtypebadge |
uiremotenotificationtypesound |
uiremotenotificationtypealert)
categories
:nil
];
#endif
// required
[apservicesetupwithoption
:launchoptions];
return
; }
+ (void
)registerdevicetoken:(
nsdata
*)devicetoken
+ (void
)handleremotenotification:(
nsdictionary
*)userinfo
completion
:(void
(^)(uibackgroundfetchresult))completion
return
; }
+ (void
)showlocalnotificationatfront:(
uilocalnotification
*)notification
@end
下面就是測試乙個推送功能了:
[objc]view plain
copy
?//// jpushdemo
//// created by 黃儀標 on 14/11/20.
//#import "jpushhelper/hybjpushhelper.h"
@inte***ce
@end
@implementation
- (bool
didfinishlaunchingwithoptions
:(nsdictionary
*)launchoptions
- (void
didregisterforremotenotificationswithdevicetoken
:(nsdata
*)devicetoken
- (void
didreceiveremotenotification
:(nsdictionary
*)userinfo
#if __iphone_os_version_max_allowed >= __iphone_7_0
// ios7.0以後才有此功能
- (void
:(nsdictionary
*)userinfo fetchcompletionhandler
:(void
(^)(uibackgroundfetchresult))completionhandler
return
; }
#endif
- (void
didreceivelocalnotification
:(uilocalnotification
*)notification
- (void
didfailtoregisterforremotenotificationswitherror
:(nserror
*)err
- (void:0
];
return
; }
@end
真機執行,然後到官網去發乙個通知,就可以收到了!
good luck!
iOS極光推送整合
稍稍研究了一下極光推送,其實是非常簡單的,不過這個過程也出現了一些問題。對於應用在前台時,需要額外處理一下。關於極光推送,由於在ios8之後,有了新的api,因此極光也給我們提供了適配的api。下面我就把對極光推送相關api的封裝提取出來,希望對大家有幫助,同時也當是總結。下面是對極光推送而封裝的乙...
極光推送整合
許可權 新增依賴 android manifestplaceholders jpush channel developer default 暫時填寫預設值即可.dependencies新建乙個類繼承jcommonservice 新建乙個類繼承jpushmessagereceiver 在 projec...
ios極光推送
ios 極光推送整合 分類 ios開發筆記 2014 11 20 13 49 2324人閱讀收藏 舉報jpush 極光推送 jpushdemo 極光推送整合 jpush整合 稍稍研究了一下極光推送,其實是非常簡單的,不過這個過程也出現了一些問題。對於應用在前台時,需要額外處理一下。關於極光推送,由於...