作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Google 如何实现他们的推送通知功能?它是通过在后台运行的服务完成轮询还是以其他方式工作?
最佳答案
根据我在以色列的 Android 开发者大会上听到的内容:
只有一个 TCP 套接字在 accept mode 中等待在云谷歌服务器上。 TCP 连接已由 Google Play 应用程序启动。这就是为什么必须在设备上安装 Google Play 才能制作 Google Cloud Messaging (GCM) (以前称为 Android 云到设备消息服务 - C2DM)工作。
当这个 TCP 客户端套接字接收到一些消息时,该消息包含信息,例如它应该寻址到的应用程序的包名称,当然还有数据本身。此数据被解析并打包到 intent 中广播并最终由应用程序接收。
即使设备的 radio 状态变为“空闲”模式,TCP 套接字也会保持打开状态。应用程序不必运行即可接收 Intent 。
关于android - 推送通知技术如何在 Android 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59541530/
我是一名优秀的程序员,十分优秀!