c# - 如何在统一 c# 脚本和 android 活动之间正确通信?
问题描述
整个系统对我来说不是很清楚。假设我想在单击按钮时创建一个 toast。我怎么做?我知道 AndroidJavaClass,但在这种情况下,我需要 toast 的活动。我不能用扩展的 UnityPlayerActivity 制作一个罐子,或者我可以吗?(我也知道统一创建吐司的方法,这个问题不是那个)
实际上,我想实现 firebase 身份验证。为此,我需要获取用户的电子邮件和密码。当然,我可以很容易地统一创建一个场景,但我需要调用一个只能在活动中实现的 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 插件
推荐阅读
- java - 解析一个json文件丢失的数据结构 - JAVA
- objective-c - 未设置邮件帐户时应用程序崩溃
- java - 点燃队列是否有一些方法来检查队列是否创建,就像缓存一样
- java - 如何处理“黄瓜”中的“@WHEN”不满足条件?
- airflow - 如何从 Airflow 中的任务创建 DAG
- c# - 无法从 Azure 云服务连接到 smtp
- android - Webview 充气时不加载
- ssl - Kubernetes:如何在 pod 之间使用 https 通信
- linux - 从尾部匹配 awk 时增加变量
- python - 无法使用 RstDocument 部署 kivy 应用程序