Added firebase and playfab sign in

main-FireBaseAuth
Hazim Bin Ijaz 1 month ago
parent e0de8ccb2a
commit 0e6fd6b319

@ -198,6 +198,53 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 83133762}
m_CullTransparentMesh: 1
--- !u!21 &99403971
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: 2DxFX/Standard/Shiny_Reflect
m_Shader: {fileID: 4800000, guid: 6fc94ae14d17d3642b09718b5b932fd2, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex2:
m_Texture: {fileID: 2800000, guid: 6ed1aafd335608e48aa3198044a161df, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _Alpha: 0
- _ColorMask: 15
- _Distortion: 0.47358456
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _Value2: 0.5
- _Value3: 1
- _Value4: 0
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []
--- !u!1 &127207264
GameObject:
m_ObjectHideFlags: 0
@ -863,6 +910,51 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 439213423}
m_CullTransparentMesh: 1
--- !u!1 &479665480
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 479665482}
- component: {fileID: 479665481}
m_Layer: 0
m_Name: GoogleSignInHandler
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &479665481
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 479665480}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 45ec4119cd173084d8102fa5bb179386, type: 3}
m_Name:
m_EditorClassIdentifier:
googleSignInButton: {fileID: 1119814872}
--- !u!4 &479665482
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 479665480}
serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 357.77216, y: 590.00824, z: -2.5999413}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &502314208
GameObject:
m_ObjectHideFlags: 0
@ -2718,7 +2810,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 1380792927}
m_Material: {fileID: 99403971}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
@ -2791,53 +2883,6 @@ Transform:
m_Children: []
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!21 &1380792927
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: 2DxFX/Standard/Shiny_Reflect
m_Shader: {fileID: 4800000, guid: 6fc94ae14d17d3642b09718b5b932fd2, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex2:
m_Texture: {fileID: 2800000, guid: 6ed1aafd335608e48aa3198044a161df, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _Alpha: 0
- _ColorMask: 15
- _Distortion: 1.1174531
- _Stencil: 0
- _StencilComp: 8
- _StencilOp: 0
- _StencilReadMask: 255
- _StencilWriteMask: 255
- _Value2: 0.5
- _Value3: 1
- _Value4: 0
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []
--- !u!1 &1407567915
GameObject:
m_ObjectHideFlags: 0
@ -3617,3 +3662,4 @@ SceneRoots:
- {fileID: 1797903893}
- {fileID: 1466205357}
- {fileID: 502314209}
- {fileID: 479665482}

@ -12,7 +12,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 093286084a3d1994a9c28281a1c38b1d, type: 3}
m_Name: PlayFabSharedSettings
m_EditorClassIdentifier:
TitleId:
TitleId: 168AE2
DeveloperSecretKey:
ProductionEnvironmentUrl:
RequestType: 0

@ -22,10 +22,5 @@ public class FirebaseInit : MonoBehaviour
}
});
}
// Update is called once per frame
void Update()
{
}
}

@ -0,0 +1,102 @@
using System;
using Firebase.Auth;
using Google;
using UnityEngine;
using System.Threading.Tasks;
using Firebase.Extensions;
using PlayFab;
using PlayFab.ClientModels;
using UnityEngine.UI;
public class GoogleSignInHandler : MonoBehaviour
{
private FirebaseAuth auth;
private GoogleSignInConfiguration configuration;
[SerializeField] private Button googleSignInButton;
private void OnEnable()
{
googleSignInButton.onClick.AddListener(SignInWithGoogle);
}
private void OnDisable()
{
googleSignInButton.onClick.RemoveListener(SignInWithGoogle);
}
void Start()
{
PlayFabSettings.staticSettings.TitleId = GameConstants.PlayfabTitleId;
auth = FirebaseAuth.DefaultInstance;
configuration = new GoogleSignInConfiguration
{
WebClientId = GameConstants.WebClientID,
RequestEmail = true,
RequestAuthCode = true,
RequestIdToken = true
};
GoogleSignIn.Configuration = configuration;
GoogleSignIn.DefaultInstance.EnableDebugLogging(true);
}
private void SignInWithGoogle()
{
if (GoogleSignIn.Configuration == null)
{
Debug.LogWarning("Google Sign-In Configuration is not set.");
return;
}
GoogleSignIn.DefaultInstance.SignIn().ContinueWith(OnGoogleSignIn);
}
private void OnGoogleSignIn(Task<GoogleSignInUser> task)
{
if (task.IsFaulted || task.IsCanceled || task.Result == null)
{
Debug.LogError("Google Sign-In failed.");
return;
}
// Firebase uses ID token
var firebaseCredential = GoogleAuthProvider.GetCredential(task.Result.IdToken, null);
FirebaseAuth.DefaultInstance.SignInWithCredentialAsync(firebaseCredential).ContinueWith(authTask =>
{
if (authTask.IsCompleted && !authTask.IsFaulted)
{
Debug.Log("Firebase sign-in successful");
// PlayFab uses ServerAuthCode
var request = new LoginWithGoogleAccountRequest
{
TitleId = PlayFabSettings.staticSettings.TitleId,
ServerAuthCode = task.Result.AuthCode,
CreateAccount = true
};
PlayFabClientAPI.LoginWithGoogleAccount(request, OnPlayFabLoginSuccess, OnPlayFabLoginFailure);
}
else
{
Debug.LogError("Firebase sign-in failed: " + authTask.Exception);
}
});
}
private void OnPlayFabLoginSuccess(LoginResult result)
{
Debug.Log("✅ PlayFab Login Success! PlayFab ID: " + result.PlayFabId);
SafePlayerPrefs.SetString("PlayFabID", result.PlayFabId);
PlayerPrefs.Save();
}
private void OnPlayFabLoginFailure(PlayFabError error)
{
Debug.LogError("PlayFab Login Failed: " + error.GenerateErrorReport());
googleSignInButton.gameObject.SetActive(true);
googleSignInButton.interactable = true;
}
}

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 45ec4119cd173084d8102fa5bb179386
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

@ -13,6 +13,7 @@ public class GameConstants
public static string PrivacyPolicyLink = "https://rizze.io/eula";
public static string OSN_Android = "3ee530aa-8613-485b-9cbd-0263727badc5";
public static string OSN_iOS = "aabdcf42-77ef-47c3-83f7-c97a1af87a5f";
public static string WebClientID = "627393855302-ie99j5loumrkt3gqi5mopa1c1avu7o86.apps.googleusercontent.com";
public static string AndroidURL =

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 727af0cfe68fd1842b3f24039411676e
guid: 045794a207c1f9c45b4d2b327c43ddaa
TextScriptImporter:
externalObjects: {}
userData:

Loading…
Cancel
Save