热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HomeKit人机界面指南

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd
HomeKit人机界面指南

介绍

通过HomeKit,用户能够利用他们iOS设备上的家庭自动化apps来控制和配置家里已连接的配件设备,不管制造商是谁。通常,一个家庭自动化app需要帮助用户完成下列任务:
· 设置一个Home
· 管理用户
· 添加和移除配件
· 定义场景
 
另外,一个家庭自动化app应该易于使用,并且能给用户愉悦感。这里是一些用来创建卓越体验的方式:
· 集成Siri
· 自动寻找配件
· 使用平易近人的语句
 
设置一个Home
HomeKit系统以三种类型的位置为中心:房间(Rooms)、区域(Zones)和住宅(Homes)。房间如客厅和卧室,是基本的组成概念并且可能包含任意数量的配件。区域是房间的集合,如“楼上”。
 
用户必须选定至少一个住宅来放置他们的智能配件。每一个住宅包括不同的房间,并且可能包括区域。房间和区域使用户能方便的寻找和控制配件。Apps应该提供创建、命名、修改和删除住宅、房间、和区域的方法。
 
如果一个人有多个住宅,允许他们选择一个默认的首选住宅来更快的设置和配置新配件。
 
管理用户
应用程序应当提供允许用户管理住宅中配件的方法。当一个iCloud账户被添加到住宅,账号的拥有者将能够调整配件们的特性。当一个账户拥有者被指定为管理员时,他们也将能够添加新配件、管理用户、设置住宅和创建场景。
 
添加和移除配件
让添加新配件的操作简单快捷十分重要。家庭自动化apps应当能自动寻找新配件并且在用户界面中突出显示。
 
用户需要方法来识别调整中的配件,所以要确保能快速接入控件。比如在电灯泡的案例中,你应该让用户能使用app来打开灯泡以确认其位于Home中。
 
配置应当包括给一个配件分配名称、住宅、房间、以及可选的区域。管理员需要输入配件的安装码(包含在硬件的说明文档或包装盒里)来将它与住宅联接起来。
 
苹果的无线配件配置(WAC)被用来添加支持WiFi的配件到住宅网络中。用户能够从Settings或你的app里面连接到WAC。使用ExternalAccessory框架API来显示一个系统提供的UI,在这个UI里用户能使用WAC来发现和配置配件而无需离开你的app。在使用WAC配置完配件之后,用户能将它加到住宅里,并且给它分配名字和房间。需要注意的是,你应该始终让用户通过在前台运行app来初始化配件的发现和配置。
 
寻找配件
确保给用户不同的方式来快速找到配件。每天、每个季节以及一个人的位置都能影响哪个配件在当时是重要的,所以用户应该能够以类型、名称或住宅里的位置来寻找配件。
 
定义场景
场景是同时调整多个配件特性的重要方式。每个场景都有自己的名称,并且能包含任意数量的动作,这些动作与不同的配件和他们的特性相联。如果可能,你可以提供
 
一些建议的场景,这样用户能基于它们来配置配件。比如,一个“离开”的场景应该调低房子里的温度、关掉灯泡,并且锁上所有的门。
 
当用户创建它们自己的场景时,考虑按照选中的房间和区域来推荐配件。给用户提供选择让他们能更快更方便的进行配置。
 
集成Siri
Siri能让复杂操作的执行简单到只需要一句命令。Siri能识别住宅、房间和区域的名字,并且支持这样的表述:“Siri,lock up my house in Tahoe”,“Siri,turn off the upstairs lights”以及“Siri,make it warmer in the media room”。Siri也能识别配件的名字和特性,因此用户能发布这样的命令:“Siri,dim the desk lamp”。
 
为了识别场景,给Siri的命令里应该包含单词“模式”(mode)或“scene”(场景),比如如下的命令:“Siri,set the Movie Scene”、“Siri,enable Movie mode”或者“Siri,set up for Movie”。
 
最好让用户在配置动作的时候知道哪些动作能被Siri触发。比如,在确认Movie场景已经设置好的时候,显示推荐用户向Siri说的语句,如“你能够使用Siri来激活这个场景,命令是‘Siri,set the house to Movie mode’”。
 
通知
不适当的家庭自动化可能会吓到用户。你的应用程序应该是平易近人的、易于使用的、具有交谈时语言的以及对用户友好型的。避免使用用户可能不理解的缩略词和科技术语。HomeKit是一个关于API的术语,你不应该在你的app里使用它。
 
如果你是一个MFi执照拥有者,请参照MFi portal里的指南来规范配件包装的命名和通知。

本文由CocoaChina翻译自苹果官方文档:HomeKit Human Interface Guidelines


推荐阅读
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • HTML前端开发:UINavigationController与页面间数据传递详解
    本文详细介绍了如何在HTML前端开发中利用UINavigationController进行页面管理和数据传递,适合初学者和有一定基础的开发者学习。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 如何在Django框架中实现对象关系映射(ORM)
    本文介绍了Django框架中对象关系映射(ORM)的实现方式,通过ORM,开发者可以通过定义模型类来间接操作数据库表,从而简化数据库操作流程,提高开发效率。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 本文详细介绍了iOS应用的生命周期,包括各个状态及其转换过程中的关键方法调用。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 解决Visual Studio Code中PHP Intelephense误报问题
    PHP作为一种高度灵活的编程语言,其代码结构可能导致Intelephense插件在某些情况下报告不必要的错误或警告。自1.3.3版本起,Intelephense引入了多个配置选项,允许用户根据具体的工作环境和编程风格调整这些诊断信息的显示。 ... [详细]
  • 探索百度WebFE团队打造的强大HTML5上传插件Web Uploader
    本文将详细介绍由百度WebFE团队开发的Web Uploader,这是一款集成了HTML5与Flash技术的上传组件,以其卓越的用户体验和强大的功能著称。 ... [详细]
  • Bootstrap Paginator 分页插件详解与应用
    本文深入探讨了Bootstrap Paginator这款流行的JavaScript分页插件,提供了详细的使用指南和示例代码,旨在帮助开发者更好地理解和利用该工具进行高效的数据展示。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
  • 线段树详解与实现
    本文详细介绍了线段树的基本概念及其在编程竞赛中的应用,并提供了一个具体的线段树实现代码示例。 ... [详细]
  • 如何在Mozilla Firefox中调整GIF动画的循环次数
    本文介绍了如何通过调整Mozilla Firefox的高级设置来控制GIF动画的播放次数,帮助用户根据个人喜好自定义浏览体验。 ... [详细]
author-avatar
Gemini_2
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有