当前位置: 首页 > 知识库问答 >
问题:

推送内容更改通知

谢夜洛
2023-03-14

假设我有一个Android应用程序,它使用从随机REST API获取的内容构建一个ListView。

想象一下,现在我需要在API上有新内容可用时发送推送通知。最简单的方法是什么?

对于Android上的推送通知流程,我有点摸不着头脑。我看了一下Firebase,但我不知道我是否需要在Firebase上建立一个数据库,在API提供新内容时存储结果,然后在数据库更新时触发通知,或者我不需要数据库等等。

正如你所看到的,这是非常不清楚的对我,所以任何帮助是非常感谢的。谢谢!

共有1个答案

微生德运
2023-03-14

实现这一点的最佳方法是使用Firebase云功能。这将帮助您在发生有趣的事情时通知用户,在您的情况下,当新内容可用时。您可以使用云Firestore或Firebase实时html" target="_blank">数据库来实现这一点。我将在我的回答中向您解释如何使用新的Cloud Firestore。为此,我建议您也实现Firebase身份验证。这将帮助您在发生新情况时向特定用户或一组用户发送通知。

为了实现这一点,请考虑遵循以下步骤。

>

  • 实现Firebase身份验证。一旦实现,就创建一个用户集合,其中每个用户都是users集合中的一个文档。您的数据库结构应该如下所示:

    Firebase-root
        |
        --- users (collection)
              |
              --- uid1 (document)
              |    |
              |    --- //user properties
              |
              --- uid2 (document)
                   |
                   --- //user properties
    

    除了用户详细信息之外,您还需要为每个用户添加tokenid。您可以非常简单地使用以下代码行:

    String tokenId = FirebaseInstanceId.getInstance().getToken();
    

    用户文档应如下所示:

    uid1
     |
     --- userName: "John"
     |
     --- userEmail: john@email.com
     |
     --- tokenId: "e_wLukMfq..." //very long token
     |
     --- //other details
    

    现在,向名为notifications的用户文档添加一个新的coolection,在该文档中,每次发生新的事件时,您都需要添加需要发送的notificationsender。它看起来应该是这样的:

    uid1
     |
     --- userName: "John"
     |
     --- userEmail: john@email.com
     |
     --- tokenId: "e_wLukMfq..." //very long token
     |
     --- notifications (collection)
     |      |
     |      --- notificationId1
     |              |
     |              --- notificationMessage: "My Notification"
     |              |
     |              --- fromUser: "My Notification"
     |
     --- //other details
    

    现在,您需要使用node.js在Cloud Functions中编写一个函数,该函数将侦听在此引用中出现的每个新通知:

    "users/{uid}/notifications/{notificationId}"
    

  •  类似资料:
    • 当我订阅驱动器帐户的所有更改时,有时我会收到带有错误ID的更改。根据我的观察,特定文件的变化是在一段时间内聚集在上一次变化中的。 例如:如果我更改了驱动器中的文件,如果我收到了3个ID为“#21、#22、#23”的通知,我希望我可以得到“#23”的更改,如果该文件没有更多的更改。但有时我收到的上次更改的id大于它存在的id。当我使用API changes list时,我得到lastlargestC

    • 所以我的问题是,我如何调整移动菜单不把内容往下推?谢谢.

    • 首先,我想声明我一直在研究推送通知和web通知之间的关系,但我有点困惑。 我从这里读到PWAs的推送通知在Safari上的iOS(iPhone)不起作用:从PWA向iOS发送推送通知 然而,如果iPhone用户使用的是Chrome,这是否意味着它们可以工作呢?或者推送通知在任何浏览器上对iPhone中的PWAs都不起作用? 这就把我带到了web通知。web通知在后台对PWAs起作用吗?我的问题是w

    • 问题内容: 我有一些JavaScript的简单HTML代码,看起来像: 我只是希望能够通过选择“ A”或“ B”单选按钮之一来更改div的内容(它是内部html),但是div#content没有javascript属性“ value”,所以我问它如何做完了。 问题答案: 假设您没有使用jQuery或其他使您更轻松地进行此类操作的库,则只需使用元素的innerHTML属性即可。

    • 如何通过Azure从我的UWP-App向不同设备上的应用程序的其他实例发送推送通知? 以下是注册设备以接收推送的说明。(这是可行的)第二部分是关于如何在控制台应用程序上发送推送(这也是可行的)https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-windows-store-dotnet-get-star