为啥我需要 GCM 或 APN?

Posted

技术标签:

【中文标题】为啥我需要 GCM 或 APN?【英文标题】:Why do i need GCM or APN?为什么我需要 GCM 或 APN? 【发布时间】:2017-07-12 05:04:00 【问题描述】:

为什么个别应用服务器不能直接向他们的移动应用发送通知?拥有集中式通知平台有什么好处?

【问题讨论】:

【参考方案1】:

来自thread,GCM 是一项服务,可帮助开发人员将数据从服务器发送到他们在 android 设备上的 Android 应用程序。与 APN 相同,它是一项服务,供应用程序开发人员将信息传播到 ios(以及间接地,watchOS)、tvOS 和 macOS 设备。

您可以查看以下主题:

Why it is preferred to use GCM for push notifications?

假设您的手机上有 50 个不使用 GCM 的应用程序。每个应用程序开发人员都认为每分钟轮询一次他们各自的后端是合适的。

由于这些都是独立的应用程序,每个调用可能不会与另一个 api 调用同时发生。对电池的最大伤害是当 android 设备中的无线电在关闭后必须重新打开以进行 API 调用时,因此在间隔时间段内发生的多次调用会更快地耗尽电池(阅读无线电状态机上的这篇文章以更好地理解为什么这是https://developer.android.com/training/efficient-downloads/efficient-network-access.html)

此外,每个应用程序都将访问一个单独的端点。每次进行 API 调用时,都必须完成给定服务器的连接过程。使用批处理 api 请求或 HTTP 2.0,无需重新进行握手或连接过程即可优化对同一服务器的多个调用。

What are some advantages of push notifications?

广泛覆盖互联网用户。 高转化率。 实时通信。

Push Notifications Explained

希望这会有所帮助!

【讨论】:

那么,在 GCM 或 APN 方法中,如果该设备中安装了所有应用程序,移动应用程序是否会代表相应的通知平台轮询?无论应用程序的服务器是否已发送。我的理解正确吗?

以上是关于为啥我需要 GCM 或 APN?的主要内容,如果未能解决你的问题,请参考以下文章

从 php 推送到 GCM/APN 的最佳实践

APN、GCM(FCM):如何在通知中添加富媒体?

如何在 iOS 中注册 GCM

为啥 GCM 需要 google 帐户登录才能在 4.0.4 操作系统以下的设备上工作?

为啥我无法在 Android 设备上接收来自 GCM 的消息

将推送通知迁移到 FCM 或 Amazon SNS?