Как отправлять push-уведомления, используя библиотеку java smack + сервер openfire в веб-приложении, Android, IOS - PullRequest
0 голосов
/ 02 июня 2018

Я настроил сервер openfire и хочу отправлять push-уведомления в webapp, Andriod и ios с помощью моего java-сервера. То есть, если я отправляю push-уведомления java-сервером на openfire, он должен иметь возможность отправлять уведомления о подключенных приложениях..

1 Ответ

0 голосов
/ 09 июня 2018

Насколько я знаю, для Openfire не существует плагина, поддерживающего Push-уведомления, как Firebase.

Решением вашей проблемы может быть Фоновая служба.Эта служба будет работать в фоновом режиме и получать раздел для вашего приложения.Также недостатком этого решения может быть срок службы батареи, так как ваша служба постоянно работает в фоновом режиме.

Ваша служба может быть запущена с помощью приложения, а также может быть запущена с приемниками, такими как BootReceiver, NetworkReceiver, ShutdownReceiver и т. Д.

public class MessageService extends Service { }

И скажем, NetworkReceiver запускает ваш сервис, который обрабатывает Stanza, как пакеты Message или PResence:

public class NetworkReceiver extends BroadcastReceiver {
    public static final String EXTRA_DATA_NAME_NETWORK_CONNECTED = "my.package.name.NetworkConnected";

    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (ConnectivityManager.CONNECTIVITY_ACTION.equals(action)) {
            Intent serviceIntent = new Intent(MessageService.ACTION_NETWORK_STATUS, null, context, MessageService.class);
            serviceIntent.putExtra(EXTRA_DATA_NAME_NETWORK_CONNECTED, NetworkUtils.isNetworkConnected(context));
            context.startService(serviceIntent);
        }
    }
}
...