Подписка PUBNUB всегда возвращает статус PNTimeoutCategory - PullRequest
0 голосов
/ 27 октября 2018

Я использую pubnub Adnroid SDK версии 4.20.0, и когда я пытаюсь запустить прослушиватель Subscribeecallback, он всегда входит в PNTimeoutCategory.Мой код инициализации выглядит следующим образом.

private void InitializePubnub()
    {
        PNConfiguration pnConfiguration = new PNConfiguration();
        pnConfiguration.setReconnectionPolicy(PNReconnectionPolicy.LINEAR);
        pnConfiguration.setSubscribeKey(GlobalClass.PUBNUB_SUBSCRIBE_KEY);
        pnConfiguration.setPublishKey(GlobalClass.PUBNUB_PUBLISH_KEY);
        pnConfiguration.setSecure(false);

        if (pubnub == null)
        {
            pubnub = new PubNub(pnConfiguration);
        }
    }

, и я создаю свой обратный вызов подписчика следующим образом:

SubscribeCallback subscribeCallback;
    public void PubnubListener() {
        if (subscribeCallback == null) {
            subscribeCallback = new SubscribeCallback() {
                @Override
                public void status(PubNub pubnub, PNStatus status) {

                    if (status.getCategory() == PNStatusCategory.PNConnectedCategory){
                        Log.d("TAG", "Category: " + PNStatusCategory.PNConnectedCategory);
                    }else if (status.getCategory() == PNStatusCategory.PNReconnectedCategory) {
                        Log.d("TAG", "Category: " + PNStatusCategory.PNReconnectedCategory);
                    }
                    else if (status.getCategory() == PNStatusCategory.PNDecryptionErrorCategory) {
                        Log.d("TAG", "Category: " + PNStatusCategory.PNDecryptionErrorCategory);
                    } else if (status.getCategory() == PNStatusCategory.PNUnexpectedDisconnectCategory) {
                        pubnub.reconnect();
                    } else if (status.getCategory() == PNStatusCategory.PNTimeoutCategory) {
                        // do some magic and call reconnect when ready
                        pubnub.reconnect();
                    } else {
                        Log.d("TAG", status.getErrorData().getInformation());
                    }

                }

                @Override
                public void message(PubNub pubnub, PNMessageResult message) {

                }

                @Override
                public void presence(PubNub pubnub, PNPresenceEventResult presence) {

                }
            };

            PubNubClass.getInstance().pubnub.addListener(subscribeCallback);
        }
    }
...