認証

【PlayFab】何も考えずにログイン処理を実装する【1行で可能】

playfab-login

PlayFabで必ず必要になる処理があります。

それが「ログインの処理」です。

プレイヤーのログイン処理については公式ドキュメントにも記載がありますが、書いてあることが難しいんですよね。

でもログインができないと先に進みません。

ですが、ここで「難しいしPlayFabを使うのをやめようかな」と感じてしまうのはもったいないです。

実はすでにサンプルとして実装されているものがあり、それを流用すれば1行でログインすることが可能になります。

ということで、具体的な方法を見ていきましょう。

PlayFabで何も考えずにログイン処理を実装する

PlayFabAuthServiceをもってくる

PlayFabのGitHubを見ると、PlayFabAuthService.csというクラスがあるのですが、これがかなり優秀です。

なんと、以下のログインのサンプルコードがすでに実装されています。

  • サイレントログイン
  • Email と Password でログイン
  • Facebook アカウントでのログイン
  • Google アカウントでのログイン

これは使わない手はないですね。

ということで、これをローカルにコピーしてきましょう。

ログイン処理の呼び出し

あとは、PlayFabAuthService のログイン処理を呼び出すだけです。

今回はサイレントログインで実装します。

PlayFabController というクラスのStartメソッドに、1行追加しましょう。

public class PlayFabController : MonoBehaviour
{
  void Start()
  {
    PlayFabAuthService.Instance.Authenticate(Authtypes.Silent);
  }
}

これでソースコードの準備は完了です。

ペンギンくん
ペンギンくん
これなら僕にでもできそうだ!

スクリプトをアタッチ

あとは、空のオブジェクトにスクリプトをアタッチしてあげるだけで、ログインの準備は完了です。

PlayFabControllerをアタッチ

イベントを紐付ける

ただこれだけだと、ログインしたかどうかがわかりにくいです。

ログイン成功時のイベント(OnLoginSuccess)を、PlayFabController と紐付けしてあげましょう。

public class PlayFabController : MonoBehaviour
{
  void OnEnable()
  {
    PlayFabAuthService.OnLoginSuccess += PlayFabLogin_OnLoginSuccess;
  }
  private void PlayFabLogin_OnLoginSuccess(LoginResult result)
  {
     Debug.Log("Login Success!");
  }
}

当然ですが、Authenticate メソッドよりも前で紐付けてあげる必要があります。

実行して以下のログが表示されればOKです。

ログイン成功のログ

今回はサイレントログインだけですが、興味があれば他のログイン方法も試してみてください。

また、余裕がある人は PlayFabAuthService.cs の中身で何が処理されているのかを見てみると、勉強になると思います。

イベントの紐付けを解除する

ここで終わりではありません。

たとえば、Unity で別のシーンに遷移して戻ってきたときなど、もう一度 Start メソッドが呼ばれるんですね。

このとき、今のままの処理だと、ログイン成功時のイベントが複数紐付いてしまうという問題が残ってしまいます。

なので、OnDisable メソッドなどを利用して、ログイン成功時の処理の紐付けをいったん解除してあげる必要があります。

private void OnDisable()
{
    PlayFabAuthService.OnLoginSuccess -= PlayFabLogin_OnLoginSuccess;
}

これをやっておかないと、ログイン後の処理が2回、3回と重複して動いてしまうので注意してください。

最後に

PlayFabAuthServiceのクラスを使用してログインする方法について解説しました。

すでに出来上がっている仕組みは最大限利用して、車輪の再発明はしないようにするのが大切です。

今の時代、難しいロジックを自分で組めることよりも、「いろんなAPIや仕組みを組み合わせて何を生み出すか」が重要になると思います。

この記事を参考にログイン処理をすぐに完成させて、時間をかけるべきところに作業を集中してくださいね。

オンライン書籍「猫でもわかる PlayFab 入門」
playfab-book

日本で初めて、PlayFab の参考書を発売しました。

100時間以上の学習内容を凝縮した参考書です。入門として必要な知識は、すべてこの本に記載しました。

 

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です