Getting Started
Where to Start
Integration is simple and easy. We have pre-built music players or you can use our SDK for more custom integration.
If you're planning on integrating music more deeply into your interface, then the following will get you on your way:
- Review the available types of Stations and the limitations associated with each playback type, and confirm they meet your requirements.
- Review the Feature Matrix to see which SDK features are available on what platforms.
- Review the SDK concepts shared between platforms.
- Find the SDK and documentation available for your platform:
- To see an example of how to use our SDK, please review our pre-built music players for your platform.
- Review the going live checklist to ensure your app's UI adhere's to display requirements.
Feed.fm Integration Process
We create your music stations based on your needs. These stations might be defined by genre, bpm, or something else entirely. Our curation team will help you determine the best stations for your application.
If you're integrating one of the pre-built Feed.fm players into your app, copy the player code into your app, add your token and secret values, and wait for the music curation to be completed. We'll let you know when your music is ready.
If you're integrating the Feed.fm SDK into your application and constructing the user interface, you'll need to consider the following:
- Where do you display the required song metadata (title, artist, album)?
- What do you do if streaming music is not available due to connectivity problems or geographic restrictions?
- Feed.fm can attach metadata to each station - such as URLs to imagery, descriptive text, foreign keys, bpm information - do you need anything attached to your stations?
- Do you let users skip, like, and dislike songs, or just play/pause?
- Do you let users select stations, or do you choose for the user?
- Do you let users play music in the background while your app is not active?
- Do you want to send events to the music player so Feed.fm can perform analytics on user behavior with and without music?
At some point during development, the demo music in your stations will be replaced with the curated music. This should not require any code changes on your part.
Credentials
As you sign up to our services Feed.fm will create a development configuration and a production configuration filled with demo music. Each configuration will have a set of credentials (a token and secret value) associated with it that is passed to the SDK to connect it to your music stations. These credentials will be available to you via your business.feed.fm login. We recommend you configure your app to use the development credentials during development and testing, and use the production credentials with the released app.
Feed.fm client libraries
If you're integrating Feed.fm into your app, we offer binary SDKs for various platforms that handle audio playback and native device control integration. While you build the user interface, we offer various supporting views and controllers to assist.
We also offer source code for complete music player interfaces that make use of the SDKs and can be pasted into an app or used as a model to help you build your own custom interface.
iOS SDK / UIs
Our iOS SDK is written in Objective-C and works on the latest versions of iOS and tvOS. The library can be retrieved via CocoaPods or SPM
We have two fully functional music player interfaces available as XCode projects on GitHub. You can find them in resources.
Android SDK / UIs
The Android SDK is written in Kotlin, and is compiled with the latest released Android API.
The SDK depends on Google's ExoPlayer for audio playback, as we've found that to work best in multiple environments. Because of changes in ExoPlayer's API and the difficulties involved in using different ExoPlayer versions at the same time, we publish multiple versions of our SDK, each linked to a different ExoPlayer version.
We have two fully functional music player interfaces available as Android Studio projects on GitHub. You can find them in resources.
Javascript SDK
Our Javascript SDK powers music playback for websites. This SDK does not have all the features of our native SDKs, but it does support basic streaming and simulcast playback. The library is published via npm as web-sdk. The SDK makes use of the HTML Audio
element, and has no external dependencies.
React-native
We offer a react-native bridge library that exposes a limited set of native iOS and Android functionalty to react-native layer. Our React Native bridge allows a React Native app to control our native audio players via Javascript. However, we highly advise opting for native apps whenever feasible.
Unity
Our Unity plugin allows music playback on Unity and works similar to our other SDKs. To find out more about our Unity SDK visit github