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

How does C2DM work?


1
vote

问题

中文

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

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

英文原文

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..

 
 
         
         

相关问题

3  启用或禁用基于Android上的位置的通知?  ( Enable or disable notifications based on location on android ) 
我真的希望我可以在工作时让我的Android发出商业电子邮件,以及当我不在办公室时的家庭电子邮件。是否有任何应用程序可以轻松促进? ...

8  如何在日历事件期间启用静音模式?  ( How to enable silent mode during calendar events ) 
我想在日历中存在当前事件时禁用所有通知声音。我如何自动这样做? ...

2  某些通知音调仅显示某些应用程序?  ( Some notification tones only shows up for certain apps ) 
让我们说出whatsapp应用程序。当我尝试改变WhatsApp的通知音调时,一些铃声显示在我改变设备的通知音调时未显示出来。 例如,在声音选择器中,只有一个名为xperia 的音调,当我尝试更改设备的铃声时,在whatsapp中,声音选择器显示两个名为xperia 的两个音调。还有更多的。如何让所有应用程序都能看到...

0  Facebook Messenger:在Android上脱机时没有通知  ( Facebook messenger no notification when offline on android ) 
重现步骤: 我离线(关闭Wi-Fi,关闭3G) 我的朋友通过Facebook Messenger向我发送消息。 我上线。 预期结果:我收到关于消息的通知。 实际结果:根本没有通知。 额外信息:如果我在线当我的朋友发出一条消息时,我会收到通知。 所以,如何收到关于脱机时发送的消息的通知? ...

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

24  关闭通知声音和振动,同时允许电话触发Nexus 5上的声音和/或振动  ( Turn off notification sounds and vibrations while allowing phone calls to trigge ) 
我有一个运行Android 4.3.2的Nexus 5。我想关掉所有应用的所有声音和振动通知,同时允许电话触发声音和/或振动。有没有办法来做这个? 我已经尝试过" >如何关闭通知声音并在上留言,但答案不起作用。没有单独的滑块进行通知,Audiomanager应用程序不会关闭振动。我已经尝试了官方谷歌答案但没有设置,<...

7  CyanogenMod - 什么是“通知模式”?  ( Cyanogenmod what is notification mode ) 
我认为我误解了Cyanogenmod的概况方案关于通知。 这是我想要做的事情:我想要在状态栏中弹出所有通知,但只有手机和消息传递应该振动。在工作,电话和amp;消息不应该环。 我以这种方式配置了我的配置文件: 组"手机&amp;消息传递" 包含电话,消息,电子邮件和Gmail应用程序。 工作:手机&amp;消息传递...

2  如何删除“插槽1:没有SIM卡”通知吗?  ( How do i remove the slot 1 no sim card detected notification ) 
我正在使用我的手机作为更多的平板电脑和更少的手机(我不使用蜂窝收音机,只有wifi互联网),所以我没有把SIM卡放在其中。 问题是 - 我手机中没有SIM卡的通知始终在通知栏中出现: 我已经在飞机模式下运行手机,然后启用WiFi,但问题仍然存在。我也试过强制停止"手机" 应用程序,它确实删除了通知,但它会在手机...

9  在三星Galaxy设备上禁用徽章  ( Disable badges on samsung galaxy devices ) 
我有一个三星Galaxy S2,带Android 4.1.2 Jellybean。 当我在短信或Facebook中获取通知时,我看到主屏幕上的应用程序图标上的数字(通知徽章)的红色通知。 有没有办法停止这一点?我停止了Facebook应用程序的所有通知,但我仍然在主屏幕上获取通知徽章。 ...

44  沉默一个whatsapp小组  ( Silencing a whatsapp group ) 
我想停止从某个whatsapp组接收新的消息通知。是否有可能? 澄清: 我不想离开小组。 我不想关闭所有whatsapp通知。还有其他群体,我仍然想要了解通知。 我不想只是静音通知声音。我想要的是完全摆脱小组的通知。 ...

7  如果我的HTC令人难以置信的通知光线在绿色和琥珀之间闪烁闪烁的意义是什么意思?  ( What does it mean if my htc incredibles notification light flashes between gree ) 
我今天开车,我的手机在持有人。当时,我正在为GPS和Pandora使用它,它被插入了我的车充电器。在一点时,通知LED开始闪烁在类似于常规模式(但是自从我开车后,我不能100%肯定),在绿色和琥珀之间交替。我以前从未见过这个,我没有通知。这是什么意思? ...

