由于自己的app想要一個推送功能,又由于調用系統的方法集成太麻煩,所以想找一個推送的sdk來做。市面上可以實現該功能的sdk有多種,比如極光,信鴿,個推,mobpush(sharesdk他們家的)。于是下面來對比一下:
經過對比得知,在集成上,mobpush更加簡單,也是他們對一貫傳統,像在sharesdk上也是比其他sdk要簡潔很多。看他們對文檔上這樣的。
首先在info.plist里添加2個字段:mobappkey和mobappsecret,對應在mob申請的key。(不用寫初始化方法了)
然后直接復制下面的這句代碼就完成了!!
在- (bool)application:(uiapplication *)application didfinishlaunchingwithoptions:(nsdictionary *)launchoptions中進行推送配置
引入頭文件:
1
|
#import <span style="font-family: 'times new roman'; font-size: 10.5pt; line-height: 1.8em;"><mobpush/mobpush.h></span> |
調用方法:
1
2
3
|
mpushnotificationconfiguration *configuration = [[mpushnotificationconfiguration alloc] init]; configuration.types = mpushauthorizationoptionsbadge | mpushauthorizationoptionssound | mpushauthorizationoptionsalert; [mobpush setupnotification:configuration]; |
appdelegate里的到這里已經結束了。
如果需要獲取到消息的內容,監聽@“mobpushdidreceivemessagenotification”通知既可。
調用
1
|
[[nsnotificationcenter defaultcenter] addobserver:self selector:@selector(didreceivemessage:) name:mobpushdidreceivemessagenotification object:nil]; |
接收監聽
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
- ( void )didreceivemessage:(nsnotification* )notification { mpushmessage *message = notification.object; switch (message.messagetype) { case mpushmessagetypenotification: { [mobpush addlocalnotification:message]; } break ; case mpushmessagetypecustom: { nslog(@ "message:%@" ,message.content); } break ; default : break ; } } |
在sdk大小上,mobpush也是占有比較小的,因為也用了它們的sharesdk,所以它們的公共庫也可以公用了。
在價格上,極光和個推,都是有免費版,有vip服務,我不是vip也就享受不到了。mobpush是完全免費,信鴿沒找到收費點,應該也是免費的,而且mob和信鴿都有技術支持,mob更是號稱有24小時1對1技術支持。(當然我才不信誰24小時了,不過說明他們對服務挺看重的)對于我這種不是太厲害的開發者來說簡直就是福音啊。
在支持的平臺上,無疑極光是支持的最多的,有需要的當然選這個比較好。
綜上,對于我這個只需要ios的app來說,當然是選一個輕量級的,集成簡單的,服務好的。最終我選擇了mobpush。