簡體   English   中英

unity c# 腳本和 android 活動之間如何正確通信?

[英]How to communicate properly between unity c# scripts and android activity?

整個系統對我來說不是很清楚。 假設我想在單擊按鈕時創建一個 toast。 我怎么做? 我知道 AndroidJavaClass,但在這種情況下,我需要 toast 的活動。 我不能從擴展的 UnityPlayerActivity 中制作 jar,或者我可以嗎? (我也知道統一創建吐司的方法,這個問題不是那個)

實際上,我想實現 firebase 身份驗證。 為此,我需要獲取用戶的 email 和密碼。 當然,我可以很容易地統一創建一個場景,但我需要調用一個只能在活動中實現的 createAccount 方法(因為我們需要上下文)

另外我真的不想創建一個插件,因為我不能回調統一,或者我可以嗎?

實際上,我想要的方式似乎只會制作意大利面。 如果有人了解我的問題並知道更好的解決方案,請提供幫助。

firebase 中的 createAccount 方法:

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

            // ...
        }
    });

我真的建議您使用 Firebase Unity SDK 而不是嘗試自己實現所有內容。 有關如何使用 SDK 進行身份驗證的信息,請參見此處: Unity 中的 Firebase 身份驗證入門

這更容易,已經過實戰測試,然后您也可以立即獲得多平台支持。

另外我真的不想創建一個插件,因為我不能回調統一,或者我可以嗎?

如果您真的想構建自己的本機插件來執行此操作:是的,您可以相當容易地從本機代碼與 C# 通信。 請參閱本頁上有關“UnitySendMessage”的示例 3: Unity - 手冊:JAR 插件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM