View in English

  • メニューを開く メニューを閉じる
  • Apple Developer
検索
検索を終了
  • Apple Developer
  • ニュース
  • 見つける
  • デザイン
  • 開発
  • 配信
  • サポート
  • アカウント
次の内容に検索結果を絞り込む

クイックリンク

5 クイックリンク

ビデオ

メニューを開く メニューを閉じる
  • コレクション
  • トピック
  • すべてのビデオ
  • 利用方法

その他のビデオ

ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。

  • 概要
  • トランスクリプト
  • コード
  • tvOSアプリにおけるサインインのシンプル化

    iOSデバイスやiPadOSデバイスでユーザがFace IDまたはTouch IDを使用して購入を承認したり、tvOS Appにサインインしたりする方法を紹介します。Appを使う人のサインインを簡素化して、楽しみたいコンテンツに素早くアクセスできるようにする方法を紹介します。簡素化されたサインインプロセスを設定する方法と、Apple TV向けの優れたサインイン体験を作成するためのベストプラクティスを紹介します。 このセッションを最大限活かしていただくためには、関連する分野とAuthentication Servicesフレームワークの基礎を理解していることが推奨されます。

    リソース

    • Simplifying User Authentication in a tvOS App
      • HDビデオ
      • SDビデオ

    関連ビデオ

    WWDC22

    • tvOS Appにおける複数ユーザーのサポート

    WWDC21

    • パスワードを超えたその先に
    • iCloudキーチェーン認証コードによるセキュアなログイン
    • Tuesday@WWDC21
  • ダウンロード

    ♪ ♪ こんにちは ケイレブです tvOSチームの ソフトウェアエンジニアです 本日は tvOS 15での サインインの 改善点について お話ししたいと思います 私たちは Apple TVをお使いの すべての方が 出来るだけスムーズに コンテンツにアクセス できるよう考えています つまり Appへの サインインのプロセスは スムーズかつ面倒が無い 必要があります 最も一般的な サインインの方法は パスワードを 使用することです ユーザーは強力で使い回しの 無いパスワードを 推奨されますが 入力は面倒です tvOS 15では パスワードによる サインインをこれまでになく 簡単に行う優れた 新機能があります 新しいシステムサインイン 画面から始めます この画面には 重要な機能があります まず tvOS全体で 一貫した サインイン体験を提供します 次に iPhoneまたは iPadを使用して サインインが可能なことを ユーザーに通知します また Appがサポートする 他のサインインタイプの オプションを ユーザーに提供します これは後で詳しく説明します まず iPhoneやiPadでの サインインから説明します Appでサインインを 開始した後に iPhoneを起動すると Apple TVからこのような 通知が表示されます 通知をタップすると iPhoneはサインインの プロセスをガイドします iCloudキーチェーンからの 認証が提案され Face IDを使用して サインインできます すると 認証情報は Apple TVに返されます Appのサインインは完了し ユーザーはコンテンツに アクセスできます ここでお伝えしたいのは テキスト入力が 不要だということです Apple TVと iPhoneやiPadが 協力して ユーザーの サインインが完了する 最高の体験を提供できます このサインイン方法は 簡単に実装可能です すべてのApple プラットフォームには Appでのサインイン用の ハイレベルなAPIが用意されています tvOS 15では特に強力です 少しのコードで 先ほど紹介した素晴らしい サインイン体験を 最大限に活用できます ではご紹介します Appの関連ドメインの 構成から始めましょう 関連ドメインはAppと ドメインの間に セキュアなリンクを確立します これにより Apple TVと iPhoneやiPadが連携して サインインに使用する資格 情報を安全に提案できます まず 自分のドメインで ホストされている apple-app-site-association ファイルの webcredentialsキーに tvOS Appの識別子を記載します

    次に Associated Domain機能を Xcodeで tvOS Appに対し追加します 最後にwebcredentials プレフィックスを使用して Associated Domainsに ドメインを追加します Appでのウェブ認証ドメインの 設定については WWDC 2017のビデオから “Introducing Password AutoFill for Apps" をご覧ください 次に Authentication Servicesを使用して 認証を要求する方法を 紹介します コードを見てみましょう こちらが認証を要求する際に 必要な基本的な要素です すでにiOSやmacOSで AuthenticationServices APIを ご利用なら 見覚えがあるでしょう まず パスワード リクエストを使用して ASAuthorizationController インスタンスを作成します このAPIの強力な点は 複数の異なる 種類のリクエストを 指定できることです Appが Appleでサインイン もサポートしていれば Apple IDリクエストを 承認リクエストの配列に 含めることができます 複数のリクエストを 指定すると iPhoneやiPadでは サインインする際に どのタイプの認証 資格を使用するかを ユーザーが決定できます 次に 自身を 承認コントローラーの デリゲートに設定し performRequestsを 呼び出して サインインを開始します

    ここで ASAuthorization- ControllerDelegateから いくつかのメソッドを 実装する必要があります

    ユーザーがiPhoneや iPadで使用する 認証資格を選択すると システムは didCompleteWith Authorizationを呼び出します

    これで認証資格を 持つユーザーと パスワードを使って サインインを完了できます 失敗した場合 didComplete WithErrorが呼び出されます

    ユーザーがサインインを キャンセルすると Appがメインの サインインUIに 戻るよう このメソッドに戻ります それ以外の場合 問題が発生したことと 再試行する必要があることを ユーザーに通知します 次にシステムの サインイン画面を カスタマイズする 方法を紹介します カスタム認証メソッドAPIは Appがサポートする 他のログインタイプの ボタンを表示できます

    “.other”は 非常に柔軟性があります このオプションを使用すると ユーザー名と パスワードを求めるような 手動のサインインフローに 直接移動できます または ユーザーが 別のタイプのサインインを 選択して実行できる 独自のUIにナビゲート することもできます ユーザーが テレビプロバイダの アカウントを使用して サインインするAppの場合 .videoSubscriberAccount を使用します .restorePurchaseは ユーザーが App内課金をリストアして サインインできます ユーザーがこれらの カスタム認証方法のどれかを 選択すると Appは 要求されたサインイン フローを開始できます その仕組みを見てみましょう まず 先ほどお見せした ASAuthorizationController コードに戻ります カスタムサインイン オプションを表示するために 認証コントローラーに customAuthorizationMethods プロパティを設定します この例では .otherと .restorePurchaseを 使用して サインイン画面に “Sign in Manually”と “Restore Purchase”を 表示します Appに合わせて 適切な値を選択してください

    ユーザーがカスタム 認証方法を選択すると authorizationController を使用して didCompleteWithCustom Methodを呼び出します この方法では 渡された値をチェックして ユーザーが要求する種類の サインインを実行できます

    最後にいくつかの ベストプラクティスを ご紹介します tvOSでの 最高のサインイン体験は 1つの“Sign In” ボタンから始まります ユーザーがサインインする際 明確な選択肢を提供して ユーザーをガイドします 既存のサインイン体験を 新しいシステムの サインイン画面にすることで ユーザーは 常にiPhoneやiPadで サインインが可能になります カスタム認証メソッドAPIは ユーザーに追加のサインイン オプションを提供する 優れた方法です tvOS 15では 優れたサインイン体験を これまで以上に 簡単に構築できます システムサインイン 画面を使用すると ユーザーはiPhoneやiPadで サインインできます AuthenticationServicesの 新しい強力な APIを使えば 簡単に始めることができます

    このプレゼンで紹介した 例を詳しく見るには 開発者用Appの このセッションの サンプルコード プロジェクトをどうぞ AuthenticationServices フレームワークを使い すべてのApple プラットフォームで 優れたサインイン体験を 構築するための 方法については WWDC 2019の “認証の新機能” ビデオをご覧ください ありがとうございました [軽快な音楽]

    • 3:28 - Request a credential

      let controller = ASAuthorizationController(authorizationRequests: [
          ASAuthorizationPasswordProvider().createRequest()
      ])
      
      controller.delegate = self
      controller.performRequests()
    • 4:19 - Finish signing in

      func authorizationController(controller: ASAuthorizationController,
          didCompleteWithAuthorization authorization: ASAuthorization) {
          if let credential = authorization.credential as? ASPasswordCredential {
              // Use the credential to sign in
          }
      }
    • 4:43 - Handle errors

      func authorizationController(controller: ASAuthorizationController,
          didCompleteWithError error: Error) {
          if case ASAuthorizationError.canceled = error  { return }
          // Let the user know something went wrong
      }
    • 6:00 - Specify custom authorization methods

      controller.customAuthorizationMethods = [
          // Sign in Manually
          .other,
          // Restore Purchase
          .restorePurchase
      ]
  • 特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。

    クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。

