从Firebase自动发送通知

9

我正在使用Firebase开发Android应用程序。 当记录插入到表中时,Firebase是否可以自动发送推送通知,还是我必须实现自己的服务器。


我觉得Firebase在创建活动方面非常复杂。而Clevertap则有一种崇高的流程。 - therealprashant
1
你需要在你的服务器上实现它。Firebase 无法在由他人维护的远程服务器上添加记录时发送通知。 - driftking9987
@driftking9987 是正确的,你需要实现一个服务器来监视数据库中的更改,并作出相应的通知。 - Arthur Thompson
2个回答

5

3
Firebase 提供推送通知功能,但并非针对数据库表格变化。你可以在后台服务中创建监听器,并从这些监听器触发通知。
例如,若要监听“User”节点的变化,请按如下操作:
 FirebaseDatabase myFirebaseRef = FirebaseDatabase.getInstance();
 DatabaseReference myRef = myFirebaseRef.getReference("User");

 ValueEventListener valueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

                 //put your notification code here
            }

        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            Log.i("FirebaseError", databaseError.getMessage());
        }
    };

 myRef.addValueEventListener(valueEventListener);

2
虽然这种方法可行,但长期的监听器可能会对设备的电池造成负担。当您的应用程序在前台时,监听是可以的,但一旦您的应用程序在后台运行,您应该关闭监听器。 - Arthur Thompson
基本上,这只适用于测试,而不适用于实际场景,因为正如@ArthurThompson所说,它会影响电池和网络。最好在您的服务器上安装Firebase SDK,您的函数将通过Firebase函数监听数据库中的更改,并向FCM发出POST请求。 - androidXP
同意前面两位评论者的观点,Firebase Functions 是唯一可行的选择。有了新功能的加入,使用其他解决方案就显得愚蠢了。 - Famic Tech

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接