标签: firebaseui

如何使用Firebase列表适配器

我正在尝试使用本教程:

https://www.youtube.com/watch?v=2J6spwAVP0M

但在我的复杂应用程序上实现它只是没有工作所以我从头开始尝试..

我创建了这个简单的MainActivity:

public class MainActivity extends AppCompatActivity{

    Firebase mRef;
    com.firebase.ui.FirebaseListAdapter<String> myAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mRef = new Firebase("https://<myURL>..");

        myAdapter = new FirebaseListAdapter<String>(this,String.class,android.R.layout.simple_list_item_1,mRef) {
            @Override
            protected void populateView(View view, String s, int i) {
                TextView text = (TextView)view.findViewById(android.R.id.text1);
                text.setText(s);

            }
        };
        Button addBtn = (Button) findViewById(R.id.add_button);
        addBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mRef.push().setValue("test123");
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我有几个问题:

1)什么触发populateView?我无法让它运行

2)究竟应该android.R.layout.simple_list_item_1用什么替换?我尝试创建自己的listview并用我的替换上面R.id.listView但没有任何反应..我无法弄清楚这个魔法是如何工作的..

3)即使这个简单的应用程序不起作用..按钮确实将"test123"添加到服务器上的正确位置,但我在我的应用程序上看不到任何内容..什么是错的?

android listadapter firebase firebase-realtime-database firebaseui

7
推荐指数
1
解决办法
2万
查看次数

升级firebase后OAuth2问题

我有一个工作的Android应用程序(也许更好地说HAD).

该应用程序正在使用一些第三方库,包括:Google地图,Firebase,firebaseui.在转换应用程序以使用新的firebase后,我偶然发现了两个主要问题:

  1. firebaseui登录屏幕已更改,现在看起来像这样(从登录对话框变为活动):

登录截图

这当然与旧的完全不同,并且出于与调试构建变体不同的一些奇怪的原因.

  1. 我无法使用google登录,并在logcat中显示以下错误:

com.google.firebase.FirebaseException:发生了内部错误.[找不到服务器配置中的OAuth2客户端ID.]

同样,这个问题在调试变体中没有发生.

为了清楚起见,调试版本变体使用相同的代码库,但使用不同的firebase数据库.

android oauth-2.0 firebase firebase-authentication firebaseui

7
推荐指数
2
解决办法
1070
查看次数

使用GeoFire在Android中填充Firebase Recycler View

