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

 
 
         
         

相关问题

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关问题

6  当我收到我的Google语音号码时,我如何停止两次通知? 
7  CyanogenMod - 什么是“通知模式”? 
7  如果我的HTC令人难以置信的通知光线在绿色和琥珀之间闪烁闪烁的意义是什么意思? 
0  在三星设备上禁用聊天头(对于whatsapp等) 
4  如何阻止我的手机思考它连接到计算机? 
1  C2DM如何工作? 
41  如何关闭单个应用程序的通知? 
3  处理通知 - 振动/屏幕/音调? 
13  如何禁用USB连接的通知? 
8  如何在日历事件期间启用静音模式? 
11  我安装了另一个短信应用程序,现在我得到了两次通知 
9  我可以隐藏通知栏中正在进行的活动的程序吗? 
8  这个通知是否让我的手机留在手机上? 
6  为什么“成功更新”通知消失了吗? 
1  有没有办法覆盖不让我解除它们的通知? 
10  如何从通知图标中推断/识别应用程序? 
9  在三星Galaxy设备上禁用徽章 
2  某些通知音调仅显示某些应用程序? 
2  如何删除“插槽1:没有SIM卡”通知吗? 
18  有没有办法定制振动模式? 
19  隐藏状态栏中的警报图标 
3  启用或禁用基于Android上的位置的通知? 
6  交换电子邮件通知不清楚 
6  日常通知沿着通勤之家的不良交通 
6  为什么一些Android设备(三星)以10%的步骤显示电池充电,而其他的(HTC)则显示更准确的百分比? 



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