gpt4 book ai didi

安卓 C2DM : Determine if push notification can be delivered now

转载 作者:行者123 更新时间:2023-11-30 04:18:23 26 4
gpt4 key购买 nike

有没有办法确定是否可以立即发送推送通知?据我所知这是不可能的,但我不确定。

所以我的场景是这样的:我有一个安卓应用我有自己的服务器

我的 Android 手机上的应用程序应该与我 friend 的 Android 手机上的应用程序通信。现在我正在寻找一个实时通信框架,我想 C2DM 可以帮助我。

所以让我们说:我在手机 A 上的应用应该向我在手机 B 上的应用写一条小消息。假设电话 A 在线并且可以与我的服务器通信。所以电话 A 会将消息发送到我的服务器,我的服务器现在会尝试将此消息传递给电话 B。

这就是关键所在,我的服务器将尝试通过 C2DM 将消息传递给电话 B,这也是我的服务器需要知道是否可以通过 C2DM 发送此消息的关键所在。否则我的服务器应该使用另一种通信方式来传递消息,例如短信或其他方式。

所以重点是,我真的需要知道此刻是否有可能通过 C2DM 传送到电话 B(当然我的服务器知道电话 B 的 C2DM 注册 ID)。否则,例如,如果电话 B 没有连接到互联网并且无法接收 C2DM 推送通知,我的服务器将向电话 B 发送一条短信。

是否有可能确定电话 B 是否在线?我尝试做的是,接触到每个用户(如果他的手机已打开)。如果他在线,则通过 C2DM,否则通过 SMS,以便在此时以任何方式发送消息。

注意:我知道 C2DM 可以存储通知并在电话 B 在线时发送存储的通知,但这不是我想要使用它的方式。另请注意,我知道(架构)如何使用 C2DM。因此,应该从电话 A 传递到电话 B 的“消息”不会直接在以消息文本/敏感数据作为消息正文的 C2DM 推送通知中传递。当然,传递的消息只是一条“更新消息”,告诉我在手机 B 上的应用程序发生了一些变化,应用程序现在应该连接到我的服务器以获取(轮询)最新状态的“短信”从手机 A 发送给你(手机 B)

最佳答案

is there a way to determine, if a push notification can be delivered right now?

没有。无法保证 C2DM 消息永远被传递,更不用说立即传递了。

Is it possible, to dertemine if phone B is online?

手机B可以知道自己是否在线。如果您使用某种长期保持的套接字连接(例如 XMPP)实现服务器,则该服务器可以知道它是否具有与电话 B 的开放套接字连接。

关于安卓 C2DM : Determine if push notification can be delivered now,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9645801/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com