18  有没有办法定制振动模式?  ( Is there a way to customize vibrate patterns ) 
就像许多人一样,我的手机在沉默/振动模式下大部分时间。我想知道是否有一种方法来为不同的通知分配不同的振动模式,就像我们为铃声和发出声音的警报一样。 也许有一个应用程序,允许我们这样做?我还找不到任何东西。 ...

1  为什么我可以获得关于当地商店的购物车通知?  ( Why am i getting shopping trolley notifications about local store savings ) 
我正在经常出现"购物台车" 通知。 通知如下所示: 通知是关于当地超市的"储蓄" ,这是它! 是谷歌地图或谷歌助手等其他应用程序的通知吗?我正在努力找到特定的设置来禁用通知。 我也有兴趣知道此通知是否可以以任何方式进行目标,由商店生成的广告。我与商店的营销偏好是选择退出,这让我感到非常愚蠢的广告。肯定是谷...

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

1  如何禁用弹出式短信通知(2.2 Froyo,HTC EVO)?  ( How can i disable popup sms notifications 2 2 froyo htc evo ) 
我有htc evo,我需要禁用弹出短信通知。我有股票通知应用程序和Chompsms。我禁用了库存中的所有通知,Chomp没有选项弹出窗口(即使禁用时也会发生这种情况)。基本上每个SMS =一个弹出窗口,说明这是你的消息,做什么:完成,回复等。我真的是在栏上的通知而不是弹出窗口。 ...

