APPLE WATCH 中文手册:通知--有关通知的一些要点

如果您的 iOS 应用支持本地或远程通知,Apple Watch 也会同步显示这些通知。当某个应用的本地或远程通知抵达用户的 iPhone 后,iOS 将会自行判断显示该通知的设备(iPhone 还是 Apple Watch)。对于发送到 Apple Watch 的通知来说,系统首先会暗示用户该通知已经送达。如果用户选择查看这个通知,系统将会首先展示该通知的概览。如果用户选择继续浏览这个通知,系统将会显示其具体信息。借助上述功能,用户可以选择忽略该通知,也可以选择单击某个可用的按钮(如果存在的话)来查看该通知或者启动您的应用。

要支持通知的话,应用其实并不需要面面俱到。系统提供了一个默认通知界面以展示来自通知的提醒信息。然后,应用可以自定义这个通知界面,同时向里面添加自定义图形、内容,甚至商标。

提示:要了解更多关于 iOS 应用是如何支持通知的信息,请参阅 Local and Remote Notification Programming Guide

Short-Look 界面

当用户第一次看通知的时候,系统将会显示这个 Short-Look 界面,图14-1显示了一个大概的例子。Short-Look 界面是一个不可滚动的视图,并且不可以被定制。系统使用一个通用的模板来显示应用名称、图标,以及存储在本地或远程通知消息中的标题。如果用户一直在查看这个通知,系统将会迅速将 Short-Look 界面转变为 Long-Look 界面。

1417058334674328

Long-Look 界面

Long-Look 界面是一个可滚动的界面,它显示了通知的全部内容,以及所有的关联按钮。如果您没有提供自定义的通知界面,那么 Apple Watch将会显示默认界面,里面包括了应用图标、通知的标题,以及提示消息。而如果您提供了自定义的通知界面,那么 Apple Watch 将会显示它。

Long-Look 通知界面分为三个区域:

· 窗扇是一个包含有应用图标和应用名称的区域。窗扇的背景默认情况下是透明的,但是您可以在自定义通知界面中改变它的背景颜色。

· 内容区域包含有即时通知的详细内容。对于自定义界面来说,您可以配置该界面的起始位置,是从窗扇顶部开始,还是在窗扇下面开始。要了解更多关于如何自定义这个区域的内容,请参阅 Custom Notification Interfaces

· 按钮区域包含有一个取消按钮和其他您应用定义的按钮。取消按钮是系统提供的,并且不可以删除它。

图14-2展示了一个包含有两个按钮的Long-Look通知界面示例。

图14-2 Long-Look 通知界面

1417058429623910

单击窗扇区和内容区的任意位置都将启动您的应用。单击任何一个由您应用定义的按钮都将启动 WatchKit 扩展或者 iOS 应用,然后向其传递动作信息。发送给 WatchKit 扩展的是前台动作,而发送给 iOS 应用的是则后台动作。单击取消按钮将会直接关闭这个通知。

欲了解如何制作一个自定义 Long-Look 界面,请参阅 Custom Notification Interfaces

为通知上添加按钮

按钮通过为通知提供封装的动作响应来帮用户节省时间。Apple Watch使用iOS 应用注册的交互通知界面来显示按钮。在 iOS 8 以及更高版本中,应用都需要使用UIUserNotificationSettings 对象来注册它们显示的生成通知对话框。一旦对象创建,应用也同样可以指定自定义通知类别以及其对应的按钮动作。Apple Watch使用这个类别信息来添加相应的按钮到 Long-Look 界面上。

代码列14-1显示了一个方法的部分实现代码,其用来为一个示例应用注册设置及类别。这个方法在containing iOS app中声明,而不是在 WatchKit 扩展中声明,并且它在启动时被 iOS 应用委托调用。这个实现代码展示了“invitation”类别的创建和注册,其包含了接收或拒接会议邀请的按钮动作。

代码列14-1 在iOS 容器应用(containing app)中注册按钮动作

