写点什么

Facebook 与 Twitter 提供的 Apple tvOS SDKs 支持登录与分析功能

  • 2015-12-14
  • 本文字数:1197 字

    阅读完需:约 4 分钟

近日, Facebook Twitter 发布了 Apple tvOS SDKs,支持登录、用户验证与分析功能。

登录与用户验证

在开发 tvOS 应用时,Apple TV 的登录是我们所面临的最大的挑战之一。Twitter 产品经理 Chris Oryschak 认为在 tvOS 上使用传统的登录与验证的用户体验是非常糟糕的。此外,很多开发者都发现对于最终用户来说,登录 Apple TV 是一件非常困难的事情。这可以归结为两个因素:缺少对支持 oAuth 的登录方法的支援,以及 tvOS 所采用的非标准的输入方式,这使得我们难以使用传统的用户名 / 密码方式。

为了解决这一问题,Twitter 的 Digits SDK 与 Facebook 的 Login 都启用了双因素认证机制:在进行验证时,tvOS 会显示一个简短的字母数字代码,用户需要通过其电脑、平板或是手机在 http://digits.com/appletv 或是 http://facebook.com/devices 上输入这个代码。这会立刻在 Apple TV 上开启一个会话。

为了实现这一目标,这两个 SDKs 都提供了一个视图控制器类来处理整个过程,并且在验证成功时会调用一个委托方法:

复制代码
// Twitter's Digits:
func didTapButton(sender: AnyObject) {
let viewController = DGTAssistedAuthViewController(appearance: nil) { session, error in
// This is a completion block
}
presentViewController(viewController, animated: true, completion: nil)
}
// Facebook's Login:
FBSDKDeviceLoginViewController *viewController = [[FBSDKDeviceLoginViewController alloc] init];
viewController.permissions = @[@"publish_actions"];
viewController.delegate = self;
[self presentViewController:viewController animated:YES completion:NULL];

分析

Facebook 的 Analytics 提供了一种记录事件日志的方式,类似于 Facebook Events iOS SDK 。你只需调用:

复制代码
import FBSDKCoreKit
FBSDKAppEvents.activateApp()

一旦激活应用,你就可以将任何预定义的事件日志记录下来,比如说应用启动,完成注册,或者是完全自定义的事件。无需登录即可使用该项功能。

Twitter 的 Crashlytics 则采取了不同的方式,它几乎可以立刻记录下应用所发生的任何崩溃情况,同时还会有崩溃日志,以及每次崩溃对应用所造成的影响的摘要视图。

Facebook**** 的 Share

Facebook 的 tvOS SDK 还提供了一个 FBSDKShareAPI 类,它简化了将内容分享到 Facebook 的过程。

Twitter 的 Digits 与 Crashlytics 隶属于 Fabric ,位于 GitHub 上。Facebook 的 Login、Analytics 与 Share 则可以从 Facebook 网站下载

查看英文原文: Facebook’s and Twitter’s SDKs for Apple tvOS Enable Onboarding and Analytics


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2015-12-14 18:001705
用户头像

发布了 218 篇内容, 共 79.6 次阅读, 收获喜欢 76 次。

关注

评论

发布
暂无评论
发现更多内容

一文带你探究Sentinel的独特初始化

华为云开发者联盟

redis sentinel 框架

Volcano架构设计与原理介绍

华为云原生团队

大数据 AI 云原生 高性能 批量计算

区块链十年与传统金融的变化

CECBC

区块链 金融

初识ClickHouse——安装与入门

Simon

Clickhouse

Soul 网关源码阅读(三)请求处理概览

Java 源码阅读 网关

用AI「驯服」人类幼崽,手头有娃的可以试试

博文视点Broadview

人工智能 联邦学习 强化学习 集成学习 技术宅

即构小程序直播组件集成教程

ZEGO即构

物流快递公司APP架构设计

jorden wang

Soul 网关源码阅读(二)代码初步运行

Java 源码阅读 网关

Java 程序经验小结:剖析@SuppressWarinings注解

后台技术汇

28天写作

DevSecOps安全检查清单

啸天

安全 DevSecOps 应用安全

区块链科普系列:区块链是什么?

CECBC

区块链

不同公司产品经理岗位对比

LouisN

特斯拉自建ERP的背后

明道云

当音乐学博士搞起编程...

程序猿DD

Spring Frame

「产品经理训练营」第一章作业

Sòrγy_じò ぴé

产品经理训练营

敏捷里为何倡导固定迭代周期?

万事ONES

敏捷开发 研发管理 迭代

为什么我认为 Deno 是一个迈向错误方向的 JavaScript 运行时?

hylerrix

typescript rust nodejs deno V8

矿机挖矿APP系统模式开发平台

v16629866266

iOS性能优化 — 五、App启动优化

iOSer

ios 性能优化 性能分析

面试阿里Java岗,技术总监真正关心的核心能力是什么?

Java架构追梦

Java 编程 架构

从CPU到XPU进化,英特尔对业界放了什么大招?

E科讯

生产者与消费者模式,数组阻塞队列(ArrayBlockingQueue)

李尚智

Java 学习 架构 并发编程

一文解析DDD中台和微服务设计

欧创新

中台 微服务 领域驱动设计 DDD

“反垄断”来袭,对产业区块链有什么启发

CECBC

市场垄断

在数据分析、挖掘方面,有哪些ETL工具值得推荐?

敏捷调度TASKCTL

大数据 kettle 海豚调度 批量任务 ETL

解读容器的 2020:寻找云原生的下一站

阿里巴巴云原生

Docker 云计算 Serverless 容器 云原生

架构师训练营W13作业

Geek_f06ede

Soul 网关源码阅读(一) 概览

Java 源码阅读 网关

智能量化对冲搬砖套利交易软件APP系统开发

系统开发

Soul 网关源码阅读(四)Dubbo请求概览

Java 源码阅读 网关

Facebook与Twitter提供的Apple tvOS SDKs支持登录与分析功能_移动_Sergio De Simone_InfoQ精选文章