ログインフローのテスト

さまざまな条件下でFacebookログインフローが正常に動作するか、十分にテストし検証することが重要です。ログインフローをテストするには、まず別個のFacebookユーザーアカウントを作成します。

  1. Facebookの新しいテストユーザーアカウントを作成します
  2. テストユーザーの認証情報を使ってFacebookにログインします

一般的なテストケース

下記の各ユースケースをテストする前に、アプリ設定を使ってテストユーザーのFacebookアカウントから該当アプリを必ず削除してください。

1.新しいユーザーがアプリにFacebookログインする

  1. アプリで、[Facebookログイン]ボタンをタップします
  2. [OK]をタップして、読み取りアクセス許可を承認します
  3. 必要に応じ、[OK]を再度クリックして、書き込みアクセス許可を承認します
  4. アプリ設定で、許可が正しく付与されていることを確認します

2.以前に、Facebookフロー以外で同じメールアドレスを使ってログインしたユーザーが、Facebookログインする

  1. アプリで、メールアドレスを使ってログインします
  2. アプリからログアウトし、[Facebookログイン]ボタンをタップします
  3. [OK]をタップし、読み取りアクセス許可を承認します(必要に応じ、[OK]を再度タップして、書き込みアクセス許可を承認します)
  4. Facebookのアプリ設定で、許可が正しく付与されていることを確認します

3.以前にFacebookでアプリにログインしたユーザーが、再ログインする

  1. アプリに戻り、[Facebookログイン]ボタンをタップします
  2. [OK]をタップし、読み取りアクセス許可を承認します(必要に応じ、[OK]を再度タップして、書き込みアクセス許可を承認します)
  3. アプリをアンインストールしてから、再インストールします
  4. アプリを開き、[Facebookログイン]ボタンをタップします
  5. アクセス許可ダイアログが表示されることなくログインできることを確認します

4.ユーザーがFacebookログインをキャンセルし、再ログインしようとする

  1. アプリで、[Facebookログイン]ボタンをタップします
  2. 読み取りアクセス許可が表示されていることを確認し、[キャンセル]をタップします
  3. アプリを開き、[Facebookログイン]ボタンをタップします
  4. 読み取りアクセス許可が再度表示されていることを確認します

5.ユーザーがFacebookのアプリ設定でアプリを削除した後、再びアプリを利用する。アプリがこれを検出し、再ログインするようメッセージを出す。

  1. アプリで、[Facebookログイン]ボタンをタップします
  2. [OK]をタップし、読み取りアクセス許可を承認します(必要に応じ、[OK]を再度タップして、書き込みアクセス許可を承認します)
  3. Facebookのアプリ設定で、該当アプリを削除します
  4. ステップ1~2を繰り返し、Facebookログインが機能することを確認します

6.ユーザーがFacebookログインでアプリにログインした後、Facebookのパスワードを変更する

この場合、トークンは無効になります。Facebookセッションの期限が切れたため、もう一度ログインするようユーザーに通知する必要があります。

  1. Facebookのパスワードを変更し、[他のデバイスからログアウトする]を選択します
  2. アプリで、[Facebookログイン]ボタンをタップします
  3. [OK]をタップし、読み取りアクセス許可を承認します(必要に応じ、[OK]を再度タップして、書き込みアクセス許可を承認します)
  4. Facebookのアプリ設定で、許可が正しく付与されていることを確認します

7.ユーザーがアプリ設定でFacebookプラットフォームを無効にし、アプリにログインする

この場合、アプリでエラーが検出され、ユーザーへの通知と、iOS統合バージョン以外のFacebookログインへのリダイレクトが行えることを確認する必要があります。

  1. アプリ設定で、テストユーザーのプラットフォームをオフにします
  2. アプリで、[Facebookログイン]ボタンをタップします
  3. [OK]をタップし、読み取りアクセス許可を承認します(必要に応じ、[OK]を再度タップして、書き込みアクセス許可を承認します)
  4. プラットフォームがオンになっており、テストユーザーのプロフィールに、正しいプライバシー設定でアプリが追加されていることを確認します

8.アプリのトークンの期限が切れているときに、ユーザーがアプリに再びアクセスする

トークンの期限切れの処理に関するガイドをご覧ください

9.ゲームのステータスを複数のデバイス間で同期させたい場合に、同期ステートをテストする

  1. Facebookログインでアプリにログインし、特定のレベルXに達するまでアプリのゲームをプレイします
  2. 同じオペレーティングシステム、または異なるオペレーティングシステムを利用する別のデバイスを使い、Facebookログインでログインし、レベルXのままであるかテストします

iOSでのテストが必要な他のユースケース

1.Facebookアプリがインストールされ、iOSのFacebook統合が有効になっている場合に、ユーザーがアプリにログインする

Facebookログインの読み取りアクセス許可のリクエストに対しユーザーが[キャンセル]をクリックした場合、ユーザーはiOSのシステム設定でアプリのログインを再度有効にする必要があります。

ユーザーが以前にiOS統合ログインでFacebookの許可を拒否した場合、アプリは今後の許可リクエストに、従来の高速アプリ切り替えを使用する必要があります。SDK呼び出しのため、この場合にFBSessionLoginBehaviorUseSystemAccountIfPresentをFBSessionLoginBehaviorとして使用しないでください。3.24以前のバージョンのSDKについてはFBSession、それより新しいバージョンについてはFBSDKAccessToken currentAccessTokenFBSDKLoginManagerをご覧ください。

2.Facebookアプリがインストールされておらず、iOSのFacebook統合が有効になっていない場合に、ユーザーがアプリにログインする

  1. アプリで、[Facebookログイン]ボタンをタップします
  2. モバイルサイトのFacebookログイン画面が表示されることを確認し、ログインします
  1. [OK]をタップし、読み取りアクセス許可を承認します(必要に応じ、[OK]を再度タップして、書き込みアクセス許可を承認します)
  2. Facebookのアプリ設定で、許可が正しく付与されていることを確認します

3.Facebookアプリがインストールされておらず、iOSのFacebook統合が有効になっている場合に、ユーザーがアプリにログインする

  1. アプリで、[Facebookログイン]ボタンをタップします
  2. [OK]をタップし、読み取りアクセス許可を承認します(必要に応じ、[OK]を再度タップして、書き込みアクセス許可を承認します)
  3. Facebookのアプリ設定で、許可が正しく付与されていることを確認します

テストユーザー

アプリ設定([役割]の下、つまりhttps://developers.facebook.com/apps/{YOUR_APP_ID}/roles/test-users/)で、スパミングを心配することなくFacebook統合を確認するためのテストユーザーアカウントを作成できます。

iOS SDKでは、(FBSDKCoreKit内の)クラスFBSDKTestUsersManagerを使用すると、テストユーザーのアクセストークンを簡単に取得し、自動統合テストを作成できます。このクラスにはapp secretが必要です。app secretがリリース済みのアプリに含まれていないことを確認してください。