iOS SDK v9.0と共に、Unity SDKがアップデートされ、iOS開発者が各自のユーザーに対して制限付きログインを提供できるようになりました。要約すると、このアップデートによって、ユーザーのログイン時のIDを認証するために使われる認証トークンが、従来のFacebookログイン製品を使っている場合に利用可能なその他のグラフAPI機能と共に追加されています。
制限付きログインでは、リクエストできるアクセス許可が一部のものだけに制限されます。
public_profile
email
gaming_profile
gaming_user_picture
user_age_range
user_birthday
user_friends
user_gender
user_hometown
user_link
user_location
user_messenger_contact
Unity SDKで制限付きログインを利用するには、LoginWithTrackingPreference
機能を使ってLoginTracking
設定が特定のログインリクエストに対してLIMITED
になるように指定します。さらに、開発者はUnity SDKからの応答を認証するためにオプションのnonce
を含めることができます。OIDCトークンの認証については、制限付きログインのOIDCトークンの認証をご覧ください。
FB.Mobile.LoginWithTrackingPreference(LoginTracking.LIMITED, scopes, "nonce123", this.HandleResult);
制限付きログインまたは従来のFacebookログインのログインフローを完了したら、開発者はUnity SDKからAuthenticationToken
を取得できるようになります。開発者は、関連するAuthenticationToken
を読み取るCurrentProfile
関数を使ってProfile
オブジェクトをリクエストして、ユーザーの基本プロフィール情報を取得することができます。
private void GetProfileInfo() { var profile = FB.Mobile.CurrentProfile(); if(profile != null) { this.userName = profile.Name; this.userId = profile.UserID this.userEmail = profile.Email; this.profileImageUrl = profile.ImageURL; this.userBirthday = profile.Birthday; this.userAgeRange = profile.AgeRange; this.userFriendIDs = profile.FriendIDs; this.userGender = profile.Gender; this.userLink = profile.LinkURL; this.userHometown = profile.Hometown; this.userLocation = profile.Location; } }
現在のところ、制限付きログインと「Profile」クラスを使うことができるのはiOS SDKのみであり、その他のプラットフォームでは使えない点にご注意ください。
名前 | 説明 |
---|---|
| ログインリクエストでトラッキングを有効にしておくべきかどうかを示すEnum値。指定可能な値は |
| 現行ユーザーによってアプリケーションに認可された認証トークン文字列を含んでいるヘルパークラス。このトークンには、ユーザーのID、名前、プロフィール写真、メールアドレス(ユーザーが認可した場合)に関するデータが含まれます。 |
| 現行ユーザーの |
名前 | 説明 |
---|---|
| ユーザーが選択したトラッキング設定に基づいて、リクエストされるアクセス許可に関してアプリを認証するよう求めるプロンプトを表示します。 |
| 現行ユーザーによってアプリケーションに認可された認証トークンを返します。 |
| 現行ユーザーによってアプリケーションに認可された基本プロフィール情報を返します。 |
FB.Mobile.LoginWithTrackingPreference
パラメーター:
LoginTracking
- ENABLED
とLIMITED
のどちらかを選択するEnum Scopes
- このリクエストのPermissions
Nonce
- 応答を認証するために使われる任意の文字列 IResult
) - ログイン応答を処理するコールバック関数結果: ユーザーログインリクエストを処理し、ユーザーセッションを処理します
FB.Mobile.CurrentAuthenticationToken
パラメーター: なし
結果: ユーザーID、ユーザー名、ユーザーのプロフィール写真、ユーザーのメールアドレス(ユーザーからアクセス許可が認可されている場合)などの基本プロフィール情報を含んだ「認証トークン」を返します。
FB.Mobile.CurrentProfile
パラメーター: なし
結果: ユーザーの基本プロフィール情報を含んだプロフィールオブジェクトを返します。このオブジェクトは、ユーザーの認証トークンから自動的に取得されます。