Android“hello world”推送通知示例

时间:2013-05-05 16:01:04

标签: android push-notification android-c2dm

我是Android应用程序开发的新手,我正在学习一点点。我的艰巨任务是从我的网络服务器(PHP)向Android应用程序(只是一个“helloworld”)发送推送通知(云消息)。我做了一些“谷歌搜索”,我的一些怀疑是

  1. Google正在使用我们的“设备ID”发送通知吗?
  2. 除了在清单中添加一些用于接收通知的权限之外,我们的应用程序中是否还需要任何代码?
  3. 我们必须将用户的设备ID注册到“本地数据库”才能发送通知吗?
  4. 请帮帮我 另外任何人都可以给我看一个代码示例或文档,用于从PHP服务器发送简单的通知吗?

    提前致谢

4 个答案:

答案 0 :(得分:25)

gcm概述: 您从Android手机向谷歌服务器发送请求。您收到注册ID作为回复。然后,您必须将此注册ID发送到您希望向移动设备发送通知的服务器。使用此注册ID,您可以向设备发送通知。

答案:

  1. 要发送通知,请将包含设备注册ID的数据(消息)发送至https://android.googleapis.com/gcm/send。 (在php中使用curl)。
  2. 接收通知和注册等,这就是您要求的所有内容。
  3. 您必须将注册ID存储在设备和服务器上。如果您使用GCM.jar,则注册ID将存储在首选项中。如果您愿意,也可以将其保存在本地数据库中。

答案 1 :(得分:22)

Firebase:https://firebase.google.com/docs/cloud-messaging/

GCM(已弃用):http://developer.android.com/google/gcm/index.html

我对C2DM知之甚少。使用GCM,它非常容易实现和配置。

答案 2 :(得分:17)

2016年更新:

GCM正在被FCM取代

2015年更新:

使用 GCM 查看developers.android.com - Google replaced C2DM Demo Implementation / How To

2014年更新:

1)您需要检查服务器从Google服务器获得的HTTP响应。确保它是200 OK响应,因此您知道消息已发送。如果您收到另一个响应(302等),则表示消息未成功发送。

2)您还需要检查您使用的注册ID是否正确。如果您提供了错误的注册ID(作为邮件的目的地 - 在特定设备上指定应用程序),则Google服务器无法成功发送。

3)您还需要检查您的应用是否已成功注册Google服务器,以接收推送通知。如果注册失败,您将不会收到消息。

2014年第一次答案

这是一个很好的问题,您可以查看它:How to add a push notification in my own android app

这里还有一个很好的博客,其中非常简单如何: http://blog.serverdensity.com/android-push-notifications-tutorial/

答案 3 :(得分:2)

您可以按照本教程

http://www.androidbegin.com/tutorial/android-google-cloud-messaging-gcm-tutorial/

它帮我做推送通知;或者你可以按照其他教程

http://www.tutorialeshtml5.com/2013/10/tutorial-simple-de-gcm-traves-de-php.html

但它是西班牙语,但您可以下载代码。