iOS推送SDK集成详细对比

时间:2022-09-09 13:49:53

由于自己的app想要一个推送功能,又由于调用系统的方法集成太麻烦,所以想找一个推送的sdk来做。市面上可以实现该功能的sdk有多种,比如极光,信鸽,个推,mobpush(sharesdk他们家的)。于是下面来对比一下:

iOS推送SDK集成详细对比

经过对比得知,在集成上,mobpush更加简单,也是他们对一贯传统,像在sharesdk上也是比其他sdk要简洁很多。看他们对文档上这样的。

首先在info.plist里添加2个字段:mobappkey和mobappsecret,对应在mob申请的key。(不用写初始化方法了)

iOS推送SDK集成详细对比

然后直接复制下面的这句代码就完成了!!

在- (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。