6  交换电子邮件通知不清楚  ( Exchange email notification doesnt clear ) 
我有几个谷歌邮件(应用程序和Gmail)帐户链接到我的手机。如果我收到电子邮件,手机会通知我。如果我在PC上阅读了电子邮件,通知会消失。我喜欢那样。 我也使用与Exchange Server的"电子邮件" 应用程序为我的日常工作。如果我收到电子邮件,手机会通知我。但是,如果我在PC上阅读了电子邮件(Outlook或O...

6  日常通知沿着通勤之家的不良交通  ( Daily notification of bad traffic along commute home ) 
是有一个应用程序,它会在我指定天(或工作日)的时间时会通知我,如果当前从我当前位置到我指定的位置的路线上存在繁忙的流量? 理想情况下,选择在地图上查看路由。 注意:我在英国,虽然我希望与谷歌地图交通数据配合使用的解决方案,所以手指越过谷歌地图流量工作的应用程序。 我知道有没有显示路线流量状态的小部件,但我想避免检查...

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

0  WhatsApp如何提供通知?  ( How is whatsapp delivering notifications ) 
我有一些问题与whatsapp通知我' d喜欢更好地了解问题的根本原因。 似乎应用程序是以某种方式绕过(至少部分地)系统通知系统。 除了忽略TouchWiz阻止模式外,应用程序还突然地工作,因为当我在收听音乐时收到时,它的通知不会关闭音量,并且它可以自行管理LED颜色。 如何从技术角度来看,他们可以从技术角度来看? ...

0  Galaxy S3迷你通知声音 - 发抖,关闭。  ( Galaxy s3 mini notifcation sounds how to turn off ) 
我有默认通知声音设置为静音,但每隔几分钟的声音都会。有谁知道导致它是什么? ...

41  如何关闭单个应用程序的通知?  ( How to turn off notifications for individual apps ) 
在我的iPhone上,有一个"通知" 设置部分,基本上允许我选择哪个应用程序有权通知我。 我想知道三星Galaxy S2上有什么类似的东西吗? 基本上,我们有一个名为朋友争夺的新应用程序。并且每当有人完成转过身后,它会一直通知我们,以便我可以玩。我们玩随意的人,所以这可能是在半夜或在会议等中。 它只是振动,但仍然 -...

8  这个通知是否让我的手机留在手机上?  ( Is this notification that keeps coming up on my phone a virus ) 
这个通知一直升起,而且我不确定它是真实的还是病毒,或者如何停止它来。 它说'Android系统警告!谷歌在电池模块中找到了严重的错误!点击[确定]查看详细信息。' screenshot(点击更大的变量) 任何帮助感谢,谢谢。 劳伦。 ...

14  看到长期通知的全文  ( Seeing the full text of a long notification ) 
我在我的手机上有一个通知,其中文本的长度超过屏幕的宽度,它不会包装,只是徘徊边缘。如何看到通知的全文? 我已经看过一个建议在这里长时间按下〜5秒显示它,但这一切都是提出 App Info 菜单。也许在没有 App Info 菜单的旧版本的Android上,这是这样的?理想地寻找在冰淇淋三明治和上面工作的答案(因为我...

3  通过Slideme.org购买的应用程序会给您提供有关可用更新的通知吗?  ( Do the apps purchased via slideme org give you notifications about available upd ) 
slideme 是您可以在其中购买应用程序的网站(对于播放商店不支持购买的国家有用)。 如果您的应用程序已更新,我会收到通知吗? ...

4  如何阻止我的手机思考它连接到计算机?  ( How can i stop my phone from thinking its connected to a computer ) 
我将手机插入我的电视的USB端口,希望能从电视上从手机上播放视频。这并不成功。自从我与电视断开连接后大约4天,它仍然认为它已连接。 我已经关闭了电话,它可能会离开一会儿,但不断回来。左上级状态栏将在圆圈中旋转2个箭头,当我向下拖动看我的通知时,我看到这个: mtp服务状态: 连接到计算机 任何想法? 我的手...

4  如何检查HTC欲望在没有转动的情况下关闭?  ( How to check htc desire is off without turning it on ) 
可以以某种方式区分手机关闭或睡觉而不打开该过程(在按下电源按钮时发生这种情况)? 我很欣赏,我可以使用沉默或飞机模式而不是关闭它,但有兴趣查看是否有办法。 ...

19  隐藏状态栏中的警报图标  ( Hide alarm icon in the status bar ) 
我有至少一个警报设置每天下降,所以我的通知栏上的"闹钟" 图标真的毫无意义。 有没有办法在Android Froyo或Android Gingerbread中隐藏在一个隐藏的图标? ...

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

3  在未运行时运行TweetDeck通知的Android  ( Android running tweetdeck notifications when not running ) 
我下载了我新的Galaxy S 3的TweetDeck,并且当它不在任务列表中运行或<代码> ABCDEFGHIJKLMNABCDEFGHIJKLMN0 时,它仍然通知我新推文。如何在运行此任务以及如何禁用它?我没有在服务中或在TweetDeck选项中看到它来禁用后台服务。 ...

9  我可以隐藏通知栏中正在进行的活动的程序吗?  ( Can i hide a program from ongoing activities in the notification bar ) 
有没有办法隐藏给定应用程序在正在进行的通知栏中显示的通知? ...

相关问题

3  启用或禁用基于Android上的位置的通知? 
8  如何在日历事件期间启用静音模式? 
2  某些通知音调仅显示某些应用程序? 
0  Facebook Messenger:在Android上脱机时没有通知 
6  为什么一些Android设备(三星)以10%的步骤显示电池充电,而其他的(HTC)则显示更准确的百分比? 
24  关闭通知声音和振动,同时允许电话触发Nexus 5上的声音和/或振动 
7  CyanogenMod - 什么是“通知模式”? 
2  如何删除“插槽1:没有SIM卡”通知吗? 
9  在三星Galaxy设备上禁用徽章 
44  沉默一个whatsapp小组 
7  如果我的HTC令人难以置信的通知光线在绿色和琥珀之间闪烁闪烁的意义是什么意思? 
18  有没有办法定制振动模式? 
1  为什么我可以获得关于当地商店的购物车通知? 
0  在三星设备上禁用聊天头(对于whatsapp等) 
1  如何禁用弹出式短信通知(2.2 Froyo,HTC EVO)? 
6  交换电子邮件通知不清楚 
6  日常通知沿着通勤之家的不良交通 
6  为什么“成功更新”通知消失了吗? 
0  WhatsApp如何提供通知? 
0  Galaxy S3迷你通知声音 - 发抖,关闭。 
41  如何关闭单个应用程序的通知? 
8  这个通知是否让我的手机留在手机上? 
14  看到长期通知的全文 
3  通过Slideme.org购买的应用程序会给您提供有关可用更新的通知吗? 
4  如何阻止我的手机思考它连接到计算机? 
4  如何检查HTC欲望在没有转动的情况下关闭? 
19  隐藏状态栏中的警报图标 
1  有没有办法覆盖不让我解除它们的通知? 
3  在未运行时运行TweetDeck通知的Android 
9  我可以隐藏通知栏中正在进行的活动的程序吗? 



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


Licensed under cc by-sa 3.0 with attribution required.