- (void)registerSettingsAndCategories {
    // Create a mutable set to store the category definitions.
    NSMutableSet* categories = [NSMutableSet set];
 
    // Define the actions for a meeting invite notification.
    UIMutableUserNotificationAction* acceptAction = [[UIMutableUserNotificationAction alloc] init];
    acceptAction.title = NSLocalizedString(@"Accept", @"Accept invitation");
    acceptAction.identifier = @"accept";
    acceptAction.activationMode = UIUserNotificationActivationModeBackground;
    acceptAction.authenticationRequired = NO;
 
    UIMutableUserNotificationAction* declineAction = [[UIMutableUserNotificationAction alloc] init];
    declineAction.title = NSLocalizedString(@"Decline", @"Decline invitation");
    declineAction.identifier = @"decline";
    declineAction.activationMode = UIUserNotificationActivationModeBackground;
    declineAction.authenticationRequired = NO;
 
    // Create the category object and add it to the set.
    UIMutableUserNotificationCategory* inviteCategory = [[UIMutableUserNotificationCategory alloc] init];
    [inviteCategory setActions:@[acceptAction, declineAction]
                    forContext:UIUserNotificationActionContextDefault];
    inviteCategory.identifier = @"invitation";
 
    [categories addObject:inviteCategory];
 
    // Configure other actions and categories and add them to the set...
 
    UIUserNotificationSettings* settings = [UIUserNotificationSettings settingsForTypes:
        (UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound)
        categories:categories];
 
    [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
}

要了解如何在 iOS 应用中配置类别和按钮动作的信息,请参阅 Local and Remote Notification Programming Guide

让按钮响应单击动作

当用户在通知界面里面单击按钮时,系统使用在注册过的 UIUserNotificationAction 对象里面的信息,来决定了如何处理这个操作。按钮动作可以在前台处理,也可以在后台处理,并且它可以附带或者不附带用户的认证信息。不过,前台处理按钮动作和后台处理是有一定区别的:

· 前台按钮动作将启动您的 Watch 应用,然后将按下的按钮的 ID 传递给主界面控制器。

· 后台按钮动作将在后台启动 containing iOS app,以让其来处理这个动作。被选择动作的相关信息将被传递给应用委托中的application:handleActionWithIdentifier:forRemoteNotification:completionHandler:application:handleActionWithIdentifier:forLocalNotification:completionHandler:方法。

对于前台按钮动作来说,要记住WKUserNotificationInterfaceController子类并不处理这个按钮动作。选中一个前台按钮动作将启动您的应用,并为您应用的主入口点载入界面控制器。该初始界面控制器负责处理所有按钮动作。这个界面控制器必须实现 handleActionWithIdentifier:forRemoteNotification:方法(如果适用的话)来处理和本地或远程通知相关的按钮动作

原创文章,作者:ioued,如若转载,请注明出处:https://www.iamue.com/6234/

(0)
iouedioued
上一篇 2015-06-15 09:50
下一篇 2015-06-15 09:58

相关推荐

  • 2018用户体验趋势报告

    在2017年我们看到了很多用户体验的进步和优秀的产品。在与来自全世界的189489名设计师分享学习了1926篇优秀文章之后,我们(uxdesign.cc)分析得到了2018年的一些用户体验趋势。1 用户体验的死亡与重生作为用户体验设计师,我们一直都在争取尽早地参与战略决策,现在,设计师在项目中的地位越来越重要,那么我们要如何应对呢?你的app的用户引导页使用体验如何呢?下面是最佳的自查表;不确定哪种导航最适合你的网站?去看看网站设计样例...

    2018-02-03
  • 5步快速制作移动动效

    Sketch+Keynote双剑合璧:5步快速制作移动动效 2014年,Facebook推出了新闻阅读应用Paper,诸多交互细节与炫酷动效启动了界面设计的新时代,Google的Material Design更是将移动动效提升到了app基础体验环节的高度。…

    2015-04-11
  • 交互设计连载1:什么是交互设计?

    三年前...当时我还是一名刚入行的UI设计师。在一个无聊的周末,看到一篇介绍交互设计的文章,一时间特别兴奋。这篇文章大致告诉了我什么是交互,什么是交互设计。从那以后,我把注意力的侧重点逐渐往交互上靠拢,以至于后来有机会转行成为了一名交互设计师。下面po出这篇文章:《从零开始成为优秀的交互设计师》,可以去网上搜一下这篇文章,干货满满。回到主题,什么是交互设计呢?交互设计英文称之为Interaction Design。你来我往视为交互。你点...

    2018-02-07
  • 产品设计之行为学研究,四步打造影响力超高的产品!

    我们每天都感叹“改变”有多难——落空的新年计划、从未使用的健身卡、东西少吃点、存款留多点,可惜都止步在了yy。

    2016-08-29
  • 一个应届的交互设计毕业生应该具备哪些能力?

    作者:马力 @ 可能性与大设计   ( 上图来自Elizabeth Bacon ) 首先说,很多专业的同学都可以做交互设计(还有视觉设计,产品设计等等),既包括设计相关专业,如工业设计、建筑设计、园林设计等,也包括完全和设…

    交互专题 2017-08-07
  • 怎么免费学习 UI/UX 设计?

    一些资料是英文的,需要一点基础,如果看不太懂可以使用谷歌翻译之类的工具辅助一下,有的图书也有中文版,自己在亚马逊上搜索英文名即可。 我从来没有去一所设计学校。但我只是喜欢做的事情。 3年前,我开始了我自…

    2016-06-09
  • 2018’IIDC信息与交互设计教学研修班开始报名了!

    点击信息与交互设计关注我们!资深教授的专业教学指导+行业专家的实际案例分享力求打造最有深度的课程培训5.10-5.12信息与交互设计专业委员会联合广州美术学院定于5月10日~12日在广州美术学院举办"信息与交互设计教学研修班"。本次研修班将特别邀请清华大学美术学院基础部主任、国家社科基金重大项目首席专家邱松教授就国家社科基金项目申报工作进行详细的解析与交流,同时邀请广州美术学院工业设计学院院长陈江教授;武汉理工大学艺术与设计学院副院长方...

    2018-04-20
  • 十步交互设计方法

    理清业务逻辑是交互设计的第一步,你必须得拥有非常清晰的逻辑思维,因为某些产品往往伴随着海量的功能、大量的模块、错综复杂的交互流程以及难以理解的业务技术背景,这些都是对设计师逻辑思维的一个挑战。如果你没有清晰的清晰的逻辑思维,那可能就不适合做交互设计了。

    2017-05-27
  • Sketchelp·2018暑期ACCD手绘造型工作坊

    今年暑期份的ACCD手绘造型工作坊又来啦!没错,主讲老师还是你们的E神。2013年,这个可爱的湾湾人带着他的一大摞手绘本来到大陆,二话不说就将自己在Art Center勤学苦练之所得倾囊相授,默默帮助了一届又一届的学生打开手绘大门。没脾气、没架子,却还是位高级汽车设计师。-有关 ArtCenter College of Design美国艺术中心设计学院(ARTCENTER COLLEGE OF DESIGN)坐落于美国洛杉矶的帕萨迪纳市...

    2018-05-03
  • UED专访 | 张永和、王昀:寻找未来城市共生的答案

    📌编辑、剪辑| P.S📌采访| YHz2017年10月16日,全球天文学界联合发布一项新的重大发现,在1.3亿光年外,双中子星合并产生的引力波带着他的伴侣首次造访地球,这次长途跋涉的旅行为人类探索宇宙打开了新的大门。从爱因斯坦预言引力波到如今的发现,百年间,人类在探索未知空间的同时,也不断改造着我们的生存家园。着眼当下,我们对未来城市有何新的畅想?下文中有张永和、王昀专访视频不要错过!!!未来城市探讨在UED之前的采访中,厦门大学建筑与...

    2018-02-08