From 1cbf415504d45c480a558fb45d2f7511dea288a2 Mon Sep 17 00:00:00 2001 From: Alexandru Branza Date: Thu, 22 Dec 2022 15:47:26 +0200 Subject: [PATCH 1/3] Update Docs Regarding Deep Links --- docs/advanced.md | 2 +- docs/deep-links.md | 37 ++++++++++++++++++++++++++++++------- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/docs/advanced.md b/docs/advanced.md index e67395ca..3ed7c109 100644 --- a/docs/advanced.md +++ b/docs/advanced.md @@ -400,7 +400,7 @@ builder.defineStreamHandler(function(args) { return new Promise(function(resolve, reject) { if (args.type === 'movie' && args.id === 'tt1254207') { // serve one stream for big buck bunny - const stream = { externalUrl: 'stremio://board' } + const stream = { externalUrl: 'stremio:///board' } resolve({ streams: [stream] }) } else { reject(new Error('No streams found for: ' + args.id)) diff --git a/docs/deep-links.md b/docs/deep-links.md index c39b3c45..abf7c73f 100644 --- a/docs/deep-links.md +++ b/docs/deep-links.md @@ -4,6 +4,8 @@ Stremio supports two types of deep links through the `stremio://` protocol **NOTE:** GitHub does not allow links with a custom protocol, so just copy-paste the examples links in your browser's address bar and press Enter. +**Support for intents varies depending on platform.** + ## To addons Simply take a normal URL to a Stremio addon manifest, e.g. `https://watchhub-us.strem.io/manifest.json`, and replace the leading `https://` with `stremio://` @@ -13,20 +15,39 @@ E.g. [stremio://watchhub-us.strem.io/manifest.json](stremio://watchhub-us.strem. ## To a page + ### Board -[stremio://board](stremio://board) +[stremio:///board](stremio:///board) + ### Discover -[stremio://discover](stremio://discover) +[stremio:///discover](stremio:///discover) + +`stremio:///discover/{catalogAddonUrl}/{type}/{id}?genre={genre}` + +* `catalogAddonUrl` - URL to manifest of the addon (URI encoded) +* `type` the addon type, see [content types](./api/responses/content.types.md) +* `id` [catalog id](./api/responses/manifest.md#catalog-format) from the addon +* `genre` the filter genre, see [catalog extra properties](./api/responses/manifest.md#extra-properties) + -Discover does not support deeper linking for now. +## Library + +[stremio:///library](stremio:///library) + + +## Search + +`stremio:///search?search={query}` + +* `query` the search query (URI encoded) ### Detail -`stremio://detail/{type}/{id}/{videoId}` +`stremio:///detail/{type}/{id}/{videoId}?autoPlay={autoPlay}` * `type` corresponds to [content types](./api/responses/content.types.md) @@ -34,15 +55,17 @@ Discover does not support deeper linking for now. * `videoID` is the [video object ID](./api/responses/meta.md#video-object); leave this empty if you only wish to show the list of episodes/videos (not applicable for one-video types, such as `movie` and `tv`) +* `autoPlay` can be `true` or `false`, optional, attempt playing the video with `videoID`, success depends on if the user played that video or a video from that meta before (in which case a stream url for the video, or a stream [bingeGroup](./api/responses/stream.md#additional-properties-to-provide-information--behaviour-flags) may be already available), currently only supported in the Android TV app + In the Cinemeta addon, the `videoID` is the same as the `id` for movies, and for series it's formed as `{id}:{season}:episode` In the Channels addon, the `videoID` is formed as `{id}:{youtube video ID}` Examples: -[stremio://detail/movie/tt0066921/tt0066921](stremio://detail/movie/tt0066921/tt0066921) +[stremio:///detail/movie/tt0066921/tt0066921](stremio:///detail/movie/tt0066921/tt0066921) -[stremio://detail/series/tt0108778/tt0108778:1:1](stremio://detail/series/tt0108778:1:1) +[stremio:///detail/series/tt0108778/tt0108778:1:1](stremio:///detail/series/tt0108778:1:1) -[stremio://detail/channel/yt_id:UCrDkAvwZum-UTjHmzDI2iIw](stremio://detail/channel/yt_id:UCrDkAvwZum-UTjHmzDI2iIw) +[stremio:///detail/channel/yt_id:UCrDkAvwZum-UTjHmzDI2iIw](stremio:///detail/channel/yt_id:UCrDkAvwZum-UTjHmzDI2iIw) From 63f6e38baf9f884d4510c39bbe8514547106fba1 Mon Sep 17 00:00:00 2001 From: Alexandru Branza Date: Thu, 22 Dec 2022 16:28:39 +0200 Subject: [PATCH 2/3] Fix `publishToCentral` Test --- test/basic.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/basic.js b/test/basic.js index d14eb708..df3bca9d 100755 --- a/test/basic.js +++ b/test/basic.js @@ -207,7 +207,7 @@ tape('defining the same handler throws', function(t) { // publishToCentral publishes to the API tape('publishToCentral', function(t) { - publishToCentral('https://cinemeta.strem.io/manifest.json') + publishToCentral('https://v3-cinemeta.strem.io/manifest.json') .then(function(resp) { t.equal(resp.success, true, 'can announce') t.end() From cee6565e7a434a55e0533c2431bf9af8b5ea0d29 Mon Sep 17 00:00:00 2001 From: Alexandru Branza Date: Sat, 26 Aug 2023 13:37:47 +0300 Subject: [PATCH 3/3] Update to New Design --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 77d464ca..e4a1f5ee 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Stremio Addon SDK 🧙 -![Stremio](https://www.stremio.com/website/stremio-purple-small.png) +Stremio The **🧙 Stremio Addon SDK 🧙** was developed by the Stremio Team as a way of vastly simplifying Node.js addon creation for our streaming platform. @@ -159,4 +159,4 @@ This example uses Node.js and Express to get user specific data. (Update: the Ad _built with love and serious coding skills by the Stremio Team_ - +