Tag: firebase

来自Java而不是Firebase控制台的Firebase Cloud Messaging通知

我是Firebase的新用户,当我的Java应用程序尝试使用客户端的Firebase令牌发送通知/消息时,我遇到错误,例如错误的发件人ID和HTTP状态401的身份validation错误。 请注意,使用Firebase控制台,我可以将消息发送到客户端。 对于客户端应用程序,我执行了以下操作: 从这里克隆Firebase messaging快速入门应用程序 – https://github.com/firebase/quickstart-android/tree/master/messaging – 已经设置了Firebase依赖等。 在Android Studio加载了克隆的应用程序。 使用Firebase控制台,创建了一个名为“ My Notification Client的新项目,并使用com.google.firebase.quickstart.fcm添加了一个应用,作为Android应用的包名称。 下载了添加到新创建项目的Android应用的google-services.json文件,并将其复制到messaging/app/文件夹,并与Android Studio成绩文件同步。 创建了一个模拟器并在Android Studio运行应用程序。 当应用程序加载到模拟器中时,单击“ Log Token按钮以在Android Studio的Android Monitor选项卡中捕获客户端的Firebase标记。 使用Firebase控制台,选择新创建的项目“ My Notification Client ,单击左窗格中的“ Notifications链接,并通过粘贴上一步中捕获的Firebase令牌向设备发送通知。 这很棒! 下一步是使用单独的简单Java应用程序(最终将成为通知服务器)将通知发送到客户端,而不是使用Firebase控制台。 为此,我按照此处列出的步骤进行了操作 – https://firebase.google.com/docs/server/setup#prerequisites 。 具体来说,这些是我执行的步骤: 在Firebase Console中创建了一个名为My Notification Server的新项目。 使用Firebase控制台中的Settings > Permissions ,创建新服务帐户并下载serviceAccountCredentials.json文件。 在Eclipse中创建了一个新的maven项目,并在pom.xml中添加了以下依赖项: com.google.gcm gcm-server 1.0.0 com.googlecode.json-simple json-simple 1.1.1 com.google.firebase firebase-server-sdk 3.0.0 […]

Android – Firebase – 将用户发送到聊天室

