This document is about: PUN 2
SWITCH TO

PUN Classic (v1)、PUN 2、Boltはメンテナンスモードとなっております。Unity2022についてはPUN 2でサポートいたしますが、新機能が追加されることはありません。お客様のPUNプロジェクトおよびBoltプロジェクトが停止することはなく、将来にわたってパフォーマンス性能が落ちることはありません。 今後の新しいプロジェクトについては、Photon FusionまたはQuantumへ切り替えていただくようよろしくお願いいたします。

Facebookでカスタム認証

コンテンツ

概要
Facebookアプリケーションの作成
Photon Dashboardの設定
PUNの設定
カスタム認証の実施
アプリケーションのデプロイ
まとめ

概要  

このチュートリアルではFacebookの カスタム認証を使ってPhoton Unity Networking (PUN) プロジェクトを作ります。

Facebookアプリケーションの作成  

ます、Facebook Developersウェブサイトでアプリケーションを作成します。Apps -> Create a New App(新しいAppの作成) ->  Appの名前を入力 -> Create Appボタンの順に進んでください。次に、Choose Apps ->* [your_app] と進み、App IDApp Secret*をコピーしてください。

Photon Dashboard  

Photon Dashboardを開いて使用するApp Idを選択して詳細をクリックしてください。認証タブで*「独立して構成されたプロバイダーに対して、匿名クライアントの接続を許可します」のチェックを外してください。Facebook認証プロバイダを選択してApp IDSecretを貼り付けてください。「クライアントがいない場合、全てのクライアントを拒否する」*にチェックを入れてください。

PUNの設定  

Unityを開いてPUNをインポート及び設定 してください。Facebook SDK for Unityをインポートしてください。UnityのメインメニューからFacebook -> Edit Settingsと進み、FacebookアプリケーションのNameApp IDを入力してください。

カスタム認証の実施 

新しいC# Scriptを作成してシーンのオブジェクトに添付してから開いてください。次のコードでFacebookを初期化して、ログインしてください。

C#


    using Facebook;
    void Awake()
    {
        FB.Init(SetInit, OnHideUnity);
    }

    private void SetInit()
    {
        enabled = true;
        if (FB.IsLoggedIn)
        {
            Debug.Log("SetInit()");
            OnLoggedIn();
        }
    }

    private void OnHideUnity(bool isGameShown)
    {
        Debug.Log("OnHideUnity()");
    }  

    void LoginCallback(FBResult result)
    {
        if (FB.IsLoggedIn)
        {
            OnLoggedIn();
        }
    }

Facebookログイン画面を開くボタンを追加:

C#


    void OnGUI()
    {
        if (!FB.IsLoggedIn)
        {
            if (GUI.Button(new Rect(10, 10, 100, 20), "Login to Facebook")) {
                FB.Login("email", LoginCallback);
            }
        }
        GUI.Label(new Rect(200, 50, 100, 20), PhotonNetwork.connectionStateDetailed.ToString());
    }

PUNにFacebook認証を使用するには次を追加:

C#


    void OnLoggedIn()
    {
            PhotonNetwork.AuthValues = new AuthenticationValues();
            PhotonNetwork.AuthValues.AuthType = CustomAuthenticationType.Facebook;
            PhotonNetwork.AuthValues.UserId = FB.UserId; // alternatively set by server
            PhotonNetwork.AuthValues.AddAuthParameter("username", FB.UserId);
            PhotonNetwork.AuthValues.AddAuthParameter("token", FB.AccessToken);
            PhotonNetwork.ConnectUsingSettings("1.0");
    }

アプリケーションのデプロイ  

Facebookでは自身のhttps可能ウェブサーバでアプリケーションホスティングを行う必要があります。

IISやWAMP等のローカルのウェブサーバを使用して行うこともできますが、Dropboxに.unity3dファイルを追加するのが一番簡単です。 .unity3dファイルをDropboxのPublicフォルダに追加して、リンクをFacebook AppのUnity Binary URL に貼り付けてください。

まとめ  

このチュートリアルではFacebook APIとPUNの統合に必要な基本的なステップを説明しました。

ご不明な点がありましたらフォーラムからお問い合わせください。

Back to top