Integrating Spotify Inti My App

  

Spotify will no longer work with third-party DJ apps starting on July 1st, 2020. The news was posted by Algoriddim, the developer behind a popular DJ software for iOS called Djay. Once you get libspotify linked correctly, you can check out a few Android NDK tutorials for more specific integration help. If you have troubles during your integration, be sure to check out the example code which Spotify ships with libspotify. The code provides a good reference of how to properly talk with the Spotify service with the library. Registering your app in Spotify. Go to the Spotify’s Dashboard and log into your account. Find a Create an App button there. Enter your name and application description. Then examine the following fields: Now find this button. Enter your name and app description. After this we are interested in the following fields. Select Spotify, then Link account to Alexa. Enter your Spotify account details. Set Spotify as your default service for music and podcasts so you don’t need to specify “on Spotify” at the end of your voice commands to play music: Tap the menu in the top-left. Tap Settings, then Music & Podcasts. Tap Choose default music services.

In this article, we’re sharing tips for connecting Spotify to your mobile iOS application. The guide is based on our web and mobile development experience and explores the stages of SDK connection: the process of login, token authentication, and the built-in Spotify player management.

Spotify offers an application programming interface (API) and a software development kit (SDK).

An API is a collection of routines, data structures, and classes designed specifically to interact with a piece of software. An SDK comprises of the API and tools for its management.

When creating an application, it’s better to use an SDK (if there’s one available), as it simplifies the development. Although the Spotify iOS SDK is in beta (ver. beta-25), it’s stable enough to use. Note that using Spotify’s SDK for commercial projects requires their team’s official written approval.

With Spotify integrated with your app, its users can receive user data, play audio and share public data. The latter includes sharing different Spotify items (albums, artists and playlists), and managing collaborative playlists. However, the ability is limited to public items only.

Implementing the Spotify iOS SDK

For this article, we decided to show you the integration of Spotify’s iOS SDK with a mobile application for listening to music from several audio streaming services. Here, users can link to and undock their Spotify accounts, and log into several devices without re-connecting to the integrated services.

Keep in mind that although there is an official tutorial for implementing Spotify’s SDK, it can only introduce the basic functionality. The process of connecting the SDK to a real product is significantly different in terms of login logic and token management.

First things first, you need to create an XCode project, register a Spotify account and make it premium. It’s necessary for streaming. For those not sure it’s worth the purchase, there’s a free trial.

Registering your app in Spotify

Go to the Spotify’s Dashboard and log into your account. Find a Create an App button there. Enter your name and application description. Then examine the following fields:

Now find this button . Enter your name and app description. After this we are interested in the following fields:

  • Client ID - your app’s unique identifier, which is required for the SDK integration.

  • Client Secret - your app’s secret key, which is used on the server.

  • Redirect URL - a link returning to your application in case of login readdressing to the native app or Safari. Here, we used projectname://spotify/callback

  • Bundle ID - your app’s bundle ID.

Creating a SpotifyLoginController

We’re using a custom login, and not the one given in the tutorial because we need to receive a server authentication code.

First, let’s create a controller with UIWebView (go with the UIWebViewController if you wish; we prefer using UIViewController with an additional UIWebView; the delegate is self).

Then, we need to implement a basic Spotify initialization in viewDidLoad:

Where's My Spotify App

Here’s a closer look:

  • SPTAuthStreamingScope, SPTAuthPlaylistReadPrivateScope, SPTAuthPlaylistModifyPublicScope, and SPTAuthPlaylistModifyPrivateScope - are our app’s access rights

  • SpotifyRedirectURI is the redirect URL we specified in the Spotify app settings
  • SpotifyTokenSwapURL and SpotifyTokenRefreshURLb are something we’re going to discuss in a little while

When the controller appears in viewWillAppear, we need to initialize a login link:

Look at the following parameters:

  • client_id - is our app’s client ID
  • scope - is the access permission
  • redirect_uri - is a redirect URL that lets us return to the app and spot the completion of login
  • nosignup = true - disables automatic login
  • show_dialog = true - is a required “Is it really you?” user confirmation
  • response_type = code - is a type of returned value (you can get code or access token here - we’re interested in the former).

Here’s how the response is processed:

A successful login implementation results into a session, which is available through SPTAuth.defaultInstance().session. The peculiarity of Spotify’s sessions is the duration of their lifespan. At the time of writing, it’s 1 hour long. Once this period expires, you have to call the SPTAuth.defaultInstance().renewSession method.

Seemingly not an issue, you just have to add a SPTAuth.defaultInstance().session.isValid() method validation, but here’s a catch: all sessions are stored locally on devices.

Storing and updating tokens

If you want user to login to several devices without signing into their Spotify over and over again, you’re going to have to do the following:

  • Remember we mentioned SpotifyTokenSwapURL and SpotifyTokenRefreshURL? Those are links to the server requests that implement Spotify token updates. When updating a session, you need to fix the renewSession method:

We highly recommend that you reassign swap and refresh links before making any session updates. Otherwise, you might accidentally call renewSession in places, where SPTAuth.defaultInstance() hasn’t been configured yet.

  • Implement swap and refresh methods on the server. Here’s an example of this process in Ruby.

  • Once it has been working for an hour or so, call the renewSession method from your SDK, which then queries your server, gets the necessary data, creates a session and stores it on the device (again, locally).

With the following methods, the newly created session can be transformed into a string and back:

A transformed session can be stored either locally or on a server, but you need to encrypt it first.

Click Convert button Click Convert button to start recording Spotify music to the format you choose. After conversion, click below folder icon to quickly locate the DRM-free Spotify song. You can then transfer and play it anywhere. AudFree Spotify Music Converter for Mac helps you losslessly extract and convert Spotify OGG Vorbis music/playlists to MP3, FLAC, WAV in high quality. Real Spotify to MP3 converter 1. Ondesoft Spotify Converter. Ondesoft Spotify Converter is a. Convert spotify playlist to mp3 mac.

Songs stream

Spotify SDK allows your app’s users to listen to entire songs without being redirected to the Spotify application.

Audio streaming is done not through the usual AVPlayer, but through the SPTAudioStreamingController. For this example, we saved a Spotify player item as a singleton in the Utils class, which makes it accessible from anywhere:

When launching our app (or once we have a connected Spotify account), we can call the player initialization:

In this example, a Spotify Premium check block (the error code is 9, which means a standard account that doesn’t permit audio streaming) is commented due to request instability (which is plausible given that the SDK is in beta). Streaming is only available when there are no errors, regardless of their type.

The main methods of Spotify’s player

  • Track listing:

  • Play and Pause

  • Stop:

  • The current position:

  • The overall track duration:

  • Rewind:

This concludes our article on implementing Spotify’s iOS SDK for mobile application development. We hope you’ve found something worth learning.

Do your consider integrating Spotify with your mobile application? Contact our sales department today to start working on your project.

P.S. Do not forget to logout from Spotify

Useful links

Go to Spotify for Developers using ” https://developer.spotify.com” click on “DASHBOARD” tab, Login into Spotify wherein you shall find Client ID and Client Secret.

Integrate Spotify Into App

Get Spotify token to access other API’s – below is code to create separate class for Spotify token.

Code To GET Popular Tracks

Code to GET tracks using search keywords:

Gaps in using above code

Integrating Spotify Inti My App Download

Spotify App Download For Pc

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Read More