FacebookとTwitterがApple tvOS用のSDKをリリースした。オンボーディングとユーザ認証,アナリティクスのサポートを提供する。
オンボーディングとユーザ認証
Apple TVでのオンボーディングは,tvOS用アプリを開発する上で大きな課題のひとつだ。TwitterのプロダクトマネージャであるChris Oryschak氏は,従来のログイン認証のユーザエクスペリエンスはtvOSには複雑過ぎる,と説明している。さらに氏は,多くの開発者が,Apple TVへのログインはエンドユーザにとって難しい操作だ,と報告していることも指摘する。これには2つの要因がある – oAuthをサポートするログイン手段がサポートされていないことと,tvOSの非標準的な入力スタイルのため,従来のユーザ名/パスワード方式の利用が難しいことだ。
この問題を解決するため,TwitterのDigits SDKとFacebookのLoginでは,二要素認証(two-factor authentication)機構を実現している。認証が必要になると,tvOSが短い認証コードを表示する。ユーザはそれをラップトップやタブレット,携帯電話などを通じて,それぞれhttp://digits.com/appletvあるいはhttp://facebook.com/devicesに入力する必要がある。これにより,Apple TV上ですぐにセッションが開かれる仕組みだ。
この目的のために両SDKには,プロセス全体を処理して,認証が成功するとデリゲートメソッドをコールするビューコントローラクラスが提供されている。
// 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のアナリティクスには,FacebookのEvents iOS SDKと同じようなイベントログ方法が提供されている。必要なのは,次のようなコールのみだ。
import FBSDKCoreKit
FBSDKAppEvents.activateApp()
アプリがアクティベートされれば,アプリのローンチ,登録完了,あるいは完全なカスタムイベントなど,事前定義されたイベントセットを自由にログすることができる。ログインの必要はない。
TwitterのCrashlyticsでは,これとは違うアプローチを採用している。アプリのエクスペリエンス,クラッシュログ,アプリケーションのインストールベースに対する影響の要約を備えたクラッシュレポートが,クラッシュ発生毎に即時に通知される仕組みだ。
FacebookのShare
FacebookのtvOS SDKには,Facebookの任意のコンテンツの共有を容易にするFBSDKShareAPI
クラスが提供されている。
TwitterのDigitsとCrashlyticsはFabricの一部としてGitHubで公開されている。FacebookのLogin, Analytics, ShareはFacebookのWebサイトからダウンロード可能だ。