Spotify应用程序API:检测离线模式

Spotify Apps API: Detect offline mode

本文关键字:离线 模式 检测 应用程序 API Spotify      更新时间:2023-09-26

有没有办法检测Spotify是否处于离线模式?我目前正在开发一款应用程序,它显然依赖于工作的互联网连接。我希望能够检测是否连接到互联网,如果没有,则显示错误消息。

我发现了一些javascript的通用解决方案,但似乎不起作用,比如:

var online = navigator.onLine;

您可以通过访问会话对象中的状态来检测客户端是否脱机。

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);
});

这就是您在更新的(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了解更多信息。

http://developer.spotify.com/en/libspotify/docs/group__session.html

检查

sp_connectionstate 

对于枚举值:

SP_CONNECTION_STATE_OFFLINE

应该得到你想要的。

对于应用程序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