2015-08-26 5 views
0

Используя pusher, мы можем общаться на разных платформах, включая android. В android мы хотим отправить уведомление пользователю, когда сообщение получено, даже если приложение не работает или мы не являемся фрагментом чата. Я рассказал, как работают службы и трансляция, но кажется, что они не подходят для этого. Нам нужно реализовать что-то таким образом, что всякий раз, когда событие запускается в толкателе, мы должны иметь возможность отправлять уведомления на панели уведомлений в приложении. Как мы можем сделать это?Уведомление об использовании Android с помощью толкателя для чата

С уважением

ответ

0

Может быть, это может быть хорошим решением =>https://developers.google.com/cloud-messaging/

+0

Да, я прошел через это и осуществил его. Мы используем толкатель для нашего чата, но для отправки уведомлений мы используем облачные сообщения. –

+0

Вы можете использовать толкатель для привязки к определенному событию с сообщениями данных в них, которые действуют как уведомления – hipkiss

0

Толкатель в настоящее время не предлагают поддержку нативных Push-уведомления. Тем не менее, Pusher предоставляет способ определения, находится ли пользователь в настоящее время в сети. Используя этот механизм, можно определить, как сообщение должно быть отправлено пользователю.

  1. Если они онлайн отправить сообщение Если они форума отправить сообщение по электронной почте, SMS или нативной Push Notification

Интернет обнаружения пользователь может быть достигнуто в ряде с помощью толкателя

  • пути:

    1. Используйте Presence channels и созданы WebHooks так что ваш сервер знает, когда пользователь подписаться/отписывается из этого канала.
    2. Имейте уникальный канал для каждого пользователя. Если канал занят, значит, они находятся в сети. Если канал пуст, они не подключены к сети. Вы также можете использовать WebHooks для мгновенного информирования, когда канал становится занятым (пользователь подключается к сети) или освобождается (пользователь переходит в автономный режим).

    В обоих случаях также можно использовать HTTP API толкателем и query channel state, чтобы определить, является ли канал занят (пользователь онлайн) и члены, которые подписались на канал присутствия.

    Существует также сообщение в блоге о Enabling Smart Notifications, которое демонстрирует запрос канала. Когда пользователь находится в сети, сообщение отправляется через Pusher. Когда они находятся в автономном режиме, они отправляются по электронной почте через SendGrid.

  • 0

    Это возможно. Просто используйте Global «Thread» вместо «runOnUiThread». Вот мой класс обслуживания. Если вы все еще сталкиваетесь с какой-либо проблемой, не стесняйтесь задавать свои проблемы.

    Thread readthread; 
    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
    
        Pusher pusher = new Pusher("faa685e4bb3003eb825c"); 
    
        pusher.connect(); 
    
        Channel channel = pusher.subscribe("messages"); 
    
        channel.bind("new_message", new SubscriptionEventListener() { 
         @Override 
         public void onEvent(String channelName, String eventName, final String data) { 
          readthread = new Thread(new Runnable() { 
           @Override 
           public void run() { 
            Log.i("Successss","Pusher run on Background"); 
            Gson gson = new Gson(); 
            Message message = gson.fromJson(data, Message.class); 
            // Notification(message); 
            // Write your code here. 
           } 
    
          }); 
    
          readthread.start(); 
         } 
    
        }); 
        return START_STICKY; 
    }