大家好,又见面了,我是全栈君。
由于自己的app想要一个推送功能,又由于调用系统的方法集成太麻烦,所以想找一个推送的SDK来做。市面上可以实现该功能的SDK有多种,比如极光,信鸽,个推,MobPush(ShareSDK他们家的)。 经过对比得知,
代码语言:javascript复制 在集成上,MobPush更加简单,也是他们对一贯传统,像在ShareSDK上也是比其他SDK要简洁很多。看他们对文档上这样的。
首先在info.plist里添加2个字段:MOBAppKey和MOBAppSecret,对应在mob申请的key。(不用写初始化方法了) 然后直接复制下面的这句代码就完成了!! 在- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions中进行推送配置
引入头文件:
代码语言:javascript复制 #import <MobPush/MobPush.h>
调用方法:
代码语言:javascript复制 MPushNotificationConfiguration *configuration = [[MPushNotificationConfiguration alloc] init];
configuration.types = MPushAuthorizationOptionsBadge | MPushAuthorizationOptionsSound | MPushAuthorizationOptionsAlert;
[MobPush setupNotification:configuration];
appdelegate里的到这里已经结束了。
如果需要获取到消息的内容,监听@“MobPushDidReceiveMessageNotification”通知既可。
调用
代码语言:javascript复制 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didReceiveMessage:) name:MobPushDidReceiveMessageNotification object:nil];
接收监听
代码语言:javascript复制 - (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。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/107730.html原文链接:https://javaforall.cn