【问题标题】:Push notification for android app by GCMGCM 为 android 应用推送通知
【发布时间】:2016-03-09 23:15:02
【问题描述】:
我正在开发用于事件提醒的 android 应用程序,此应用程序仅显示事件作为列表及其详细信息.. 某些事件的日期发生了变化。
我需要推送通知以提醒用户活动日期
当我读到 Google Cloud Messaging (GCM) 时我很困惑
谢谢你,
【问题讨论】:
标签:
android
push-notification
google-cloud-messaging
【解决方案1】:
要求很简单。
您需要从每个客户端生成 gcm 令牌。
客户端 A 安装您的应用程序并在启动/登录时(无论它适合您的业务逻辑),您将尝试生成此 gcm 令牌(假设 10000 是生成的令牌)。并且您需要将此令牌发送到您的服务器以存储以在将来的通信中使用它。当你想和这个客户端A通信时,你需要告诉gcm服务器,
Hey Gcm server, send mobile with gcm token 10000 the following message "Event time updated"
所以如果客户端 b 安装,它将生成它的 gcm 令牌并以相同的方式将其发送到服务器。
如果您有用户登录或可以通过某种方式唯一标识每个用户,建议将其与用户详细信息一起存储。 (连同名称、唯一 ID 等...)
如果您没有登录,您仍然可以将令牌发送到服务器和存储,但您丢失的是您想要向客户端 A 发送更新而不是 B 的情况。
来到它的代码点。
客户端代码:
用于生成 gcm 令牌:
https://github.com/googlesamples/google-services/tree/master/android/gcm
生成后,您需要将此令牌发送到服务器
服务器代码:
服务器接收令牌并存储。
当您想在稍后的时间点发送特定消息时,您可以向客户端发送 json 数据或纯消息。
例如,以下是python示例。
import gcm
response = gcm.json_request(registration_ids=reg_ids, data=in_data, delay_while_idle=False)
希望这会有所帮助。