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);
}

Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини про геймдев.

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Попробую переустановити 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.

auth.CreateUserWithEmailAndPasswordAsync(email.text, password.text);

— Асинхронна функція виконується синхронно. Чому не викоритовуєте await ?
2.

Save(email.text.Replace(".",""),userName.text, point.text, reward.text,auto);

- виклик повинен виконатися після відпрацювання CreateUserWithEmailAndPasswordAsync. Не зрозуміло що в тілі функції.
3. Для проекту на Android, потрібно правильно налаштувати проект в консолі Firebase, а також викачати google-services.json, який генерує Firebase. Також при налаштуванні, необхідно згенерувати Debug signing certificate SHA-1 ключ. Почитайте про SHA certificate fingerprints.

Привіт.

По-перше, зроби свою ButtonRegistr функцію асинхронною (async).
Перед викликом

auth.CreateUserWithEmailAndPasswordAsync

додай await. Бо наскільки я розумію в Save ти хотів би сейвити дані юзера який точно створився в Firebase.
Подивись що повертає тобі Firebase як результат з виклику того асинхронного CreateUser...
Якщо нічого такого не повертає цікавого — додай try catch блок навколо await, подивись чи не виникає там ексепшену (хоча firebase sdk мало би есепшен хедлити і виводити в консоль).

Також подивись що Unity логає через adb коли робиш той асинхронний реквест

adb logcat -s Unity ActivityManager PackageManager dalvikvm DEBUG

Підписатись на коментарі