C2DM如何工作? -- notifications 领域 android 相关 的问题

How does C2DM work?


简体版||繁體版
1
vote

问题

中文

我目前正在开发一个应用程序,并且当我实施的C2DM功能时,它让我思考这是如何工作的?

它通过轮询工作吗?有隐藏的短信吗?他们如何在我的设备上推动邮件?

english

I'm currently developing an App and as I implemented the C2DM feature it got me thinking how does this work?

Does it work via polling? Is there a hidden SMS? How are they pushing the Message on my device?

  
     
     

回答列表

1
 
vote

基于此文档:这基本上是其他推送通知服务的工作...

  1. 应用程序请求设备的令牌
  2. C2DM为特定设备的注册令牌响应
  3. 应用程序将令牌发送到Web上的服务器。
  4. 您的服务现在可以与C2DM(验证后)通信,并使用已注册的设备令牌,C2DM将消息发送到设备。

在C2DM侧,令牌与特定设备相关联。通过C2DM发送推送通知时,Google服务器将该信息发送到设备。设备上的C2DM库"收听它们" 并根据需要将其传递给意图。

 

Based on this document: And this is basically how other push notification services work as well...

  1. The application requests a token for the device
  2. C2DM responds with the registration token for the specific device
  3. The application sends the token to your server on the web.
  4. Your service can now communicate with C2DM (after authenticating), and using the registered device tokens, C2DM will send the messages to the devices.

On the C2DM side, the token is associated with a specific device. When you send a push notification through C2DM, the Google servers send that info to the device. C2DM libraries on the device "listen for them" and pass them on to the intents as needed.

 
 
         
         
0
 
vote

Android为此类应用程序触发提供系统范围的意图。对于c2dm,有一整类意图看起来像com.google.android.c2dm。*。要使用这些意图,您需要在您的应用中添加广播接收器并使用系统注册它。
要使它真的起作用,你也需要远程推送服务。您在服务器上的软件必须使用HTTP / HTTPS来邮件到Google的C2DM服务器。
现在,只要建立来自C2DM服务器的基于推送协议的通信,Android系统会根据应用程序安装时注册的意图触发应用程序...

更新:
更清楚,当您的应用程序推送服务器将消息推送给Google的C2DM服务器时,Google会检查附加消息的令牌。介意它,这个令牌是由com.google.android.c2dm.intent.register而生成的,如果用户使用Google帐户登录。因此,使用此令牌,谷歌了解确切的交货地点。然后,谷歌利用Google服务框架以原始键值对形式推送消息...

轮询与否?
不可以。IT Utilities相同的电子邮件推送类型技术,在此连接服务器&amp之间的连接;客户端保持打开。所以,无需运行轮询服务..

 

Android provides system-wide intents for such type of app triggering. For C2DM, there's a whole class of intents looks like com.google.android.c2dm.*. To use these intents, you'll need to add broadcast receivers in your app and register it with system.
To make it really work, you'll need remote push service too. Your software on server must be capable of messaging to Google's C2DM server using HTTP/HTTPS.
Now, whenever a push protocol based communication from C2DM server is established, Android system triggers app based on intents registered at the time of app installation...

Update:
More clearly, when your application push server pushes message to Google's C2DM server, Google checks token attached with message. Mind it, this token was generated by com.google.android.c2dm.intent.register if user had logged in with Google Account. So, using this token, Google comes to know exact delivery location. Then, Google makes use of Google Services Framework to push message in raw key-value pair format...

Polling or not?
No. It utilities same email push type technology in which connection between server & client is kept open. So, no need to run polling service..

 
 
         
         

相关问题

6  为什么“成功更新”通知消失了吗?  ( Why do the successfully updated notifications disappear ) 
我注意到使用较新的姜饼(2.3.5?)和现在冰淇淋三明治(4.0.3)构建时,我注意到了奇怪的行为。其他版本也可能是这种情况,但我还没有看到它的2.3.3且我的Nexus S. 编辑:作为Chahk指出下面,它可能与Android有关操作系统版本,而是最近的市场应用程序。 我有很多应用程序(目前左右160)。现在,当...

3  处理通知 - 振动/屏幕/音调?  ( Handling notifications vibrations screen tones ) 
我的HTC似乎振动了每个该死的通知。当它这样做时,屏幕不会上来,没有声音。我知道如何关闭通知,但我试图弄清楚如何定义通知: a)打开屏幕,以便在不必打开手机的情况下看到通知,转到通知Screeen等。 b)提供音频通知/音调 c)或不振动 亲自,我发现没有声音的振动,没有屏幕是最烦人的。 ...

6  当我收到我的Google语音号码时,我如何停止两次通知?  ( How do i stop from getting notified twice when i get a text to my google voice n ) 
当我收到给我的Google语音号码的短信时,我从文本应用程序中获得通知,以及Google语音应用程序。似乎消息正在转发到我的手机号码,但我已关闭语音邮件和amp中的文本转发;文本设置。是我缺少的另一个设置吗? ...

13  如何禁用USB连接的通知?  ( How do i disable the usb connected notification ) 
每次插入手机时,我都会收到USB连接的通知。有没有方法可以禁用通知,而无需禁用USB调试? 电话:lg optimus s 载体:Sprint Android:2.2,rooted ...

11  我安装了另一个短信应用程序,现在我得到了两次通知  ( I installed another sms application now i get notified twice ) 
我有一个带有Android 2.2的Google Nexus。我不喜欢默认的短信应用程序,所以我安装了handcent-sms。现在,当我得到一个短信时,我得到了两次通知。我该如何解决这个问题? ...

1  有没有办法覆盖不让我解除它们的通知?  ( Is there a way to override notifications that dont let me dismiss them ) 
我有一个运行4.2.2的Galaxy Nexus。某些应用程序,就像与朋友的单词一样,偶尔会发送垃圾通知,以尝试不同的游戏或类似的游戏。当我按下DISPISS所有按钮时,它们不会拒绝,并且我无法手动滑动以删除它们。我必须实际按下将我带到应用程序的通知。 显然我不想打开打开并立即关闭应用程序来删除通知。当然最简单的解决...

0  在三星设备上禁用聊天头(对于whatsapp等)  ( Disable chat heads for whatsapp etc on samsung devices ) 
在我的三星Galaxy Note 8上的Android 9.0馅饼更新8时,我注意到WhatsApp Messenger通知提出类似于Facebook Messenger通知如何交付 - 带聊天头。这是一个带有Messenger的个人资料图片的圆圈,并单击它打开一个小窗口,其中显示了消息。 我更喜欢这个聊天头从未在那...

10  如何从通知图标中推断/识别应用程序?  ( How can i deduce identify an app from a notification icon ) 
我担心我孩子的电话上的应用程序。我在看起来很奇怪的通知区域中看到了一个应用程序图标(安迪android 头部,略微倾斜为它的图标)。 如何才能发现它是从通知栏中看到该图标的应用程序? ...

1  C2DM如何工作?  ( How does c2dm work ) 
我目前正在开发一个应用程序,并且当我实施的C2DM功能时,它让我思考这是如何工作的? 它通过轮询工作吗?有隐藏的短信吗?他们如何在我的设备上推动邮件? ...

6  为什么一些Android设备(三星)以10%的步骤显示电池充电,而其他的(HTC)则显示更准确的百分比?  ( Why do some android devices samsung show battery charge in steps of 10 wherea ) 
为什么三星设备(也许其他人)显示倍数为10%的电池充电,而其他设备能够显示96%等更准确的百分比? 这是硬件或软件的限制,可以改变此行为,以显示剩余电池的准确(非倍数10)显示? ...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有