Firebase数据库侦听器在经过身份验证后不会在一段时间后触发

Ila*_*321 5 android firebase-authentication firebase-realtime-database

我正在创建一个应用程序,我遇到了Firebase的数据库和身份验证服务的问题.

过了一会儿,当我验证(使用火力地堡验证),并使用我的应用程序,似乎我的数据库ValueEventListeners不被调用,即使数据库中的数据.

我如何添加我的听众:

FirebaseDatabase
        .getInstance()
        .getReference()
        .child("my_child")
        .addValueEventListener(new ValueEventListener()
        {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot)
            {
                Log.d("App", "onDataChange");
            }

            @Override
            public void onCancelled(DatabaseError databaseError)
            {

            }
        });
Run Code Online (Sandbox Code Playgroud)

我试过的东西:

  • 检查数据库规则(在重新读取之后很好 - 但是即使在经过身份验证和未经身份验证的情况下,模拟读取也会通过)
  • 对DatabaseReferences的keepSynced(true)
  • 在Activity的onCreate中添加侦听器而不是Application的onCreate
  • 添加/删除/更新数据库中的数据以触发同步
  • 重新启动

任何帮助将非常感激.

Ila*_*321 3

因此,显然问题是我的 Google API 仪表板中未启用名为“令牌服务”的 API。
\n感谢 Firebase 支持人员发来的一封有用的电子邮件(谢谢大家!),我已通过调用以下命令打开了调试日志记录FirebaseDatabase.getInstance().setLogLevel(Logger.Level.DEBUG);

\n\n

你看:D/PersistentConnection: pc_0 - Error fetching token: An internal error has occurred. [ \xef\xbf\xbdToken Service API has not been used in project <project-id> before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/securetoken.googleapis.com/overview?project=<project-id> then retry.

\n\n

因此,通过启用 API,似乎已经修复了错误!

\n