pushy.me 服务如何在 Android 上运行?如何保证通知的持续发送?

问题描述 投票:0回答:2

pushy.me 服务 sdk 在 Android 上如何工作?我特别感兴趣的是如何确保通知的持续发送?他是否需要任何额外的权限或类似的东西?为什么后台进程没有被系统杀死?

android push-notification pushy
2个回答
0
投票

后台进程不会被系统杀死,因为服务并不打算被杀死,这与应用程序不同。它们在 Android 操作系统中扮演了这个角色。

至于如何确保通知的持续传递,有三种可能的方法,以及一种最有可能的方法。

1。简短投票

该服务定期发送请求以获取最近通知的当前数据,并显示尚未发送的请求。缺点是,您必须满足大量请求才能确保功能,并且您无法获得真正的持续交付。

2。长轮询

服务发送一个超时时间较长的请求,服务器会保留该请求,直到进行更新,此时它将用更新的数据进行响应。如果超时,客户端会发送另一个请求。这里的缺点是请求需要被保留、冻结,直到数据更新,从而锁定资源。

3.网络套接字

可能的解决方案。在常规 HTTP 中,需要向服务器查询数据。 Web 套接字允许双向通信,该通信仅在一侧关闭连接时终止,而不是在服务每个查询后终止。这样,服务器可以在没有提示的情况下与客户端进行通信。它不需要传入请求来指定将响应返回到的地址。

参见:这个


0
投票

最有可能使用静默推送通知(这样接收者就可以醒来)。虽然它不提供任何保证,但通常相当稳定。

您无法让任何服务在后台运行,因为最新的 Android 版本会限制/终止它。推荐的

WorkManager
API 限制太多。

© www.soinside.com 2019 - 2024. All rights reserved.