Developer Footer

  • ビデオ
  • WWDC21
  • tvOSアプリにおけるサインインのシンプル化
  • メニューを開く メニューを閉じる
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    メニューを開く メニューを閉じる
    • アクセシビリティ
    • アクセサリ
    • App Extension
    • App Store
    • オーディオとビデオ(英語)
    • 拡張現実
    • デザイン
    • 配信
    • 教育
    • フォント(英語)
    • ゲーム
    • ヘルスケアとフィットネス
    • アプリ内課金
    • ローカリゼーション
    • マップと位置情報
    • 機械学習
    • オープンソース(英語)
    • セキュリティ
    • SafariとWeb(英語)
    メニューを開く メニューを閉じる
    • 英語ドキュメント(完全版)
    • 日本語ドキュメント(一部トピック)
    • チュートリアル
    • ダウンロード(英語)
    • フォーラム(英語)
    • ビデオ
    Open Menu Close Menu
    • サポートドキュメント
    • お問い合わせ
    • バグ報告
    • システム状況(英語)
    メニューを開く メニューを閉じる
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles(英語)
    • フィードバックアシスタント
    メニューを開く メニューを閉じる
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program(英語)
    • News Partner Program(英語)
    • Video Partner Program(英語)
    • セキュリティ報奨金プログラム(英語)
    • Security Research Device Program(英語)
    Open Menu Close Menu
    • Appleに相談
    • Apple Developer Center
    • App Store Awards(英語)
    • Apple Design Awards
    • Apple Developer Academy(英語)
    • WWDC
    Apple Developerアプリを入手する
    Copyright © 2025 Apple Inc. All rights reserved.
    利用規約 プライバシーポリシー 契約とガイドライン