gpt4 book ai didi

android - 在没有互联网访问的情况下从服务器端向 android 应用程序发送警报/通知

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:28 25 4
gpt4 key购买 nike

我需要从 web 应用程序向 android 应用程序发送推送通知。基本上我只想通知 android 客户端服务器上有新数据可用。所以它只需要是手机的字符串+振动/声音。

这里的(大)问题是我在无法访问互联网的公司网络中。这就是我不能使用 GCM 的原因。

到目前为止,我发现以下选项可以在没有 GCM 的情况下完成任务:

  • 使用 XMPP
  • WebSockets
  • Ajax 轮询

是否可以将 WebSockets 或 AjaxPolling 包含到 native Android 应用程序中以触发振动等事件?

有没有更简单的解决方案,没有 xmpp 那样的开销,因为我只需要发送一个简短的通知?到目前为止,我明白我需要一些像 SMACK XMPP 的东西用于 Android + 例如OpenfireXMPPHP 在服务器端用于此场景。

最佳答案

由于没有人回复,我想向您提供一种我现在尝试采用的方法。

我使用 Laravel 编写 API。它带有对 Redis 的开箱即用支持,这对广播事件来说非常棒 -> https://laravel.com/docs/5.1/events

下面只是一个简单的例子:

Redis::publish('test', json_encode($data));

这些事件是从在同一台机器上运行的 Socket.IO 服务器实例接收的。

var Redis = require('ioredis');
var redis = new Redis();

redis.subscribe('test');

....

server.listen(3000);

Socket.IO 有一个 android 客户端实现,它允许我在原生 android 应用程序中连接到 socket.io 服务器。这是一个例子:http://socket.io/blog/native-socket-io-and-android/

private Socket mSocket;
{
try {
mSocket = IO.socket("http://localhost:3000");
} catch (URISyntaxException e) {}
}

关于android - 在没有互联网访问的情况下从服务器端向 android 应用程序发送警报/通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34946727/

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