Ionic.io & Firebase ошибка на Android: браузер отключился. Убойная связь

0

Кажется, в какой-то момент конфликт между веб-клиентом платформы Ionic.io и Firebase. Это происходит только на Android (отлично в браузере и на моем iPhone).

Шаги по воссозданию:

ionic start test-app
cd test-app
ionic platform add android

Установка Firebase

bower install firebase --save

Добавить скрипт firebase в index.html

<script src="lib/firebase/firebase-debug.js"></script>

Включить протоколирование Firebase

Firebase.enableLogging(true);

Включить прослушиватель Firebase для некоторых данных в контроллере Dash (controllers.js)

.controller('DashCtrl', function($scope) {
    var ref = new Firebase('http://<YOUR-APP>.firebaseio.com');
    ref.on('child_added', function(snap) {
        console.log(snap.val());
    });
})

Создайте проект Android

ionic build android

Установите веб-клиент платформы Ionic.io(ionic.service.core вводится в приложение Angular module).

ionic add ionic-platform-web-client

подражать

ionic emulate android -l -c

Я использую эмулятор Nexus S с API 23. Тот же результат на моем тестовом Android-устройстве - Samsung Galaxy GT-S7582 Duos под управлением Android 4.2.2 (API 17).

Выход журнала содержит

p:0: Browser went offline.  Killing connection.  :4354
c:0:1: Closing realtime connection.  :4354
c:0:1: Shutting down all connections  :4354
c:0:1:0 Longpoll is being closed.  :4354
W/IInputConnectionWrapper: showStatusIcon on inactive InputConnection
p:0: data client disconnected  :4354
0: onDisconnectEvents  :4354

При переключении между вкладками приложений Firebase снова соединяется, а затем снова отключается.

Отключение прекращается, когда "ionic.service.core" не вводится.

Кто-нибудь испытывает то же самое? Любая идея, как избежать этих отключений?

Спасибо за вашу помощь!

Теги:
firebase
ionic-framework
ionic

1 ответ

1
Лучший ответ

Как предложил Эрик Боббитт из команды Ionic, обтекание ссылки на ссылку Firebase в вызове $ ionicPlatform.ready() решает эту проблему.

$ionicPlatform.ready(function() {
    var ref = new Firebase('https://<YOUR-APP>.firebaseio.com');
    // Do something using ref or expose it as a service.
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню