文章来源:淘论文网   发布者: 毕业设计   浏览量: 17



还可以点击去查询以下关键词:
[想要]    [更简单]    [推送]    [消息]    [本文]    [对了]    [想要更简单的推送消息,看本文就对了]   

项目介绍:

  提供全面且全面的推送api,提供6个主干和20个分支方法。

GitHub

 1. 普通推送

    - 系统自带提示音

    - 可设置自定义提示音

 2. 图像推送,包含png、jpg、gif等图像格式

    - 系统自带提示音

    - 可设置自定义提示音

    - 可以通过链接下载

    - 可以通过链接下载,可设置自定义提示音

 3. 视频推送

    - 系统自带提示音

    - 可设置自定义提示音

    - 可以通过链接下载

    - 可以通过链接下载,可设置自定义提示音

 4. 定时推送(北京时间)

    - 系统自带提示音(weekday、hour、minute、second)

    - 可设置自定义提示音(weekday、hour、minute、second)

    - 定时推送(行如2017-10-1) (year、month、day、hour、minute、second)

    - 定时推送(行如2017-10-1)(year、month、day、hour、minute、second) 可设置自定义提示音

    - 启动时间包含在字典内

    - 推送时间包含在字典内,可设置自定义提示音

 5. 交互推送(最大4组动作)

    - 系统自带提示音

    - 可设置自定义提示音

 6. 定点推送

    - 系统自带提示音

    - 可设置自定义提示音

 ### 预览

 首页 截图1  | 首页 截图2 | 首页 截图3 | 首页 截图4

 -----|-----|-----|-----

| | |

 普通推送l | 图像推送 | 视频推送

 -----|-----|-----

| |  

  交互推送 gif | 视频推送 gif 

 -----|-----

  |  

 ### 核心代码

 PushNotificationManager.h  PushNotificationManager.m 使用许可

PushNotificationManageruse MIT license

使用cocoapods安装  pod 'PushNotificationManager'

 

示例

 - 确认使用前已经通过cocoapods安装PushNotificationManager或导入PushNotificationManager文件

