Unity Після компіляції не працює на андроїд
Пивіт. Мене звати Володимир. Вирішив створити ігру на андроїд і зробити реєстрацію та авторизацію, зберігання даних гравця через FireBase базу данних.Все по інструкції встановив,написав код,протестував і все працювало на ПК. Скомпілював на андроїд а там не працює строка реєстрації. В чому може бути причина?Чому на ПК працює а на телефоні не працює?При натисканні на кнопку має відбутися реєстрація користувача,але цього не відбувається. auth.CreateUserWithEmailAndPasswordAsync(email.text, password.text); не спрацьовує на телефоні, текст виводить.
public void ButtonRegistr()
{
info.text = email.text + password.text;
auth.CreateUserWithEmailAndPasswordAsync(email.text, password.text);
string auto;
if(toogle.GetComponent<Toggle>().isOn == true)
{
auto = "ON";
}
else
{
auto = "OFF";
}
Save(email.text.Replace(".",""),userName.text, point.text, reward.text,auto);
}
5 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівПопробую переустановити SDK
Після компіляції попередження
File C:\Users\Vova\.android\repositories.cfg could not be loaded.
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
Функція Зберігає дані гравця і вона теж не асинхронна. Зараз попробую зробити асинхронно і протестую
public void Save(string email, string username, string point, string reward,string autologin) {
Users user = new Users(email,username, point, reward,autologin);
string json = JsonUtility.ToJson(user);
dbRef.Child("users").Child(email).SetRawJsonValueAsync(json);
}
1.
— Асинхронна функція виконується синхронно. Чому не викоритовуєте await ?
2.
- виклик повинен виконатися після відпрацювання CreateUserWithEmailAndPasswordAsync. Не зрозуміло що в тілі функції.
3. Для проекту на Android, потрібно правильно налаштувати проект в консолі Firebase, а також викачати google-services.json, який генерує Firebase. Також при налаштуванні, необхідно згенерувати Debug signing certificate SHA-1 ключ. Почитайте про SHA certificate fingerprints.
Привіт.
По-перше, зроби свою ButtonRegistr функцію асинхронною (async).
Перед викликом
додай await. Бо наскільки я розумію в Save ти хотів би сейвити дані юзера який точно створився в Firebase.
Подивись що повертає тобі Firebase як результат з виклику того асинхронного CreateUser...
Якщо нічого такого не повертає цікавого — додай try catch блок навколо await, подивись чи не виникає там ексепшену (хоча firebase sdk мало би есепшен хедлити і виводити в консоль).
Також подивись що Unity логає через adb коли робиш той асинхронний реквест