【问题标题】:How to Implement Push Notification based on Data in a Databse?如何根据数据库中的数据实现推送通知?
【发布时间】:2016-10-22 13:37:30
【问题描述】:

所以我正在尝试使用托管在服务器上的数据库来实现推送通知。 有很多用户连接到应用程序,每个用户都有自己唯一的 ID 和 Password 。 现在有一个公共表维护所有用户的数据。只有管​​理员可以将数据添加到此表中。现在我想在管理员添加特定 ID 的数据时向用户提供推送通知。

也就是说,假设有两个用户的 ID 为 001 和 002。现在管理员将一个项目添加到数据库 "001" ,"xyz" "$20" 。所以我想在用户“001”的手机上显示一个新数据已经添加到他的名下,他可以去检查一下。 我正在尝试使用 GCM 和 Firebase 来实现这一目标。 aynone可以帮我吗?一些代码或解释或一个好的教程也可以正常工作。 谢谢你

【问题讨论】:

  • 您说您正在使用 GCM 和 Firebase 进行尝试。到目前为止,您尝试过什么吗?任何代码sn-ps?
  • 不,我刚刚浏览了很多教程和文本,试图寻找一些我可以实现的东西,以满足我的需要。我还没有编写任何代码,这也是我第一次实现推送通知。
  • 我明白了。我还注意到您的帖子中有phpmyadmin,我假设它是托管服务器。为什么不直接使用 Firebase 数据库本身呢?然后使用 Firebase 的实时数据库功能。但请注意,使用 Firebase 数据库会保持额外的套接字打开(请参阅 Puf 的 reply 我的评论)。
  • 好吧,我可以改变它。让它成为一个 firebase 托管服务器,我打算将它托管在 000webhost 但 firebase 托管似乎更合乎逻辑
  • 既然说到了主题,既然您同时使用 Firebase 和 GCM,为什么不直接使用 firebase-cloud-messaging (FCM)?

标签: android phpmyadmin push-notification firebase google-cloud-messaging


【解决方案1】:

您必须在用户登录时将FirebaseInstanceId.getInstance().getToken() 发送到您的服务器并将其分配给数据库中的用户。 您可以使用 POST 请求从服务器发送推送通知。

https://fcm.googleapis.com/fcm/send
Content-Type:application/json
Authorization:key=SERVER_KEY_HERE

{ "data": {
    "score": "5x1",
    "time": "15:10"
  },
  "to" : "USER_TOKEN_HERE"
}

您可以在 Firebase 项目设置的 Cloud Messaging 选项卡中找到您的服务器密钥。

链接:

Set Up a Firebase Cloud Messaging Client App on Android

Downstream messages

【讨论】:

  • 分配给哪个数据库的用户。?主服务器托管数据库?那就是让我的firebase ID成为主数据库表的唯一键并根据它获取结果?
  • 在主服务器托管的数据库中。 Firebase ID 只是数据库中用户模型的另一个属性。您只需要在必要时通过它的 id 找到用户的推送令牌。
  • 好的。谢谢 。我会尝试所有这些
【解决方案2】:

我假设您拥有 GCM 的所有注册 ID。现在考虑到您的要求,我建议您使用Amazon SNS。他们已经提供了所有东西,以便将推送通知发送到您的手机。管理员甚至可以轻松发布他想要的数据。如果您确实有很多注册 ID,那么只需从 MySQL phpmyadmin 导出一个 CSV 文件并将其上传到 AWS SNS。

您只需支付 RS 2/- 以便日后使用服务,它属于 PAYG。 谢谢你。 我相信它会有所帮助。

【讨论】:

  • 好的,我去看看。我正在寻找新的东西来尝试,反正我对这些东西一无所知。
  • 是的,AWS 真的非常棒。有两个字段 1.User data 2.Regids of GCM 。您可以通过在 SNS 上创建新应用来上传您的凭据。
  • 您可以提供任何可以帮助我的教程或文档吗?
  • [使用 PHP MySql 的 GCM] (androidhive.info/2012/10/…)
  • 我尝试使用该教程,但它们的方法已被弃用,正如帖子中所说的那样
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-28
  • 2021-07-29
  • 2015-06-02
  • 2016-10-15
  • 1970-01-01
  • 1970-01-01
  • 2016-03-18
相关资源
最近更新 更多