申请通知权限     if (kSystemVersion >= 10.0) {         UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];         center.delegate = self;         UNAuthorizationOptions types=UNAuthorizationOptionBadge|UNAuthorizationOptionAlert|UNAuthorizationOptionSound;         [center requestAuthorizationWithOptions:types completionHandler:^(BOOL granted, NSError * _Nullable error) {             if (granted) {             [center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) {             }];             } else {             [[UIApplication sharedApplication]openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString] options:@{UIApplicationOpenURLOptionUniversalLinksOnly:@''} completionHandler:^(BOOL success) { }];             }         }];     }else if (kSystemVersion >= 8.0){ #pragma clang diagnostic push #pragma clang diagnostic ignored '-Wdeprecated-declarations'         [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeSound | UIUserNotificationTypeBadge categories:nil]]; #pragma clang diagnostic pop     } 普通推送#p#分页标题#e#

 - function

-(void)normalPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

usage

 [[PushNotificationManager sharedInstance]normalPushNotificationWithTitle:@'John Winston Lennon' subTitle:@'《Imagine》' body:@'You may say that I'm a dreamer, but I'm not the only one' identifier:@'1-1' timeInterval:3 repeat:NO];   //`repeat` if you pick the repeat property 'YES',you require to set the timeInterval value >= 60second ->是否重复,若要重复->时间间隔应>=60s 普通推送,可设置自定义提示音

 - function

-(void)normalPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier soundName:(NSString *)soundName timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

 `

[[PushNotificationManager sharedInstance]normalPushNotificationWithTitle:@"John Winston Lennon" subTitle:@"《Imagine》" body:@"You may say that I'm a dreamer, but I'm not the only one" identifier:@"1-2" soundName:@"tmp.mp3" timeInterval:3 repeat:NO];

 `

图像推送,包含png、jpg、gif等图像格式

 - function

-(void)graphicsPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier fileName:(NSString *)fileName timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

 `

[[PushNotificationManager sharedInstance]graphicsPushNotificationWithTitle:@"John Winston Lennon" subTitle:@"《Imagine》" body:@"You may say that I'm a dreamer, but I'm not the only one" identifier:@"2-1" fileName:@"Graphics.jpg" timeInterval:3 repeat:NO];

 `

图像推送,包含png、jpg、gif等图像格式,可设置自定义提示音

 - function

-(void)graphicsPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier fileName:(NSString *)fileName soundName:(NSString *)soundName timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

[[PushNotificationManager sharedInstance]graphicsPushNotificationWithTitle:@'John Winston Lennon' subTitle:@'《Imagine》' body:@'You may say that I'm a dreamer, but I'm not the only one' identifier:@'2-2' fileName:@'Graphics.jpg' soundName:@'tmp.mp3' timeInterval:3 repeat:NO]; 图像推送,可以通过链接下载

 - function

-(void)graphicsPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier urlString:(NSString *)urlString timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

 `

[[PushNotificationManager sharedInstance]graphicsPushNotificationWithTitle:@"John Winston Lennon" subTitle:@"《Imagine》" body:@"You may say that I'm a dreamer, but I'm not the only one" identifier:@"2-3" urlString:@"https://i.loli.net/2017/09/30/59cf8056a1e21.jpg" timeInterval:3 repeat:NO];

 `

图像推送,可以通过链接下载,可设置自定义提示音

 - function

-(void)graphicsPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier urlString:(NSString *)urlString soundName:(NSString *)soundName timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

usage

[[PushNotificationManager sharedInstance]graphicsPushNotificationWithTitle:@'John Winston Lennon' subTitle:@'《Imagine》' body:@'You may say that I'm a dreamer, but I'm not the only one' identifier:@'2-4' urlString:@'https://i.loli.net/2017/09/30/59cf8056a1e21.jpg' soundName:@'tmp.mp3' timeInterval:3 repeat:NO]; 视频推送

 - function

-(void)videoPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier fileName:(NSString *)fileName timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

[[PushNotificationManager sharedInstance]videoPushNotificationWithTitle:@'John Winston Lennon' subTitle:@'《Imagine》' body:@'You may say that I'm a dreamer, but I'm not the only one' identifier:@'3-1' fileName:@'Raining.mp4' timeInterval:3 repeat:NO]; 视频推送,可设置自定义提示音

 - function

-(void)videoPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier fileName:(NSString *)fileName soundName:(NSString *)soundName timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

usage

[[PushNotificationManager sharedInstance]videoPushNotificationWithTitle:@'John Winston Lennon' subTitle:@'《Imagine》' body:@'You may say that I'm a dreamer, but I'm not the only one' identifier:@'3-2' fileName:@'Raining.mp4' soundName:@'tmp.mp3' timeInterval:3 repeat:NO]; 视频推送,可以通过链接下载#p#分页标题#e#

 - function

-(void)videoPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier urlString:(NSString *)urlString timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - function

[[PushNotificationManager sharedInstance]videoPushNotificationWithTitle:@'John Winston Lennon' subTitle:@'《Imagine》' body:@'You may say that I'm a dreamer, but I'm not the only one' identifier:@'3-3' urlString:@'' timeInterval:5 repeat:NO]; //it need some time to download the video from internet,so set the `timeInterval` as 5s 视频推送,可以通过链接下载,可设置自定义提示音

 - function

-(void)videoPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier urlString:(NSString *)urlString soundName:(NSString *)soundName timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

[[PushNotificationManager sharedInstance]videoPushNotificationWithTitle:@'John Winston Lennon' subTitle:@'《Imagine》' body:@'You may say that I'm a dreamer, but I'm not the only one' identifier:@'3-4' urlString:@'' soundName:@'tmp.mp3' timeInterval:5 repeat:NO]; 定时推送

 - function

-(void)timingPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier weekday:(NSString *)weekday hour:(NSString *)hour minute:(NSString *)minute second:(NSString *)second timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

[[PushNotificationManager sharedInstance]timingPushNotificationWithTitle:@'2017-10-1' subTitle:@'Happy National Day' body:@'World Peace Hooray!' identifier:@'4-1' weekday:@'1' hour:@'2' minute:@'49' second:@'50' timeInterval:3 repeat:NO]; // 星期一2:49:50 ->Tuesday 2:33:10 定时推送,可设置自定义提示音

 - function

-(void)timingPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier weekday:(NSString *)weekday hour:(NSString *)hour minute:(NSString *)minute second:(NSString *)second soundName:(NSString *)soundName timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

usage

[[PushNotificationManager sharedInstance]timingPushNotificationWithTitle:@'2017-10-1' subTitle:@'Happy National Day' body:@'World Peace Hooray!' identifier:@'4-2' weekday:@'1' hour:@'2' minute:@'49' second:@'50' soundName:@'tmp.mp3' timeInterval:3 repeat:NO];  // 星期一2:49:50 ->Tuesday 2:33:10 定时推送(行如2017-10-1)

 - function

-(void)timingPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier year:(NSString *)year month:(NSString *)month day:(NSString *)day hour:(NSString *)hour minute:(NSString *)minute second:(NSString *)second timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

[[PushNotificationManager sharedInstance]timingPushNotificationWithTitle:@'王菲' subTitle:@'《单行道》' body:@'春眠不觉晓,庸人偏自扰' identifier:@'4-3' year:@'2017' month:@'10' day:@'2' hour:@'2' minute:@'51' second:@'40' timeInterval:3 repeat:NO]; //2017-10-2 2:51:40 定时推送,可设置自定义提示音(行如2017-10-1)

 - function

-(void)timingPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier year:(NSString *)year month:(NSString *)month day:(NSString *)day hour:(NSString *)hour minute:(NSString *)minute second:(NSString *)second soundName:(NSString *)soundName timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

[[PushNotificationManager sharedInstance]timingPushNotificationWithTitle:@'王菲' subTitle:@'《单行道》' body:@'春眠不觉晓,庸人偏自扰' identifier:@'4-4' year:@'2017' month:@'10' day:@'11' hour:@'12' minute:@'0' second:nil soundName:@'tmp.mp3' timeInterval:3 repeat:NO]; //    NSDictionary *dict = @{@'weekday':@1, //the `1` said Sunday in China ->`1`等于中国周日 //                           @'hour':@2, //                           @'minute':@20, //                           @'second':@10 //                           }; // this meaning the fire date is '2:20:10 Sunday' ->字典的内容表示'周日 2:20:10' 定时推送,启动时间包含在字典内#p#分页标题#e#

 - function

-(void)timingPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier fireDate:(NSDictionary *)fireDate timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;   // the fire date include the properities,such as era,year,month,day,hour,minute,second,nanosecond,weekday,weekdayOrdinal,quarter,weekOfMonth,weekOfYear,yearForWeekOfYear

 - usage

[[PushNotificationManager sharedInstance]timingPushNotificationWithTitle:@'Bang Gang' subTitle:@'《Forever Now》' body:@'You can see her in the distance\n Where she walks alone\n Thenyou follow her direction\n To your second home' identifier:@'4-5' fireDate:@{@'year':@2017,@'month':@10,@'day':@2,@'hour':@2,@'minute':@55} timeInterval:3 repeat:NO]; 定时推送,推送时间包含在字典内,可设置自定义提示音

 - function

-(void)timingPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier fireDate:(NSDictionary *)fireDate soundName:(NSString *)soundName timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

[[PushNotificationManager sharedInstance]timingPushNotificationWithTitle:@'Bang Gang' subTitle:@'《Forever Now》' body:@'You can see her in the distance\n Where she walks alone\n Thenyou follow her direction\n To your second home' identifier:@'4-6' fireDate:@{@'year':@2017,@'month':@10,@'weekday':@1,@'hour':@3,@'minute':@3} soundName:@'tmp.mp3' timeInterval:3 repeat:NO]; //2017-10 每周1 早上3点 -> 2017-10 every Monday 3:00 in China 交互推送

 - function

-(void)interactivePushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier identifierArray:(NSArray<NSString *> *)identifierArray actionArray:(NSArray<UNNotificationAction *> *)actionArray timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

                UNTextInputNotificationAction *action1 = [UNTextInputNotificationAction actionWithIdentifier:@'reply' title:NSLocalizedString(@'评论', nil) options:UNNotificationActionOptionNone textInputButtonTitle:NSLocalizedString(@'发送', nil) textInputPlaceholder:NSLocalizedString(@'说点什么', nil)]; //reply action                 UNNotificationAction *action2 = [UNNotificationAction actionWithIdentifier:@'enter' title:NSLocalizedString(@'进入', nil) options:UNNotificationActionOptionForeground]; //enter action                 UNNotificationAction *action3 = [UNNotificationAction actionWithIdentifier:@'cancel' title:NSLocalizedString(@'销毁', nil) options:UNNotificationActionOptionDestructive]; //cancel action                 [[PushNotificationManager sharedInstance]interactivePushNotificationWithTitle:@'Bang Gang' subTitle:@'《Forever Now》' body:@'You can see her in the distance\n Where she walks alone\n Then you follow her direction\n To your second home' identifier:@'5-1' identifierArray:@[@'reply',@'enter',@'cancel'] actionArray:@[action1,action2,action3] timeInterval:3 repeat:NO]; 交互推送,可设置自定义提示音

 - function

-(void)interactivePushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier identifierArray:(NSArray<NSString *> *)identifierArray actionArray:(NSArray<UNNotificationAction *> *)actionArray soundName:(NSString *)soundName timeInterval:(NSInteger)timeInterval repeat:(BOOL)repeat;

 - usage

                 UNTextInputNotificationAction *action1 = [UNTextInputNotificationAction actionWithIdentifier:@'reply' title:NSLocalizedString(@'评论', nil) options:UNNotificationActionOptionNone textInputButtonTitle:NSLocalizedString(@'发送', nil) textInputPlaceholder:NSLocalizedString(@'说点什么', nil)]; //reply action                 UNNotificationAction *action2 = [UNNotificationAction actionWithIdentifier:@'enter' title:NSLocalizedString(@'进入', nil) options:UNNotificationActionOptionForeground]; //enter action                 UNNotificationAction *action3 = [UNNotificationAction actionWithIdentifier:@'cancel' title:NSLocalizedString(@'销毁', nil) options:UNNotificationActionOptionDestructive]; //cancel action                 [[PushNotificationManager sharedInstance]interactivePushNotificationWithTitle:@'Bang Gang' subTitle:@'《Forever Now》' body:@'You can see her in the distance\n Where she walks alone\n Then you follow her direction\n To your second home' identifier:@'5-2' identifierArray:@[@'reply',@'enter',@'cancel'] actionArray:@[action1,action2,action3] soundName:@'tmp.mp3' timeInterval:3 repeat:NO]; 定点推送#p#分页标题#e#

 - function

-(void)locationPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier longitude:(CGFloat)longitude latitude:(CGFloat)latitude radius:(NSInteger)radius notifyOnEntry:(BOOL)notifyOnEntey ontifyOnExit:(BOOL)notifyOnExit repeat:(BOOL)repeat;

 - usage

 `

[[PushNotificationManager sharedInstance]locationPushNotificationWithTitle:@"Pink Floyd" subTitle:@"《Wish You Were Here》" body:@"How I wish you were here" identifier:@"6-1" longitude:120.030632 latitude:30.288121 radius:1000 notifyOnEntry:YES ontifyOnExit:YES repeat:NO];

 `

定点推送,可设置自定义提示音

 - function

-(void)locationPushNotificationWithTitle:(NSString *)title subTitle:(NSString *)subTitle body:(NSString *)body identifier:(NSString *)identifier longitude:(CGFloat)longitude latitude:(CGFloat)latitude radius:(NSInteger)radius notifyOnEntry:(BOOL)notifyOnEntey ontifyOnExit:(BOOL)notifyOnExit soundName:(NSString *)soundName repeat:(BOOL)repeat;

 - usage

[[PushNotificationManager sharedInstance]locationPushNotificationWithTitle:@'Pink Floyd' subTitle:@'《Wish You Were Here》' body:@'How I wish you were here' identifier:@'6-2' longitude:120.030632 latitude:30.288121 radius:1000 notifyOnEntry:YES ontifyOnExit:YES soundName:@'tmp.mp3' repeat:NO]; 前端收到推送 // you can see the detail in the project named `PushNotificationManagerExample-ObjC` - (void)userNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler{} 应用在后端收到推送的处理方法 // you can see the detail in the project named `PushNotificationManagerExample-ObjC` -(void)userNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler{}

开题报告开题报告

这里还有:


还可以点击去查询:
[想要]    [更简单]    [推送]    [消息]    [本文]    [对了]    [想要更简单的推送消息,看本文就对了]   

请扫码加微信 微信号:sj52abcd


下载地址: http://www.taolw.com/down/3734.docx
  • 上一篇:从iPhone获取或写入He毕业设计althKit属性,我可以帮到你。
  • 下一篇:分步骤状毕业设计态栏