Android Pusher не подключается к частным каналам

Я пытаюсь реализовать push-чат в своем приложении для Android, я могу подключиться к pusher, получил ответ как CONNECTED. Но не удается подключиться к частным каналам (локальный сервер). Может ли кто-нибудь помочь в этом. добавив код ниже.

заранее спасибо

final HttpAuthorizer authorizer = new HttpAuthorizer(myurl);
    authorizer.setHeaders(getMapAuthorizationHeaders());
    PusherOptions options = new PusherOptions().setAuthorizer(authorizer);
    final Pusher pusher = new Pusher("pusher_key", options);

    pusher.connect(new com.pusher.client.connection.ConnectionEventListener() {
        @Override
        public void onConnectionStateChange(ConnectionStateChange connectionStateChange) {

            Log.e("connectionStateChange" , connectionStateChange.getCurrentState().toString());

            if (connectionStateChange.getCurrentState() == ConnectionState.CONNECTED) {

                SOCKET_ID = pusher.getConnection().getSocketId();
                Log.e("SOCKET_ID" , ""+SOCKET_ID);


                Channel channel = pusher.subscribePrivate(PUSH_CHANNEL, new PrivateChannelEventListener() {
                    @Override
                    public void onAuthenticationFailure(String s, Exception e) {
                        Log.e("PUSHER", "Channel subscription authorization failed");
                    }

                    @Override
                    public void onSubscriptionSucceeded(String s) {
                        Log.e("PUSHER", "Channel subscription authorization succeeded");
                    }

                    @Override
                    public void onEvent(String s, String s2, String s3) {
                        Log.e("PUSHER", "An event with name " + s2 + " was delivered!!");
                    }
                }, "my-event");
            }
        }

        @Override
        public void onError(String s, String s1, Exception e) {

        }
    });



public static HashMap<String, String> getMapAuthorizationHeaders() {
try {
    HashMap<String, String> authHeader = new HashMap<>();
    authHeader.put("HeaderKey1", "HeaderValue1");
    authHeader.put("HeaderKey2", "HeaderValue2");
    return authHeader;

} catch (Exception e) {
    return null;
}

}


person Droid_Dev    schedule 04.07.2016    source источник
comment
Здравствуйте, у меня такая же проблема, у вас есть какие-нибудь решения для этого?   -  person Hardik Joshi    schedule 04.05.2019


Ответы (1)


Могу ли я предположить, что там, где вы поместили "pusher_key", вы только что добавили сюда это из соображений безопасности, а в своем приложении вы на самом деле используете свой ключ?

Кроме этого, где вы определяете PUSH_CHANNEL для: pusher.subscribePrivate(PUSH_CHANNEL,

person nickjf89    schedule 04.07.2016
comment
я использую оригинальный ключ и real_channel_name соответственно - person Droid_Dev; 05.07.2016
comment
В каком кластере находится ваше приложение? Если это не значение по умолчанию (MT1), вам необходимо указать его. - person nickjf89; 05.07.2016
comment
Я также получаю ту же ошибку. Соединение работает нормально, но subscribePrivate не звонит. - person ayesh don; 19.05.2017
comment
здравствуйте у меня такая же проблема, вы его крутите? - person Huntzberger; 29.04.2020