0

我想将通知发送到一些用户,我有我的火力地堡的数据库,我知道,火力地堡有相关通知的部分,但我只看到了一个例子来推如何通知直接从火力地堡的网站,我有一个事件在我的应用程序,在创建该事件我想所以基本上这将通知发送给所有用户是事件:火力地堡向用户发送通知

public void createEventGame(View view){ 

     Match match = new Match(userId,gameEventNameTxt.getText().toString(),dateMatch); 
     String key = myGameRef.push().getKey(); 
     myGameRef.child(key).setValue(match); 


     /*if(radioMatchSelected){ 

     }*/ 

     if(radioEventSelected){ 
      final HashMap<String,Boolean> matches = new HashMap<String,Boolean>(); 
      matches.put(key,true); 


      Spinner spinner = (Spinner)findViewById(R.id.spinner); 
      final String text = spinner.getSelectedItem().toString(); 
      Log.d("sizebb",text); 

      myRef.child(userId).child("FriendLists").child(text).addListenerForSingleValueEvent(new ValueEventListener() { 
       @Override 
       public void onDataChange(DataSnapshot dataSnapshot) { 
        long size = dataSnapshot.getChildrenCount(); 

        Log.d("sizebb",String.valueOf(size)); 
        for(DataSnapshot s: dataSnapshot.getChildren()){ 
         friends.put(s.getKey(),false); 
        } 
        if(size < 10){ 
         Snackbar snackbar = Snackbar 
           .make(findViewById(android.R.id.content), "You need to have atleast 10 friends in your group, go to your friendlist and add some friends!", Snackbar.LENGTH_LONG); 
         snackbar.show(); 
        } 

        Event event = new Event(gameEventNameTxt.getText().toString(),hourWeek,userId,matches,friends,dayOfWeek); 
        myEventRef.child(event.getName()).setValue(event); 

        /*else{ 
         friends.put(dataSnapshot.getKey(),true); 
        }*/ 
       } 

       @Override 
       public void onCancelled(DatabaseError databaseError) { 

       } 

      }); 

现在,我怎么能处理的通知,没有任何谈论它的好教程?我无法找到它,或者我需要直接处理firebase上的数据库通知?

+0

如果我对你的情况的理解是正确的,其中'event'的东西添加到您的火力地堡DB,我认为[对火力地堡云功能](https://firebase.google.com/docs/functions/)是什么你需要。 –

回答

0

不清楚这个问题,会尽我所能。

因此,您可以通过控制台向所有用户发送Firebase通知。您还可以根据用户订阅的主题将用户分组,也可以将其分配给单个设备(您需要令牌来发送单个设备)。 Firebase cloud messaging。此外,您可以从程序逻辑发送通知。

看各种类型,您可以发送here通知。

快速启动firebase的另一个地方是他们的github回购。几乎你可以找到一切的快速启动项目。 Firebase Github repo

0

有所有你想要发送的通知订阅的共同话题啦。

当事件发生时,调用火力地堡REST API和发送通知到这个话题,所有用户应该得到他们。通知标签或数据标签或两者都取决于您的用例。我更喜欢数据标签,以确保发生的所有事件都保留在我编写的代码中,而不是系统代码。

您选择哪个主题名称以及由哪些人订阅取决于您。这应该让你开始。

+0

所以你的意思是,FIrebase推送通知不适合我的使用情况? –

+0

如果要在服务器端处理事件,则可以使用云功能....如果要在客户端处理它,请使用我指定的方法,并将事件通知从客户端发送到事件上的所有其他客户端 – Kushan