Как правильно общаться между скриптами Unity C # и активностью Android? - PullRequest
1 голос
/ 27 октября 2019

Вся система мне не понятна. Допустим, я хочу создать тост по нажатию кнопки. Как мне это сделать? Я знаю о AndroidJavaClass, но в этом случае мне нужна активность для тоста. Я не могу сделать банку из расширенного UnityPlayerActivity, или я могу? (Я также знаю о способе создания тоста в единстве, этот вопрос не об этом)

На самом деле я хочу реализовать аутентификацию на основе firebase. Для этого мне нужно получить адрес электронной почты пользователя и пароль. Конечно, я могу легко создать сцену в единстве, где я получу ее, но мне нужно вызвать метод createAccount, который может быть реализован только в деятельности (потому что нам нужен контекст)

Также я не оченьХотите создать плагин, потому что я не могу вернуться к единству, или я могу?

На самом деле, похоже, что я хочу создать только спагетти. Если кто-то понимает мою проблему и знает лучшее решение, помогите.

метод createAccount из firebase:

mAuth.createUserWithEmailAndPassword(email, password)
    .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
        @Override
        public void onComplete(@NonNull Task<AuthResult> task) {
            if (task.isSuccessful()) {
                // Sign in success, update UI with the signed-in user's information
                Log.d(TAG, "createUserWithEmail:success");
                FirebaseUser user = mAuth.getCurrentUser();
                updateUI(user);
            } else {
                // If sign in fails, display a message to the user.
                Log.w(TAG, "createUserWithEmail:failure", task.getException());
                Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
                        Toast.LENGTH_SHORT).show();
                updateUI(null);
            }

            // ...
        }
    });

1 Ответ

2 голосов
/ 27 октября 2019

Я бы действительно рекомендовал вам использовать Firebase Unity SDK вместо того, чтобы пытаться реализовать все самостоятельно. Информацию о том, как выполнить аутентификацию с помощью SDK, можно найти здесь: Начало работы с Firebase Authentication в Unity

Это намного проще, уже проверено в бою, а также у вас есть многоплатформенная поддержкапрямо сейчас.

Кроме того, я действительно не хочу создавать плагин, потому что чем я не могу вернуться к единству, или я могу?

ВЕсли вы действительно хотите создать свой собственный плагин для этого: да, вы можете довольно легко связаться с C # из нативного кода. См. Пример 3 о «UnitySendMessage» на этой странице: Unity - Руководство: подключаемые модули JAR

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...