美文网首页
2018-07-05 ios10本地推送

2018-07-05 ios10本地推送

作者: 北你妹的风 | 来源:发表于2018-07-06 15:47 被阅读18次

前一段时间了解到,ios10的本地推送能够基于位置,感觉这是个很酷炫的功能,潜在的场景:比如说走到公司附近,提示用户签到;走到地铁口,提示地铁站。本文就介绍下ios10的本地推送。

ios10之后的推送都集成在UserNotifications框架中了,使用前需要先导入这个框架。

创建本地推送的流程大概是这样的:

 1、创建推送内容,涉及到的类:UNMutableNotificationContent,还可以添加图片

 2、选定推送类型 分三种:指定时间、指定日期、指定地点

 3、创建推送请求,涉及到的类:UNNotificationRequest

 4、加入到消息中心

代码如下:

-(void)createTimerNoti{//指定时间的推送

    UNMutableNotificationContent*content=[[UNMutableNotificationContent alloc] init];

    content.title=@"到站提醒";

    content.subtitle=@"您有一条新的到站提醒";

    content.body=@"紫荆山站到了,请您注意换乘2号线";

    //添加图片附件

    NSURL*url=[[NSBundle mainBundle] URLForResource:@"piggy" withExtension:@"png"];

    UNNotificationAttachment*attch=[UNNotificationAttachment attachmentWithIdentifier:@"lzy" URL:url options:nil error:nil];

    content.attachments=@[attch];

    UNNotificationTrigger*trigger=[UNTimeIntervalNotificationTrigger triggerWithTimeInterval:3 repeats:NO];//第二个参数为是否重复 如果是,则间隔时间要大于60

    UNNotificationRequest*request=[UNNotificationRequest requestWithIdentifier:@"timerId" content:content trigger:trigger];

    [[UNUserNotificationCenter currentNotificationCenter] addNotificationRequest:request withCompletionHandler:^(NSError*error){

        if(!error){

            NSLog(@"指定时间的推送发送成功");

        }

    }];

}

从代码来看,创建本地推送要比之间简单的多。下面主要介绍一下如何创建指定地点的本地推送。

基于地理位置的本地推送,在进入或离开指定的区域内,就会触发推送。程序没有启动或者在后台也可以。

代码如下:

-(void)createLocationNoti{//创建指定区域的推送

    UNMutableNotificationContent*content=[[UNMutableNotificationContent alloc] init];

    content.title=@"地点提醒";

    content.subtitle=@"您即将进入地铁站附近";

    content.body=@"您即将进入地铁站附近";

    CLLocationCoordinate2D center=CLLocationCoordinate2DMake(32.690247, 110.688876);

    CLCircularRegion*region=[[CLCircularRegion alloc] initWithCenter:center radius:2000 identifier:@"zmt"];

    region.notifyOnEntry=YES;//进入区域

    region.notifyOnExit=NO;//离开区域

    UNLocationNotificationTrigger*trigger=[UNLocationNotificationTrigger triggerWithRegion:region repeats:NO];

    UNNotificationRequest*request=[UNNotificationRequest requestWithIdentifier:@"zmtRequest" content:content trigger:trigger];

    [[UNUserNotificationCenter currentNotificationCenter] addNotificationRequest:request withCompletionHandler:^(NSError*error){

        if(error) {

            NSLog(@"推送失败");

        }else{

            NSLog(@"指定地点的推送发送成功");

        }

    }];

}

相关文章

  • iOS10推送开发

    iOS10推送授权 UNNotificationSettings属性 iOS10本地推送示例 定义推送 以上就是一...

  • 本地推送的相关知识点

    本地推送 iOS10 在iOS10 中,推送授权方法做了很大改变,下面是授权和注册方法,要使用本地推送,首先要进行...

  • iOS10 远程推送你玩过了吗?

    上一章节 iOS10 本地推送你玩过了吗? ,了解了本地推送了,这一节,玩耍一下iOS10的远程推送。了解了本地推...

  • iOS 本地通知提醒

    一. iOS10以前使用 UILocalNotification 二.iOS10 本地推送 (详细) htt...

  • 本地推送闹钟功能实现

    本地推送闹钟功能实现 在ios10下使用UserNotifications用本地推送实现闹钟功能,只是实现了简单的...

  • IOS的通知

    通知详解 简书-iOS10 推送通知 UserNotifications iOS10本地通知UserNotifi...

  • UNUserNotificationCenter本地推送

    iOS10不推荐使用UILocalNotification进行本地推送了,UNUserNotificationCe...

  • iOS Xcode8下快速集成极光推送并兼顾iOS10

    前言 iOS10下,远程推送发生了变化,新增的UserNotifications.framework将本地推送和远...

  • 2018-07-05 ios10本地推送

    前一段时间了解到,ios10的本地推送能够基于位置,感觉这是个很酷炫的功能,潜在的场景:比如说走到公司附近,提示用...

  • 2018第一周知识点小结

    1.1 iOS本地推送 产品说要加本地推送时,我本来想着把原来代码里封好的模块拿来用下就好了,结果发现iOS10以...

网友评论

      本文标题:2018-07-05 ios10本地推送

      本文链接:https://www.haomeiwen.com/subject/anuvuftx.html