This feature is not available on the web platform
Before using a content a user must download a track. The SDK provides the following functions to download and remove a downloaded track.
class MainActivity : AppCompatActivity() {private fun downloadTrack() {val track = STTrack()STOffline.getInstance()?.add(applicationContext,track,object: STHttpCallback<STTrack> {override fun onSuccess(data: STTrack) {println("success")}override fun onError(error: Throwable) {println(error)}})}private fun removeDownload() {val track = STTrack()STOffline.getInstance()?.remove(applicationContext, track)}}
import UIKitimport StayTunedSDKclass SampleViewController: UIViewController {private func downloadTrack() {let track = STTrack(/*..*/)STOffline.shared?.add(track, completionHandler: { result inswitch result {case .success:print("success")case .failure(let error):print("error: ", error)}})}private func removeDownload() {let track = STTrack(/*..*/)STOffline.shared?.remove(track)}}
// Downloadawait STOffline.getInstance().add(track);// Remove a downloadawait STOffline.getInstance().remove(track);
You can access the downloaded content as follow. Please see the API REFERENCE for more details on models.
class MainActivity : AppCompatActivity() {private fun getDownloadedContents() {STOffline.getInstance()?.contents?.observe(this) { it ->// it is a STContentOfflineItem List}}private fun getDownloadedTracks() {STOffline.getInstance()?.tracks?.observe(this) { it ->// it is a STTrackOfflineItem List}}}
import UIKitimport StayTunedSDKclass SampleViewController: UIViewController {private func getDownloadedContents() {// TODO}private func getDownloadedTracks() {// TODO}}
// Get Tracksconst trackObserver = STOffline.getInstance().observeTracks((tracks: STTrackOfflineItem[]) => {// your code});// Stop the observerSTOffline.getInstance().removeTrackObserver(trackObserver);