我想填充我的回收者视图,以便我可以看到附近的人/地方是谁.我使用GeoFire查询我的数据库,看起来像这样.

 GeoQuery geoQuery = geoFire.queryAtLocation(new GeoLocation(latLngCenter.latitude, latLngCenter.longitude), 0.1);
        geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
            @Override
            public void onKeyEntered(String key, GeoLocation location) {
                System.out.println(String.format("Key %s entered the search area at [%f,%f]", key, location.latitude, location.longitude));
                Log.e("TAG", key + location.latitude + location.longitude);

            }

            @Override
            public void onKeyExited(String key) {
                System.out.println(String.format("Key %s is no longer in the search area", key));
            }

            @Override
            public void onKeyMoved(String key, GeoLocation location) {
                System.out.println(String.format("Key %s moved within the search area to [%f,%f]", key, location.latitude, location.longitude));
                Log.e("TAG", key + location.latitude + location.longitude); …
Run Code Online (Sandbox Code Playgroud)

android firebase geofire firebase-realtime-database firebaseui

7
推荐指数
1
解决办法
1448
查看次数

只使用从数据库中检索的消息填充viewHolder?

我正在关注Android Firebase Codelab.

这是我试图修改的友好聊天应用程序的项目:https://github.com/firebase/friendlychat-android/tree/master/android

我希望只有在从数据库中检索消息后才能填充MessageViewHolder .不幸的是,现在,MessageViewHolder也会在本地填充(在用户按下'SEND'之后).我不希望后者发生.这意味着视图持有者会更新两次(一次在本地,一次从数据库中检索),这是低效的.

侧节点:此外,当用户按下'SEND'并看到他的MessageViewHolder填充了他的消息时,用户可能会认为他在线.这是不需要的!

请转到MainActivity的第177行查看populateViewHolder方法.

在过去的几个月里,我一直试图回避这个问题,但现在我真的需要解决这个问题才能继续工作.为实现我想要的目标,我必须做出哪些改变?

java android firebase firebase-realtime-database firebaseui

7
推荐指数
1
解决办法
997
查看次数

Android Studio Desugar:使用Desugar进行调试的转换失败

我的Android Studio项目最近停止了正确构建.我不知道是什么导致了这个问题.

这是我试过的

  • 我尝试用不同的Android Studio版本构建我的项目,即稳定和不同的Canary频道版本,没有变化
  • 更改了SDK版本.我的项目使用SDK 26正确构建,但现在它没有,也没有使用SDK 27
  • 交换了构建工具和Gradle版本,我的项目使用Gradle插件3.1.0-alpha2和构建工具版本正确构建26.0.2.我尝试了很多
  • 我在Android Studio中使用了"Clean Project","Invalidate Caches" ...功能无数次
  • 我删除了我的构建文件夹
  • 我打开和关闭了Proguard
  • 我尝试修复可能的库问题,但所有这些都无济于事

我想我实际上已将所有内容更改回我之前成功使用设置,而我的其他具有类似设置的项目构建正常.

完整的错误代码:

Error:java.lang.RuntimeException: com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {@...\app\build\intermediates\tmp\desugar_args165654356027684238}

Error:com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {@...\app\build\intermediates\tmp\desugar_args165654356027684238}
Error:java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with …
Run Code Online (Sandbox Code Playgroud)

android firebase android-studio firebaseui

7
推荐指数
2
解决办法
9568
查看次数

Google的Firebase UI身份验证失败并显示以下消息(代码:10消息:10)

我制作了一个使用Firebase功能的聊天应用程序Real-time database。我在使用Google身份验证时遇到问题。当我从Play商店下载应用程序时,问题开始了,当我在调试模式下运行应用程序时,身份验证工作正常。当用户尝试登录时,他们会收到一条敬酒消息code:10 message:10

我想在这里指出:我已经添加了SHA1指纹。我该如何解决?

*不确定这是否有帮助,但本教程已逐步进行

java android firebase firebase-authentication firebaseui

7
推荐指数
2
解决办法
3547
查看次数

com.firebase.ui.auth.FirebaseUiException:提供程序错误 - Firebase-UI身份验证Facebook登录无法正常工作

我正在使用电子邮件,Facebook和谷歌提供商进行Firebase-UI身份验证.电子邮件和谷歌签到工作正常,但Facebook登录无法正常工作.

我的facebook和firebase依赖项:

//Firebase
implementation 'com.google.firebase:firebase-core:16.0.1'

//Cloud Firestore
implementation 'com.google.firebase:firebase-firestore:17.0.2'

//Firebase Authentication
implementation 'com.google.firebase:firebase-auth:16.0.2'

//Firebase built-in Auth UI
implementation 'com.firebaseui:firebase-ui-auth:4.0.0'

//Firebase Storage
implementation 'com.google.firebase:firebase-storage:16.0.1'

// Required only if Facebook login support is required
implementation 'com.facebook.android:facebook-android-sdk:4.34.0'

//Google sign-in with Firebase Authentication
implementation 'com.google.android.gms:play-services-auth:15.0.1'
Run Code Online (Sandbox Code Playgroud)

必要的facebook字符串:

<string name="facebook_application_id" translatable="false">#######</string>
<string name="facebook_login_protocol_scheme" translatable="false">fb#######</string>
Run Code Online (Sandbox Code Playgroud)

在我的活动中,我有:

void signIn() {
    AuthUI.IdpConfig facebookIdpConfig = new AuthUI.IdpConfig.FacebookBuilder()
            .setPermissions(Arrays.asList("user_friends"))
            .build();
    List<AuthUI.IdpConfig> providers = Arrays.asList(
            new AuthUI.IdpConfig.EmailBuilder().build(),
            new AuthUI.IdpConfig.GoogleBuilder().build(),
            facebookIdpConfig);

    startActivityForResult(
            AuthUI.getInstance().createSignInIntentBuilder()
                    .setTheme(AuthUI.getDefaultTheme())
                    .setLogo(R.drawable.com_facebook_button_login_logo)
                    .setAvailableProviders(providers)
                    .build(),
            RC_SIGN_IN);
}
Run Code Online (Sandbox Code Playgroud)

点击Facebook登录按钮之前: 登录按钮

单击Facebook登录按钮 后:单击按钮后出现错误页面 …

android facebook-authentication firebase firebase-authentication firebaseui

7
推荐指数
1
解决办法
1516
查看次数

FirebaseUI-在创建用户之前验证displayName

我正在使用firebaseui-web-react。在注册流程中,我想displayName在创建用户之前验证用户提供的信息。特别是,我想确保displayName唯一。

我知道如何使用Firestore验证唯一的用户名。我有一个user带有displayName字段的公共收藏。我知道如何查看a displayName是否已被接受,并带有如下查询:

const snapshot = await store
  .collection('user')
  .where('displayName', '==', displayNameFormValue)
  .get()

return snapshot.empty
Run Code Online (Sandbox Code Playgroud)

我想displayName在创建用户之前验证。我想避免创建并立即删除用户。我想displayName在FirebaseUI发送创建用户的请求之前验证。

但是,FirebaseUI仅提供像这样的回调signInSuccessWithAuthResult。这些回调仅在创建用户之后运行。如果我使用这些回调来验证displayName,则如果使用了创建的用户,则必须追溯删除该用户displayName。我想displayName在创建用户之前对其进行验证,以避免删除。

displayName在创建Firebase用户之前,如何使用上面显示的查询来验证?在利用预制的FirebaseUI组件和上下文时,如何支持唯一的显示名称?如何将表单验证与FirebaseUI集成在一起?

firebase reactjs firebase-authentication firebaseui google-cloud-firestore

7
推荐指数
1
解决办法
245
查看次数

通过 Swift 包管理器安装 FirebaseUI-ios

我正在尝试使用 Swift 包管理器安装 FirebaseUI-iOS。我尝试过 Xcode 14.0 和 Xcode 13.4.1。我收到以下错误:Xcode `13.4.1 出现错误

[![Xcode 14.0 的错误][2]][2] [2]:https://i.stack.imgur.com/FklqL.png

我尝试过使用“直到主要版本”(特定版本),但没有任何效果。有人有建议吗?如果我查看存储库,Package.swift 文件确实存在。我也就此提出了一个问题。https://github.com/firebase/FirebaseUI-iOS/issues/1094

TIA

xcode firebaseui swift-package-manager

7
推荐指数
1
解决办法
763
查看次数

Firebase 身份验证 UI 如何处理重新身份验证?

我正在为我的 Swift iOS 应用程序使用 Firebase Auth。Google 建议使用 Firebase Auth UI 作为“插入式”身份验证系统,但它仅处理初始登录。我现在正致力于允许用户更改配置文件,例如电子邮件和密码。

进行这些更改的文档在多个地方提到某些更改要求用户最近登录(请参阅https://firebase.google.com/docs/auth/ios/manage-users#get_the_currently_signed-in_user):

某些安全敏感操作(例如删除帐户、设置主电子邮件地址和更改密码)要求用户最近登录。如果您执行这些操作之一,而用户登录时间过长,则操作因 FIRAuthErrorCodeCredentialTooOld 错误而失败。

首先,FIRAuthErrorCodeCredentialTooOldAPI 中的任何地方似乎都没有错误。

其次,文档建议使用reauthenticate(with:)此代码示例来解决此问题:

let user = FIRAuth.auth()?.currentUser
var credential: FIRAuthCredential

// Prompt the user to re-provide their sign-in credentials

user?.reauthenticate(with: credential) { error in
  if let error = error {
    // An error happened.
  } else {
    // User re-authenticated.
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,因为我使用了 Firebase Auth UI,所以我没有用于获取用户凭据的自定义 UI。

我目前的想法是,我可以通过在发生此错误时提供用于登录的相同 Firebase 身份验证 UI 来重新进行身份验证。但是,我不知道这是否是执行此操作的认可方式,或者它是否会起作用,或者将来是否会继续起作用。我检查了 Firebase Auth UI 代码库,没有reauthenticate()任何地方可以调用。文档在出现此错误的情况下专门调用此方法做了大量工作,所以我很困惑。

如果我需要构建一个完整的 …

ios firebase swift firebase-authentication firebaseui

6
推荐指数
1
解决办法
1913
查看次数