4

Я новичок в разработке Android, и я пытаюсь добавить чат в мое приложение для Android, на котором работает новый action от Rail. В настоящее время я работаю в чате, используя Firebase, что здорово. Тем не менее, я хотел бы иметь дополнительные функции, которые не поддерживаются Firebase, поэтому я хочу переместить все на свой сервер. Проблема в том, что я мало что знаю о веб-сайтах на Android.Как подключить Android-соединение к подключению к веб-соединению actioncable?

Ниже приведена информация о javascript, используемая на стороне браузера rails. Это работает без проблем.

hostname = (url) -> 
    parser = document.createElement('a') 
    parser.href = url 
    parser.href = parser.href 
    parser.protocol = parser.protocol.replace("http", "ws") 
    parser.href 

@App = {} 
App.cable = Cable.createConsumer hostname("/") 

App.messages = App.cable.subscriptions.create "MessagesChannel", 
    received: (data) -> 
    messages = $('#messages') 
    messages.append(data.message) 
    messages.scrollTop(messages.height() + 1000) 

ответ

1

Actioncable logic не так сильно отличается от другой общей структуры websocket. Существует множество интернет-библиотек Android.

попробовать,
https://github.com/codebutler/android-websockets

И
полный документ actioncable еще не готов. (https://github.com/rails/rails/issues/22673)

вы должны попробовать чтение исходного документа фронтального actioncable рамки (CoffeeScript). https://github.com/rails/actioncable/blob/master/lib/assets/javascripts/cable/consumer.coffee https://github.com/rails/actioncable/blob/master/lib/assets/javascripts/cable/subscription.coffee

+0

я сдалась и просто построить приложение-чат с Node.js + Экспресс + Socket.io и проверку подлинности с помощью моих рельсам сервера – fiyah

+0

[codebutler/Android-WebSocket] (https://github.com/codebutler/android-websockets) не выполняет [закрытие рукопожатия] (https://tools.ietf.org/html/rfc6455#section-7), которое требуется [RFC 6455] (https://tools.ietf.org/html/rfc6455) и может закрыть исключение при закрытии. Подробнее см. В [this] (http://stackoverflow.com/a/30185251/1174054). –

+0

@fiyah Да, это хороший вариант, и есть много хороших библиотек websocket, faye (actioncable использует faye) и eventmachine. другой вариант - puser.com. Удачи! –