using System.Collections; using System.Collections.Generic; using System.Text; using AppleAuth; using AppleAuth.Enums; using AppleAuth.Interfaces; using AppleAuth.Native; using UnityEngine; public class AppleLogin : MonoBehaviour { public GoogleLoginManager googleLogin; IAppleAuthManager m_AppleAuthManager; public string Token { get; private set; } public string Error { get; private set; } public void Initialize() { var deserializer = new PayloadDeserializer(); m_AppleAuthManager = new AppleAuthManager(deserializer); } public void Update() { if (m_AppleAuthManager != null) { m_AppleAuthManager.Update(); } } public void LoginToApple() { // Initialize the Apple Auth Manager if (m_AppleAuthManager == null) { Initialize(); } // Set the login arguments var loginArgs = new AppleAuthLoginArgs(LoginOptions.IncludeEmail | LoginOptions.IncludeFullName); // Perform the login m_AppleAuthManager.LoginWithAppleId( loginArgs, credential => { var appleIDCredential = credential as IAppleIDCredential; if (appleIDCredential != null) { var idToken = Encoding.UTF8.GetString( appleIDCredential.IdentityToken, 0, appleIDCredential.IdentityToken.Length); Debug.Log("Sign-in with Apple successfully done. IDToken: " + idToken); Token = idToken; if (appleIDCredential == null) { MessageDialog.instance.ShowMessage("Error", "Failed to login using Apple ID.\nError Code: A-00"); }else if(appleIDCredential.Email == null) { MessageDialog.instance.ShowMessage("Error", "Failed to login using Apple ID.\nError Code: A-0E"); } else if (appleIDCredential.FullName == null) { MessageDialog.instance.ShowMessage("Error", "Failed to login using Apple ID.\nError Code: A-0U"); } var fullname = appleIDCredential.Email; Debug.Log("Email : " + appleIDCredential.Email); Debug.Log("User :" + fullname); googleLogin.OnAppleSigninDone(fullname, appleIDCredential.Email); } else { Debug.Log("Sign-in with Apple error. Message: appleIDCredential is null"); Error = "Retrieving Apple Id Token failed."; } }, error => { Debug.Log("Sign-in with Apple error. Message: " + error); Error = "Retrieving Apple Id Token failed."; } ); } }