ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 06/30 파이어베이스(Firebase) 사용 연습
    게임 플랫폼 응용프로그래밍 2021. 6. 30. 12:34

    파이어베이스

    실시간 데이터베이스

    클라우드 저장

    애널리틱스

     

    https://minquu.tistory.com/202

     

    0630_ 서버(FireBase)

    파이어 베이스를 한다. 2가지 할 것이다. 1.실시간 데이터 베이스 2.구글 애널리틱스 ---- 먼저 앱 등록을 해야한다. https://firebase.google.com/?gclid=CjwKCAjwieuGBhAsEiwA1Ly_nbYl-Mw1oHrXWl7cFWEJFVQFEBwdM..

    minquu.tistory.com

     

    app.cs

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    using GooglePlayGames;
    using GooglePlayGames.BasicApi;
    using UnityEngine.SocialPlatforms;
    using UnityEngine.SceneManagement;
    
    public class App : MonoBehaviour
    {
        public enum ePlayMode
        {
            TEST, BUILD
        }
    
        public Text versionText;
        public Text txtid;
        public Text txtUserName;
        public Text txtState;
        public Text txtAuthenicate;
        public Image thumb;
        public Button btnStart;
        public ePlayMode playMode;
        void Start()
        {
            versionText.text = Application.version;
    
            if (this.playMode == ePlayMode.TEST)
                this.btnStart.gameObject.SetActive(true);
            else
                this.btnStart.gameObject.SetActive(false);
    
            //this.btnStart.gameObject.SetActive(false);
            this.btnStart.onClick.AddListener(() =>
            {
                SceneManager.LoadScene("GameScene");
                SceneManager.LoadSceneAsync("GameScene").completed += (oper) =>
                {
                    var gameMain = GameObject.FindObjectOfType<GameMain>();
                    gameMain.Init(Social.localUser.id);
                };
            });
    
            Debug.Log("================================> Init GPGS");
    
            PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
                .EnableSavedGames()
                .RequestIdToken()
                .Build();
    
            PlayGamesPlatform.InitializeInstance(config);
            // recommended for debugging:
            PlayGamesPlatform.DebugLogEnabled = true;
            // Activate the Google Play Games platform
            PlayGamesPlatform.Activate();
    
            Debug.Log("================================> Authenticate");
    
            // authenticate user:
            PlayGamesPlatform.Instance.Authenticate(SignInInteractivity.CanPromptAlways, (result) =>
            {
                this.txtAuthenicate.text = result.ToString();
                if (result == SignInStatus.Success)
                {
                    var localUer = (PlayGamesLocalUser)Social.localUser;
                    var googleIdToken = localUer.GetIdToken();
                    Debug.LogFormat("googleIdToken : {0}", googleIdToken);
    
                    Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
                    Firebase.Auth.Credential credential =
                    Firebase.Auth.GoogleAuthProvider.GetCredential(googleIdToken, null);
                    auth.SignInWithCredentialAsync(credential).ContinueWith(task => {
                        if (task.IsCanceled)
                        {
                            Debug.LogError("SignInWithCredentialAsync was canceled.");
                            return;
                        }
                        if (task.IsFaulted)
                        {
                            Debug.LogError("SignInWithCredentialAsync encountered an error: " + task.Exception);
                            return;
                        }
    
                        Firebase.Auth.FirebaseUser newUser = task.Result;
                        Debug.LogFormat("User signed in successfully: {0} ({1})",
                            newUser.DisplayName, newUser.UserId);
                    });
                }
    
                // handle results
                Debug.Log("================================>" + result);
                Debug.Log("================================>" + Social.localUser);
                Debug.Log("================================>" + Social.localUser.authenticated);
    
                this.txtid.text = Social.localUser.id;
                this.txtUserName.text = Social.localUser.userName;
                this.txtState.text = Social.localUser.state.ToString();
                
    
                StartCoroutine(this.WaitForLoadThumb(() =>
                {
                    Debug.Log(Social.localUser.image);
                    
                    this.thumb.sprite = Sprite.Create(Social.localUser.image, new Rect(0, 0, Social.localUser.image.width, Social.localUser.image.height), Vector2.zero);
                    this.thumb.SetNativeSize();
                }));
    
            });
        }
    
        private IEnumerator WaitForLoadThumb(System.Action callback)
        {
            while(true)
            {
                if(Social.localUser.image != null)
                {
                    break;
                }
                yield return null;
            }
            callback();
        }
    }
    

     

    adb connect 127.0.0.1:62001

    adb logcat -s Unity

    '게임 플랫폼 응용프로그래밍' 카테고리의 다른 글

    07/22 Unity ads 붙이기  (0) 2021.07.22
    07/21 Unity IAP  (1) 2021.07.21
    06/25 웹뷰  (0) 2021.06.25
    06/24 네이버로그인  (0) 2021.06.24
    06/24 GPGS 4 리더보드  (0) 2021.06.24
Designed by Tistory.