gpt4 book ai didi

android - 使用 Django 和 GCM 推送通知

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:10:05 25 4
gpt4 key购买 nike

我有一个 android 客户端应用程序,我的服务器在 django 中。

我想在服务器中实现推送通知,例如,当与他们相关的数据发生变化时通知特定用户。

我找到了那些链接:

不太确定我需要哪个链接以及有什么用。

我想要的示例是:

用户向服务器发出请求并更改数据,服务器向另一个用户发送推送通知。

那么我应该安装什么包呢?也许有任何教程可以遵循??我正在寻找任何信息来帮助我。

非常感谢!

--- 编辑 ----

所以我按照 e4c5 的建议做了,我有一个包含设备 ID 和用户的表。

我在安装应用程序时将设备注册到 GCM。我还将 Device_id 添加到我的数据库中的表中(用户字段目前为 null)并将 Device_id 也保存在我的客户端应用程序中。

现在,当用户登录时,我向我的服务器发送一个请求,该请求将登录用户与设备 ID 相关联。

当用户注销时 - 用户字段再次为 null

问题是 - 如果 UserA 当前已注销(不在我的数据库中)但应该收到通知 - 我的服务器将查看数据库 -> 设备 ID 表并且不会在任何用户字段中找到用户 A(因为他目前已注销)。

结果 - 通知将丢失(我的服务器不会将其发送到 GCM)。

最好是当用户再次登录时,他将收到在他注销时发送给他的所有通知。

我该怎么做?

谢谢!

最佳答案

答案是您根本不需要任何包。 GCM 非常简单,您需要做的就是制作一个 HTTP post到 google 提供的 url,你可以用你最喜欢的 python http 客户端库来做。如果你还没有,我推荐python requests .大多数 GCM 库实际上所做的是在像这样的 http 库之上添加一个薄层。

您需要一个表来存储 GCM 注册 ID。如果要求使用您的应用程序的人注册一个帐户,您的 Django 模型可能看起来像这样。

class Device(models.Model) :
ANDROID = 1
IPHONE = 2
CHROME = 3
OTHER = 4

DEVICE_CHOICES = ( (ANDROID, 'Android'), (IPHONE, 'iPhone') , (CHROME,'Chrome'), (OTHER,'Others'))

device_id = models.CharField(unique = True, max_length = 1024, default='')
device_type = models.SmallIntegerField(choices = DEVICE_CHOICES)
user = models.ForeignKey(User, null = True)

您可能想要点击 django login and logout signals当有人登录/注销时更新用户字段(或清除它)

关于android - 使用 Django 和 GCM 推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32393692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com