FacebookとTwitterがApple tvOS用SDKをリリース,オンボーディングとアナリティクスをサポート

FacebookTwitterが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サイトからダウンロード可能だ。