目标 允许用户访问他们选择的群聊。 用户单击群聊名称后,将进入群聊。 数据库树 如数据库树中所示,将显示当前已登录用户的已创建的群聊名称列表。 我有一个管理员帐户来为用户创建这些群聊。 在数据库中看到的Android,亚洲和欧洲组聊天不是固定变量。 他们是名字。 新的群聊名称可以是“地球”。 因此,除了由Node本身调用它之外,没有办法通过变量调用它。 应用截图 组聊天列表2.进入群聊 活动流程 GroupFragment —>聊天活动 GroupFragment <—聊天活动 申请流程 用户—> LoginActivity —> UserActivity —> GroupFrag —> GroupChatActivity 在(GroupFrag —> GroupChatActivity)用户必须在GroupFrag中选择一个群聊名称才能进入GroupChatActivity 用户必须在GroupFrag中选择一个群聊名称才能输入GroupChatActivity 描述 用户将能够选择群聊名称(来自GroupFragment),该应用程序将使用户进入群聊(进入聊天活动)。 用户将能够返回GroupFragment并选择另一个所需的组。 (群聊名称未固定 – 它们不是可以从中调用的节点) 问题 在片段中提示后,我无法选择群聊名称,这将带我进入群聊。 集团片段 @Override public void onStart() { super.onStart(); class GroupAdapter extends RecyclerView.Adapter { ArrayList list; public GroupAdapter(ArrayList list) […]

Firebase阅读问题。 对象始终为null

我有一个方法应该初始化我的字段变量currentTask 。 我不明白为什么我无法从firebase读取我的对象。 这是方法: private void getCurrentTask() { final DatabaseReference dRef1 = database.getReference().child(“Users”).child(uid).child(“CurrentTask”); dRef1.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { if (dataSnapshot.exists()) { currentTask = dataSnapshot.getValue(CurrentTask.class); } else { Toast toast = Toast.makeText(TasksListActivity.this, “no magic”, Toast.LENGTH_LONG); toast.show(); } } @Override public void onCancelled(DatabaseError databaseError) {} }); if (currentTask == null) { Toast toast […]

Firebase身份validation限制

我是Firebase的新手,所以任何见解都值得赞赏。 我正在编写Java服务器端测试代码。 我从数据库中抓取了几个用户,并尝试将数据迁移到Firebase中经过用户身份validation的节点中。 我的代码从数据库中选择一些用户并为每个用户旋转一个新线程。 第一个线程成功连接和validation。 随后的同步身份validation尝试失败,并显示以下错误消息。 每个线程都有自己的Firebase引用对象实例。 同时登录的数量是否有限制,可能来自同一个IP地址? 尚未在文档中找到任何内容。 如果我将代码更改为在单个线程中运行并逐个登录并注销每个用户,那么我不会收到错误。 任何见解都非常赞赏。 Message: -5 Message: Due to another authentication attempt, this authentication attempt was aborted before it could complete. Firebase ref = new Firebase(“https://.firebaseio.com/”); ref.authWithPassword(mEmail, mPassword, new Firebase.AuthResultHandler() { @Override public void onAuthenticated(AuthData authData) { System.out.println(“Successfully authenticated: ” + mEmail); user.setUID(authData.getUid()); user.setCurrentUserRef(ref); done.set(true); } @Override public […]

在Custom Object Firebase Android中获取参考和密钥

我希望将每个特定对象的dataSnapshot和key的引用传递给自定义的“Message”对象。 我已经尝试在Message.class中使用键’String key’,但它似乎返回null。 这是我的Message对象当前的方式: public class Message { private String key; private String sender_id; private String sender_username; private String receiver_username; private String receiver_id; private String chat_id; private String message; private Firebase ref; private double createdAt; private boolean read; public Message() { // empty default constructor, necessary for Firebase to be able to deserialize messages } […]

使用Glide从Firebase存储中获取图像

我正在尝试使用Glide从Firebase存储加载图像但我收到错误。 package com.kanishq.wallpaper; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.firebase.ui.storage.images.FirebaseImageLoader; import com.google.firebase.storage.FirebaseStorage; import com.google.firebase.storage.StorageReference; public class Picture_act extends AppCompatActivity{ ImageView i1; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.picture_activity); FirebaseStorage storage = FirebaseStorage.getInstance(); StorageReference storageReference = storage.getReference(); i1 = (ImageView) findViewById(R.id.full_picture); Glide.with(this).using(new FirebaseImageLoader()).load(storageReference).into(i1); } } Gradle文件 – dependencies { […]

DatabaseException:无法将java.lang.String类型的对象转换为type

我已经查看了类似问题的其他一些答案,但不明白为什么我的工作不起作用。 我正在尝试让我的应用程序从Firebase读取命令并移动无人机。 firebase中的命令来自一个单独的软件。 该应用程序构建在Parrot Drone SDK示例代码之上。 它似乎能够从命令对象获取文本并将其附加到textview,但是当添加新子项时它只会崩溃。 添加新的孩子时,我收到此错误。 E/AndroidRuntime: FATAL EXCEPTION: main Process: com.parrot.sdksample, PID: 10592 com.google.firebase.database.DatabaseException: Can’t convert object of type java.lang.String to type com.parrot.sdksample.activity.CommandObject at com.google.android.gms.internal.zg.zzb(Unknown Source) at com.google.android.gms.internal.zg.zza(Unknown Source) at com.google.firebase.database.DataSnapshot.getValue(Unknown Source) at com.parrot.sdksample.activity.MiniDroneActivity$13.onChildAdded(MiniDroneActivity.java:383) at com.google.android.gms.internal.px.zza(Unknown Source) at com.google.android.gms.internal.vj.zzHX(Unknown Source) at com.google.android.gms.internal.vp.run(Unknown Source) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at […]

从firebase数据库检索数据并存储在数组列表中

我试图以Android应用程序的forms创建一个小课程聚合器程序。 我的课程都存储在Firebase实时数据库中,可以从firebase控制台查看,一切都很好。 问题是我编写了一个java方法来连接数据库,从数据库中检索数据,将数据转换为自定义Java对象Course ,将其附加到另一个自定义Java对象CourseCardModel ,然后将CourseCardModel对象保存到数组列表。 与数据库的连接成功完成,并且它生成的快照包含正确的信息,我已通过循环快照并成功打印每个Course对象的变量Course Name来validation这些信息。 问题是当方法完成时,由于某种原因,arrayList返回为空,即使在整个快照迭代中检查ArrayList的大小时,我也可以看到CardModel对象被添加到它。 如果有人帮助解决这个问题,那将非常感激,我对Firebase来说相当新。 GenerateCourses()方法 private ArrayList generateCourseCards() { courseCardModelList = new ArrayList(); cardModel = new CourseCardModel(); dbref = FirebaseDatabase.getInstance().getReference().child(“courses”); // Retrieve the course data from firebase db and cast as Course object dbref.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { Log.e(“Count ” ,”” + snapshot.getChildrenCount()); for (DataSnapshot postSnapshot: […]

使用Google的Firebase UI身份validation失败并显示消息(代码:10消息:10)

我制作了一个使用FirebasefunctionReal-time database的聊天应用。 我遇到了谷歌身份validation的问题。 当我从Play商店下载应用程序时,问题就出现了,当我在调试模式下运行应用程序时,身份validation工作正常。 当用户尝试登录时,他们会收到一个Toast消息code:10 message:10 。 我想在此注意:我添加了SHA1指纹。 我怎么解决这个问题? *不确定这是否有用,但我已按照本教程的步骤进行操作

一次登录应用程序 – FirebaseAuth

我正在开发一款使用Firebase身份validation通过电话号码登录用户的应用。 我想添加一个function,使用户只有一次性登录,即使用户杀死应用程序并再次启动它,他应该登录。此外,我不想添加注销function。 可以做些什么呢?