推送注册

最佳实现,倡议在appdelegate里对推送的环境和告诉性能进行注册,外部办法为异步解决,不会阻塞主线程。参考如下代码:

#import <MobPush/MobPush.h>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{    // 设置推送环境 特地留神,setAPNsForProduction:YES 的时候,须要我的项目打成release包解决,不能够间接应用xcode的debug和release环境#ifdef DEBUG    [MobPush setAPNsForProduction:NO];#else    [MobPush setAPNsForProduction:YES];#endif    //MobPush推送设置(取得角标、声音、弹框揭示权限)    MPushNotificationConfiguration *configuration = [[MPushNotificationConfiguration alloc] init];    configuration.types = MPushAuthorizationOptionsBadge | MPushAuthorizationOptionsSound | MPushAuthorizationOptionsAlert;    [MobPush setupNotification:configuration];    return YES;}

注册推送监听

注册监听,能够监听到对于推送音讯的达到和点击,参考如下代码:

//此办法须要在AppDelegate的 didFinishLaunchingWithOptions 办法外面注册 可参考Demo[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didReceiveMessage:) name:MobPushDidReceiveMessageNotification object:nil];

解决回调,解析参数

在回调中解决MobPush对于告诉的监听,留神如果利用处于后盾或者被杀死状态,须要点击告诉音讯触发,参考如下代码:

// 收到告诉回调- (void)didReceiveMessage:(NSNotification *)notification{    MPushMessage *message = notification.object;         // 推送相干参数获取示例请在各场景回调中对参数进行解决         //     NSString *body = message.notification.body;     //     NSString *title = message.notification.title;     //     NSString *subtitle = message.notification.subTitle;     //     NSInteger badge = message.notification.badge;     //     NSString *sound = message.notification.sound;     //     NSLog(@"收到告诉:{\nbody:%@,\ntitle:%@,\nsubtitle:%@,\nbadge:%ld,\nsound:%@,\n}",body, title, subtitle, (long)badge, sound);    switch (message.messageType)    {        case MPushMessageTypeCustom:        {// 自定义音讯回调        }            break;        case MPushMessageTypeAPNs:        {// APNs回调        }            break;        case MPushMessageTypeLocal:        {// 本地告诉回调        }            break;        case MPushMessageTypeClicked:        {// 点击告诉回调        }        default:            break;    }}