好啊!这件事让我很生气,想弄明白…事实证明,您根本不需要调用“sendFollowerNotification”。它所做的就是
侦听对FireBase实时数据库的更改
. 如果对sendFollowerNotification查找的语法进行更改…它会自动发出通知。
在“sendfollwernotification”中根本没有用于将用户写入实时数据库的调用。我实际上是在登录时处理的:
private DatabaseReference mDatabase; //up top
mDatabase = FirebaseDatabase.getInstance().getReference(); //somewhere in "onCreate"
final String userId = mAuth.getUid();
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
mDatabase.child("users").child(userId).child("displayName").setValue(name);
mDatabase.child("users").child(userId).child("notificationTokens").child(refreshedToken).setValue(true);
mDatabase.child("users").child(userId).child("photoURL").setValue(avatar);
然后,当一个用户跟踪另一个用户时,我也将其写入实时数据库:
mDatabase.child("followers").child(user_Id).child(follower_id).setValue(true);
就这样!第二个新的追随者添加到实时数据库…sendFollwerNotification将自动发送通知。你只需要在你的应用程序中设置一个监听程序来接收消息,一旦你的用户点击了一条已经收到的消息,你就可以在哪里重新定向。