API Spotify Apps: обнаружение автономного режима - PullRequest
3 голосов
/ 23 марта 2012

Есть ли способ определить, находится ли Spotify в автономном режиме?В настоящее время я занимаюсь разработкой приложения, которое явно зависит от работающего подключения к Интернету.Я хотел бы иметь возможность определить, есть ли вообще подключение к Интернету, и если нет, показать сообщение об ошибке.

Я нашел несколько общих решений для javascript, которые, похоже, не работают, например:

var online = navigator.onLine;

Ответы [ 4 ]

5 голосов
/ 24 марта 2012

Вы можете определить, находится ли клиент в автономном режиме, обратившись к состоянию в объекте сеанса.

https://developer.spotify.com/technologies/apps/docs/a5a59ca068.html

Что вам нужно сделать, так это прослушать изменение состояния с помощью наблюдателя и посмотреть на состояние OFFLINE.

DISCONNECTED: 2
DUMMY_USER: 4
LOGGED_IN: 1
LOGGED_OUT: 0
OFFLINE: 3

var sp = getSpotifyApi(1);
var models = sp.require('sp://import/scripts/api/models');

models.session.observe(models.EVENT.STATECHANGED, function() {
    console.log(models.session.state);
});
0 голосов
/ 15 января 2014

Вот как вы это делаете в более новом (2013+) 1.0 API:

 models.session.addEventListener('change:online',function({
    console.log('online =',models.session.online);
});

Подробнее см. https://developer.spotify.com/docs/apps/api/1.0/api-models-session.html.

0 голосов
/ 19 июля 2013

Для API приложений V1 вы должны сделать что-то вроде ...

require(['$api/models'], function(models) {

  // add a listener to pick up any changes in on / offline state
  models.session.addEventListener('change', changeOffline);

  function changeOffline(){
    var online = models.session.online; // returns true / false
    if(!online){
      // show offline message etc...
    } else {
      // hide offline message etc...
    }
  }
});

https://developer.spotify.com/docs/apps/api/1.0/models-session.html

0 голосов
/ 24 марта 2012
http://developer.spotify.com/en/libspotify/docs/group__session.html

Проверка

sp_connectionstate 

для значения перечисления:

SP_CONNECTION_STATE_OFFLINE

Должен получить то, что вы хотите.

...