This repository is now a part of spotify/android-sdk. Please post new issues there!
This library is responsible for authenticating the user and fetching the access token that can subsequently be used to play music or in requests to the Spotify Web API.
To add this library to your project add the reference to its build.gradle
file:
implementation "com.spotify.android:auth:1.2.3"
To learn more about working with authentication see the Authentication Guide and the API reference on the developer site.
The following entries are merged into your manifest when you add the library:
<uses-permission android:name="android.permission.INTERNET"/>
<activity
android:exported="true"
android:name="com.spotify.sdk.android.authentication.AuthCallbackActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:scheme="@string/com_spotify_sdk_redirect_scheme"
android:host="@string/com_spotify_sdk_redirect_host"/>
</intent-filter>
</activity>
<activity
android:name="com.spotify.sdk.android.authentication.LoginActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
</activity>
You will need to add the following strings to your project to enable Chrome CustomTabs login flow:
<resources>
<string name="com_spotify_sdk_redirect_scheme">yourscheme</string>
<string name="com_spotify_sdk_redirect_host">yourhost</string>
</resources>
So, if you provided bestapp://ismyapp
as a redirect URI in the developer console
then you set com_spotify_sdk_redirect_scheme
to bestapp
and com_spotify_sdk_redirect_host
to ismyapp
.
Since Chrome CustomTabs share credentials with the Chrome instance you have installed you get much better experience logging users in compare to WebView flow.
Checkout the sample project.
You are welcome to contribute to this project. Please make sure that:
- New code is test covered
- Features and APIs are well documented
./gradlew check
must succeed
This project adheres to the Open Code of Conduct. By participating, you are expected to honor this code.