期待已久的 Apple Watch 在上市当日预购了将近一百万,已经开始在全球发货了。考虑到 Apple Watch 的销售量已经在一天内达到了,我们可以说智能手表将会是用户生活中一个更重要的部分,尤其是与在市场销售多年的智能手表相比。
iPhone 伴随着一个像 Apple Watch 一样完全兼容的智能手表,将会在 IOS 应用使用习惯和实践当中带来一些改变。从现在开始,许多 IOS 应用将能够在 iPhone 上配置一次,之后会更多的在 Apple Watch 扩展上被使用。快速显示重要的信息,给出选择利用简单的交互做出各种各样的行为,通过新的传感器提供为运动和医学应用程序提供基本的数据,这些只是 Apple Watch 新特性中的一部分。随着这些新特性,用户在移动应用中的交互和体验有了一个全新的空间。可能我们将会看到从智能手机到智能手表的转变, 因为我们曾经看到了从个人电脑到智能手机的变革,也是用户参与和网络流量的手段。
基于这一点,为苹果手表提供用户体验更好的苹果应用将会和为苹果手机提供用户体验更好的苹果应用一样重要。在苹果商店的 app 页顶端设置了“为苹果手机提供的应用程序”标识,就一个显示其重要性的标识。
收集和分析在苹果手机上的使用策略和数据是为苹果手表提供更好用户体验的关键。我们做为了 Countly 提供移动应用分析方案,推送通知和崩溃报告(即将推出),并努力跟上每一天涌现的新技术。所以我们努力工作为苹果手机的 IOS SDK 和服务端提供支持。现在还没有完成,但是我们已经做准备了一个教程向你展示如果在你的苹果手表应用中使用当前为 WatchKit 提供 Countly IOS SDK。
首先打开一个新的或者现有的 Xcode 项目,通过点击项目或目标列表下方的+图标来新增目标。(如果你的项目中已经存在 Watch App ,你可以跳到第四步,或则访问 http://apple.co/1PnD1uT 获得更多信息。)
选择目标模板 WatchKit AppunderiOS>Apple Watchsection。(为了让事情简单化,该目标不包含 NotificationandGlancescenes)
如果 Xcode 询问你是否激活 WatchKit Appscheme,点击激活。
现在你需要创建一个应用程序,让主 iOS 应用程序和 Watch 拓展程序共享共同的数据库。
(如果你已经激活了 APP 应用群添加你想要使用的容器,然后跳到第10步,或者访问 http://apple.co/1IFdNCJ 获得更多信息)
在项目和目标列表中选择主 iOS 应用程序创建一个 App Group。切换到 Capabilitiestab。到 App Groups 界面,打开开关。
进入到开发者账户凭证后,Xcode 会在你的项目中新增 App Groupsentitlements。
在 App Groups 界面点击+标识新增一个容器。你可以随意命名它,只要确保与 Group 同步,并且紧随一个像 App ID 的反向 DNA 的标识符。
在项目和目标列表中切换到 WatchKit Extensiontarget(不是 WatchKit 应用程序)并且打开 App Groupscapability。
当你打开它你会看到一个你在步骤7中创建的 app group 容器,选择它。
在完成 App Groups 和容器的创建后,在 WatchKit 中安装 Countly iOS SDK 来支持你的项目。你可以在这里下载: https://github.com/erkanyildiz/countly-sdk-ios
在你复制完 Countly iOS SDK,请确保使用 git commandgit 检查 watchkit 分支。
把 &Dropcountly-sdk-iosfolder 拖拽进入你的项目,在接下来的对话框中请确保 iPhone apptarget 和 WatchKit Extensiontarget(不是 WatchKit 应用程序)被选中,如果需要的话也可以复制项目。
然后添加 -DCOUNTLY_TARGET_WATCHKIT=1flag 到其他的 C FlagsunderWatchKit 目标拓展的构造设备中。
导入 Countly.hinInterfaceController.musing#import "Countly.h"
加入常用的 Countly 启动代码到 awakeWithContext中:(id)contextmethod ofInterfaceController.m[Countly.sharedInstance start:@"YOUR_APP_KEY" withHost:@"http://yourserver"];
现在你可以试着构建项目,会得到错误:没有指定应用程序组标识符,请取消上面的行或者指定它 。 请在 countlyDB 错误提示的地方加入在步骤7中创建的应用程序组标识符。
加入应用程序组标识符之后重构项目,现在应该都没问题了。运行 WatchKit App,可以在 Countly 控制面板中看到对话框 。这种追踪自定义事件等同于 iPhone app 。更多详情请参考: http://resources.count.ly/v1.0/docs/custom-events-sdk-methods
现在你已经准备好去跟踪你的苹果手表带有 Countly的 应用了。顺便提到,苹果手表的 session 会话概念和 iPhone 是有一点的不同的,所以当一个用户完全停止使用苹果手表的 app 时它不可能检测到的,这个是因为当前的 WatchKit APIs 限制导致的。因此这里有两个恒定值,根据你的使用做出相应的调整。第一个是 COUNTLY_DEFAULT_UPDATE_INTERVAL,它的默认值对于 WatchKit 是10秒,然而对于 iPhone 是60秒。这个值决定了当你的应用在使用时,update_session 请求应该每隔多长时间向服务器发送。那么第二个是 COUNTLY_EVENT_SEND_THRESHOLD,它的默认值对于 WatchKit 3秒,对于 iPhone 是10秒。Countly iOS SDK 等待特别的事件时,达到这一事件的临界值时会向服务器发送请求,直到下一个update_session 请求进入。考虑到苹果表正是为短的 session 绘画而设计时,这些的价值对于现在恰当的合适。当然你可以根据你的需要改变手表的 app 的应用场景。只要我们完成更多的细节,在我们主要的 GitHub 账户里,我们将会发布最终的 WatchKit 的 iOS SDK 支持的版本。
Erkan YILDIZ
Countly SDK 开发者