是否可以在不使用控制台或第三方服务器的情况下在firebase数据库中发生更改时使用FCM发送推送通知?

时间:2017-01-06 15:25:59

标签: android firebase firebase-realtime-database firebase-cloud-messaging

我正在编写一个使用firebase数据库作为后端的Android应用程序。当数据库中的字段更新时,我需要推送通知特定设备。我一直在搜索并找到使用php,其他服务器或firebase控制台进行操作的示例。我真的需要另一台服务器吗?

2 个答案:

答案 0 :(得分:1)

2017-07-02更新

自2017年3月起,Firebase提供Cloud Functions for Firebase,允许您在Google服务器上运行JavaScript功能,以响应Firebase中的事件(例如数据库更新)。第一个示例用例是Notify users (using Cloud Messaging) when something interesting happens,因此我建议您阅读更多相关信息。

答案 1 :(得分:1)

您不需要发送推送通知。因为Firebase提供Firebase数据库的实时同步。当您在客户端向数据库添加侦听器时,它将在每次更改时被调用,并且可以完全控制它。 这是注册更改侦听器的示例:

// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");

// Read from the database
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        // This method is called once with the initial value and again
        // whenever data at this location is updated.
        String value = dataSnapshot.getValue(String.class);
        Log.d(TAG, "Value is: " + value);
    }

    @Override
    public void onCancelled(DatabaseError error) {
        // Failed to read value
        Log.w(TAG, "Failed to read value.", error.toException());
    }
});