Skip to content

Attempt to open links with URL protocols for streaming services instead of opening in browser with https:// #11

@karimawi

Description

@karimawi

Hello, I am so thrilled to know that a fellow Egyptian is behind this great app, I love the looks and the ease of use, I love the responsivness, it's a well made app and you did a great job, just a small improvement, I usually would not prefer to open my browser and go to the web player to play a song, I would prefer if you added the option for it to open the link with etc:
spotify:track:3IfRPSK5GjUjRoo00THzAB
deezer://www.deezer.com/track/3218803011?autoplay=true
music://itunes.apple.com/us/album/_/1796958743?i=1796958748
etc..

Also, there is a great free API that supports so many streaming services it's https://odesli.co/ and you can reference their API documentation you can also find native URLs like the ones I mentioned above right in the response JSON under "linksByPlatform":

API Response Example
{
  "entityUniqueId": "SPOTIFY_SONG::3IfRPSK5GjUjRoo00THzAB",
  "userCountry": "US",
  "pageUrl": "https://song.link/s/3IfRPSK5GjUjRoo00THzAB",
  "entitiesByUniqueId": {
    "AMAZON_SONG::B0DXBBYMM8": {
      "id": "B0DXBBYMM8",
      "type": "song",
      "title": "Matters",
      "artistName": "Astrid S, Hver gang vi møtes, Thomas Dybdahl",
      "thumbnailUrl": "https://m.media-amazon.com/images/I/51WC+u9U3TL.jpg",
      "thumbnailWidth": 500,
      "thumbnailHeight": 500,
      "apiProvider": "amazon",
      "platforms": [
        "amazonMusic",
        "amazonStore"
      ]
    },
    "AUDIOMACK_SONG::60061025": {
      "id": "60061025",
      "type": "song",
      "title": "Matters",
      "artistName": "Astrid S, Thomas Dybdahl, Hver gang vi møtes",
      "thumbnailUrl": "https://assets.audiomack.com/astrid-s/15461241-coverart.jpg?width=500&height=500&max=true",
      "thumbnailWidth": 500,
      "thumbnailHeight": 500,
      "apiProvider": "audiomack",
      "platforms": [
        "audiomack"
      ]
    },
    "ANGHAMI_SONG::1199498823": {
      "id": "1199498823",
      "type": "song",
      "title": "Matters",
      "artistName": "Astrid S, Thomas Dybdahl & Hver gang vi møtes",
      "thumbnailUrl": "https://artwork.anghcdn.co/cover/220496413/320",
      "thumbnailWidth": 1024,
      "thumbnailHeight": 1024,
      "apiProvider": "anghami",
      "platforms": [
        "anghami"
      ]
    },
    "DEEZER_SONG::3218803011": {
      "id": "3218803011",
      "type": "song",
      "title": "Matters",
      "artistName": "Astrid S, Thomas Dybdahl, Hver gang vi møtes",
      "thumbnailUrl": "http://cdn-images.dzcdn.net/images/cover/692ed22b9eadf0ebb9781f473cae5831/500x500-000000-80-0-0.jpg",
      "thumbnailWidth": 500,
      "thumbnailHeight": 500,
      "apiProvider": "deezer",
      "platforms": [
        "deezer"
      ]
    },
    "ITUNES_SONG::1796958748": {
      "id": "1796958748",
      "type": "song",
      "title": "Matters",
      "artistName": "Astrid S, Hver gang vi møtes & Thomas Dybdahl",
      "thumbnailUrl": "https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/38/59/3c/38593c02-92ed-dbec-79ca-0cd0d35e3b65/0.jpg/512x512bb.jpg",
      "thumbnailWidth": 512,
      "thumbnailHeight": 512,
      "apiProvider": "itunes",
      "platforms": [
        "appleMusic",
        "itunes"
      ]
    },
    "PANDORA_SONG::TR:150194689": {
      "id": "TR:150194689",
      "type": "song",
      "title": "Matters",
      "artistName": "Astrid S, Thomas Dybdahl & Hver gang vi møtes",
      "thumbnailUrl": "https://content-images.p-cdn.com/images/01/83/13/ad/51cf4ad0ae2eb6be1d0f3e88/_500W_500H.jpg",
      "thumbnailWidth": 500,
      "thumbnailHeight": 500,
      "apiProvider": "pandora",
      "platforms": [
        "pandora"
      ]
    },
    "SOUNDCLOUD_SONG::2031673380": {
      "id": "2031673380",
      "type": "song",
      "title": "Matters",
      "artistName": "Astrid S",
      "thumbnailUrl": "https://i1.sndcdn.com/artworks-b79O00sbn9C8-0-t500x500.jpg",
      "thumbnailWidth": 500,
      "thumbnailHeight": 500,
      "apiProvider": "soundcloud",
      "platforms": [
        "soundcloud"
      ]
    },
    "SPOTIFY_SONG::3IfRPSK5GjUjRoo00THzAB": {
      "id": "3IfRPSK5GjUjRoo00THzAB",
      "type": "song",
      "title": "Matters",
      "artistName": "Astrid S, Thomas Dybdahl, Hver gang vi møtes",
      "thumbnailUrl": "https://i.scdn.co/image/ab67616d0000b273c4042f2f460f69ca8d1bf9da",
      "thumbnailWidth": 640,
      "thumbnailHeight": 640,
      "apiProvider": "spotify",
      "platforms": [
        "spotify"
      ]
    },
    "TIDAL_SONG::415972413": {
      "id": "415972413",
      "type": "song",
      "title": "Matters",
      "artistName": "Astrid S, Thomas Dybdahl, Hver gang vi møtes",
      "thumbnailUrl": "https://resources.tidal.com/images/b317e121/18f8/4e6e/8ae2/1ef3d4ea3d13/640x640.jpg",
      "thumbnailWidth": 640,
      "thumbnailHeight": 640,
      "apiProvider": "tidal",
      "platforms": [
        "tidal"
      ]
    },
    "YOUTUBE_VIDEO::v6UtIF2oFF0": {
      "id": "v6UtIF2oFF0",
      "type": "song",
      "title": "Matters",
      "artistName": "Astrid S - Topic",
      "thumbnailUrl": "https://i.ytimg.com/vi/v6UtIF2oFF0/hqdefault.jpg",
      "thumbnailWidth": 480,
      "thumbnailHeight": 360,
      "apiProvider": "youtube",
      "platforms": [
        "youtube",
        "youtubeMusic"
      ]
    }
  },
  "linksByPlatform": {
    "amazonMusic": {
      "country": "US",
      "url": "https://music.amazon.com/albums/B0DXB7WDPV?trackAsin=B0DXBBYMM8",
      "entityUniqueId": "AMAZON_SONG::B0DXBBYMM8"
    },
    "amazonStore": {
      "country": "US",
      "url": "https://amazon.com/dp/B0DXBBYMM8",
      "entityUniqueId": "AMAZON_SONG::B0DXBBYMM8"
    },
    "audiomack": {
      "country": "US",
      "url": "https://audiomack.com/song/astrid-s/matters",
      "entityUniqueId": "AUDIOMACK_SONG::60061025"
    },
    "anghami": {
      "country": "US",
      "url": "https://play.anghami.com/song/1199498823?refer=linktree",
      "entityUniqueId": "ANGHAMI_SONG::1199498823"
    },
    "deezer": {
      "country": "US",
      "url": "https://www.deezer.com/track/3218803011",
      "entityUniqueId": "DEEZER_SONG::3218803011"
    },
    "appleMusic": {
      "country": "US",
      "url": "https://geo.music.apple.com/us/album/_/1796958743?i=1796958748&mt=1&app=music&ls=1&at=1000lHKX&ct=api_http&itscg=30200&itsct=odsl_m",
      "nativeAppUriMobile": "music://itunes.apple.com/us/album/_/1796958743?i=1796958748&mt=1&app=music&ls=1&at=1000lHKX&ct=api_uri_m&itscg=30200&itsct=odsl_m",
      "nativeAppUriDesktop": "itmss://itunes.apple.com/us/album/_/1796958743?i=1796958748&mt=1&app=music&ls=1&at=1000lHKX&ct=api_uri_d&itscg=30200&itsct=odsl_m",
      "entityUniqueId": "ITUNES_SONG::1796958748"
    },
    "itunes": {
      "country": "US",
      "url": "https://geo.music.apple.com/us/album/_/1796958743?i=1796958748&mt=1&app=itunes&ls=1&at=1000lHKX&ct=api_http&itscg=30200&itsct=odsl_m",
      "nativeAppUriMobile": "itmss://itunes.apple.com/us/album/_/1796958743?i=1796958748&mt=1&app=itunes&ls=1&at=1000lHKX&ct=api_uri_m&itscg=30200&itsct=odsl_m",
      "nativeAppUriDesktop": "itmss://itunes.apple.com/us/album/_/1796958743?i=1796958748&mt=1&app=itunes&ls=1&at=1000lHKX&ct=api_uri_d&itscg=30200&itsct=odsl_m",
      "entityUniqueId": "ITUNES_SONG::1796958748"
    },
    "pandora": {
      "country": "US",
      "url": "https://www.pandora.com/TR:150194689",
      "entityUniqueId": "PANDORA_SONG::TR:150194689"
    },
    "soundcloud": {
      "country": "US",
      "url": "https://soundcloud.com/astridsofficial/matters",
      "entityUniqueId": "SOUNDCLOUD_SONG::2031673380"
    },
    "tidal": {
      "country": "US",
      "url": "https://listen.tidal.com/track/415972413",
      "entityUniqueId": "TIDAL_SONG::415972413"
    },
    "youtube": {
      "country": "US",
      "url": "https://www.youtube.com/watch?v=v6UtIF2oFF0",
      "entityUniqueId": "YOUTUBE_VIDEO::v6UtIF2oFF0"
    },
    "youtubeMusic": {
      "country": "US",
      "url": "https://music.youtube.com/watch?v=v6UtIF2oFF0",
      "entityUniqueId": "YOUTUBE_VIDEO::v6UtIF2oFF0"
    },
    "spotify": {
      "country": "US",
      "url": "https://open.spotify.com/track/3IfRPSK5GjUjRoo00THzAB",
      "nativeAppUriDesktop": "spotify:track:3IfRPSK5GjUjRoo00THzAB",
      "entityUniqueId": "SPOTIFY_SONG::3IfRPSK5GjUjRoo00THzAB"
    }
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions