Получить данные из pubnub Android

Я никогда раньше не работал с pubnub, поэтому просто хочу получить от вас все рекомендации, так как мое требование несколько похоже на то, что мне нужно сделать приложение для группового чата, где я буду передавать данные из своего приложения на сервер с помощью RestFull Apis, и сервер будет подталкивать данные к Pubnub, и я буду извлекать данные из pubnub для отображения данных внутри приложения.

Поток выглядит примерно так:

  1. Передача данных из приложения на сервер с использованием API RESTful .

  2. Получение данных с сервера в приложение с использованием PubNub Data Network .

Я посмотрел на pubnub и узнал, как я могу интегрировать это в мое приложение, поскольку мне будет нужно, чтобы publish_key и subscribe_key инициализировали Pubnub SDK внутри моего приложения.

 Pubnub pubnub = new Pubnub("Your Publish Key Here", "Your Subscribe Key Here");

Я также изучил информацию о подписчике и издателе. Согласно моему пониманию, мне нужно подписаться на канал, который мой сервер будет строить в pubnub, чтобы получить данные из Pubnub и использовать функцию, как указано ниже:

    pubnub.history("channel_name", 100, new Callback() {
    public void successCallback(String channel, Object message) {
        System.out.println(message);
    }
});

это то, что мне нужно делать внутри части кода моего приложения. Пожалуйста, предоставьте мне некоторые рекомендации, если кто-то будет работать с этим типом требований, это будет очень полезно, поскольку у меня мало времени потратить на исследования и разработки.

благодаря

java,android,api,pubnub,groupchat,

0

Ответов: 2


1

Если вы хотите отправить данные из своего клиентского приложения в свое серверное приложение, вы можете просто отправить его на свой сервер напрямую, используя традиционные методы веб-приложений.

Затем ваш сервер может публиковать сообщения на канал PubNub, на который подписаны ваши клиентские приложения .

Нет требования использовать API истории для того, что вы описываете. Используйте, historyчтобы получать сообщения, которые были пропущены во время публикации. Например, клиентское приложение было отключено в то время.

И похоже, вы работаете с PubNub Java SDK v3.x. Используйте последнюю версию PubNub 4.x SDK .


1

1. Передача данных из приложения на сервер с использованием RESTful API.

Если вы хотите отправить данные из своего клиентского приложения в свое серверное приложение, вы можете просто отправить его на свой сервер напрямую, используя традиционные методы веб-приложений.

Затем ваш сервер может публиковать сообщения на канал PubNub, на который подписаны ваши клиентские приложения.

2. Извлечение данных из сервера в приложение с использованием PubNub Data Network.

Вы можете использовать приложение pubnub-android-Lolli-chat, которое использует многие функции PubNub.

git repo https://github.com/GleasonK/pubnub-android-lolli-chat

http://kevingleason.me/pubnub-android-lolli-chat/

Извлечение данных из PubNub с использованием текущего кода:

pubnub.history(this.channel,100,false,new Callback() {
    @Override
    public void successCallback(String channel, final Object message) {
        try {
            JSONArray json = (JSONArray) message;
            Log.d("History", json.toString());
            final JSONArray messages = json.getJSONArray(0);
            final List<ChatMessage> chatMsgs = new ArrayList<ChatMessage>();
            for (int i = 0; i < messages.length(); i++) {
                try {
                    if (!messages.getJSONObject(i).has("data")) continue;
                    JSONObject jsonMsg = messages.getJSONObject(i).getJSONObject("data");
                    String name = jsonMsg.getString(Constants.JSON_USER);
                    String msg = jsonMsg.getString(Constants.JSON_MSG);
                    long time = jsonMsg.getLong(Constants.JSON_TIME);
                    ChatMessage chatMsg = new ChatMessage(name, msg, time);
                    chatMsgs.add(chatMsg);
                } catch (JSONException e) { // Handle errors silently
                    e.printStackTrace();
                }
            }

            MainActivityPubnub.this.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                  //  Toast.makeText(MainActivityPubnub.this,"RUNNIN",Toast.LENGTH_SHORT).show();
                    mChatAdapter.setMessages(chatMsgs);
                }
            });
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void errorCallback(String channel, PubnubError error) {
        Log.d("History", error.toString());
    }
});
Java, Android, апи, pubnub, к конференции,
Похожие вопросы