Skip to content

Instantly share code, notes, and snippets.

@melikeeroglu
Created December 29, 2020 07:44
Show Gist options
  • Save melikeeroglu/1ebc3827ff30fa49aff3fb6ba4dcdf97 to your computer and use it in GitHub Desktop.
Save melikeeroglu/1ebc3827ff30fa49aff3fb6ba4dcdf97 to your computer and use it in GitHub Desktop.
AccountSignInWithDrive
using HuaweiMobileServices.Id;
using HuaweiMobileServices.Utils;
using UnityEngine;
using UnityEngine.UI;
using HmsPlugin;
using UnityEngine.SceneManagement;
public class AccountSignIn : MonoBehaviour
{
private const string NOT_LOGGED_IN = "No user logged in";
private const string LOGGED_IN = "{0} is logged in";
private const string LOGIN_ERROR = "Error or cancelled login";
public Text loggedInUser;
private AccountManager accountManager;
// Start is called before the first frame update
void Start()
{
loggedInUser = GameObject.Find("LoggedUserText").GetComponent<Text>();
loggedInUser.text = NOT_LOGGED_IN;
accountManager = AccountManager.GetInstance();
accountManager.OnSignInSuccess = OnLoginSuccess;
accountManager.OnSignInFailed = OnLoginFailure;
}
public void LogIn()
{
print("Login");
accountManager.SignInDrive();
}
public void LogOut()
{
print("Logout");
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject unityActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
if (unityActivity != null)
{
AndroidJavaClass toastClass = new AndroidJavaClass("android.widget.Toast");
unityActivity.Call("runOnUiThread", new AndroidJavaRunnable(() =>
{
AndroidJavaObject toastObject = toastClass.CallStatic<AndroidJavaObject>("makeText", unityActivity, "asd", 0);
toastObject.Call("show");
}));
}
accountManager.SignOut();
loggedInUser.text = NOT_LOGGED_IN;
Debug.Log("Logout");
}
public void OnLoginSuccess(AuthHuaweiId authHuaweiId)
{
print(authHuaweiId);
loggedInUser.text = string.Format(LOGGED_IN, authHuaweiId.DisplayName);
}
public void OnLoginFailure(HMSException error)
{
print(error);
loggedInUser.text = LOGIN_ERROR;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment