整个系统对我来说还不清楚。假设我要在单击按钮时创建烤面包。我怎么做?我知道AndroidJavaClass,但是在这种情况下,我需要进行烤面包的活动。我无法使用扩展的UnityPlayerActivity制作罐子,还是可以吗? (我也知道统一制作烤面包的方式,这个问题不是这个意思)

实际上,我要实现Firebase身份验证。为此,我需要获取用户的电子邮件和密码。当然,我可以轻松统一地创建一个场景,但是我需要调用只能在活动中实现的createAccount方法(因为我们需要上下文)

另外,我真的不想创建一个插件,因为相比之下,我无法调用unity,或者可以吗?

实际上,我想要的方式似乎只能制作意大利面。如果有人了解我的问题并知道更好的解决方案,请提供帮助。

从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进行身份验证的信息,请参见此处:Get Started with Firebase Authentication in Unity

这是更容易的方式,已经过实战测试,然后您还可以立即获得多平台支持。


  另外,我真的不想创建一个插件,因为相比之下,我无法调用unity,或者可以吗?


如果您真的想构建自己的本机插件来做到这一点:是的,您可以很容易地从本机代码传达回C#。请参见本页上有关“ UnitySendMessage”的示例3:Unity - Manual: JAR plug-ins

关于c# - 如何在统一的C#脚本和android Activity 之间正确通信?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58582107/

10-15 11:10