Skip to content

🎶 A Cordova / PhoneGap plugin for the Spotify SDKs on iOS and Android

License

Notifications You must be signed in to change notification settings

Festify/cordova-spotify

Repository files navigation

Cordova Spotify SDK Plugin

Greenkeeper badge Travis

An Apache Cordova plugin providing access to the Spotify SDK for iOS and Android.

API documentation

Features

This plugin provides a very simple and atomic layer over playback functionality of the Spotify SDK. It allows you to play Spotify tracks via their URI. Metadata and authentication functionality has deliberately been left out in favor of the Web API and our Spotify OAuth 2 plugin cordova-spotify-oauth.

Installation

cordova plugin add cordova-spotify

Note: Make sure your installation path doesn't contain any spaces.

Examples

The plugin is very simple to use. All methods can be called at any time and there is no initialization step. The plugin performs all necessary state changes automatically. All methods documented in the API documentation are exported under the global cordova.plugins.spotify-object.

Play some good music

cordova.plugins.spotify.play("spotify:track:0It6VJoMAare1zdV2wxqZq", { 
  clientId: "<YOUR SPOTIFY CLIENT ID",
  token: "<YOUR VALID SPOTIFY ACCESS TOKEN WITH STREAMING SCOPE>"
})
  .then(() => console.log("Music is playing 🎶"));

React to user pressing pause button

cordova.plugins.spotify.pause()
  .then(() => console.log("Music is paused ⏸"));

Display current playing position

cordova.plugins.spotify.getPosition()
  .then(pos => console.log(`We're currently ${pos}ms into the track.`))
  .catch(() => console.log("Whoops, no track is playing right now."));

React to events from native SKDs

cordova.plugins.spotify.getEventEmitter()
  .then(emitter => emitter.on('playbackevent', eventName => {
    switch (eventName) {
      case 'PlaybackNotifyPlay':
        console.log("Playback was started");
         break;
      case 'PlaybackNotifyPause':
        console.log("Playback was paused");
        break;
      default:
        console.log("Some other event was raised:", eventName);
        break;
    }
  }))

Contributing

Pull requests are very welcome! Please use the gitmoji style for commit messages.