icon change, and cinemeta removal fix
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 7 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 96 KiB After Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 28 KiB |
2
app.json
|
|
@ -10,7 +10,7 @@
|
|||
"scheme": "nuvio",
|
||||
"newArchEnabled": true,
|
||||
"splash": {
|
||||
"image": "./assets/splash-icon.png",
|
||||
"image": "./src/assets/splash-icon-new.png",
|
||||
"resizeMode": "contain",
|
||||
"backgroundColor": "#020404"
|
||||
},
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 8 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 85 KiB |
|
|
@ -1,4 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="ic_launcher_background">#d1d1d2</color>
|
||||
<color name="ic_launcher_background">#2f2f2f</color>
|
||||
</resources>
|
||||
|
Before Width: | Height: | Size: 675 B After Width: | Height: | Size: 785 B |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 5 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 280 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 280 KiB |
|
Before Width: | Height: | Size: 288 KiB After Width: | Height: | Size: 583 KiB |
|
|
@ -460,8 +460,8 @@
|
|||
"-lc++",
|
||||
);
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.nuviohub.app;
|
||||
PRODUCT_NAME = Nuvio;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.nuvio.app";
|
||||
PRODUCT_NAME = "Nuvio";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Nuvio/Nuvio-Bridging-Header.h";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 5.0;
|
||||
|
|
@ -492,8 +492,8 @@
|
|||
"-lc++",
|
||||
);
|
||||
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.nuvio.app;
|
||||
PRODUCT_NAME = Nuvio;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.nuvio.app";
|
||||
PRODUCT_NAME = "Nuvio";
|
||||
SWIFT_OBJC_BRIDGING_HEADER = "Nuvio/Nuvio-Bridging-Header.h";
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,2";
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@
|
|||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Debug"
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 237 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 263 KiB |
|
|
@ -1,101 +1,101 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||
<true/>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Nuvio</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.2.5</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>nuvio</string>
|
||||
<string>com.nuvio.app</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>exp+nuvio</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>20</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>12.0</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>LSSupportsOpeningDocumentsInPlace</key>
|
||||
<true/>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>NSBonjourServices</key>
|
||||
<array>
|
||||
<string>_http._tcp</string>
|
||||
</array>
|
||||
<key>NSLocalNetworkUsageDescription</key>
|
||||
<string>Allow $(PRODUCT_NAME) to access your local network</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>This app does not require microphone access.</string>
|
||||
<key>RCTNewArchEnabled</key>
|
||||
<true/>
|
||||
<key>RCTRootViewBackgroundColor</key>
|
||||
<integer>4278322180</integer>
|
||||
<key>UIBackgroundModes</key>
|
||||
<array>
|
||||
<string>audio</string>
|
||||
</array>
|
||||
<key>UIFileSharingEnabled</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>SplashScreen</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
<key>UIRequiresFullScreen</key>
|
||||
<false/>
|
||||
<key>UIStatusBarStyle</key>
|
||||
<string>UIStatusBarStyleDefault</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UIUserInterfaceStyle</key>
|
||||
<string>Dark</string>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
||||
<dict>
|
||||
<key>CADisableMinimumFrameDurationOnPhone</key>
|
||||
<true/>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Nuvio</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>$(PRODUCT_NAME)</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.2.5</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>nuvio</string>
|
||||
<string>com.nuvio.app</string>
|
||||
</array>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>exp+nuvio</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>20</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>12.0</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>LSSupportsOpeningDocumentsInPlace</key>
|
||||
<true/>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>NSBonjourServices</key>
|
||||
<array>
|
||||
<string>_http._tcp</string>
|
||||
</array>
|
||||
<key>NSLocalNetworkUsageDescription</key>
|
||||
<string>Allow $(PRODUCT_NAME) to access your local network</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>This app does not require microphone access.</string>
|
||||
<key>RCTNewArchEnabled</key>
|
||||
<true/>
|
||||
<key>RCTRootViewBackgroundColor</key>
|
||||
<integer>4278322180</integer>
|
||||
<key>UIBackgroundModes</key>
|
||||
<array>
|
||||
<string>audio</string>
|
||||
</array>
|
||||
<key>UIFileSharingEnabled</key>
|
||||
<true/>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>SplashScreen</string>
|
||||
<key>UIRequiredDeviceCapabilities</key>
|
||||
<array>
|
||||
<string>arm64</string>
|
||||
</array>
|
||||
<key>UIRequiresFullScreen</key>
|
||||
<false/>
|
||||
<key>UIStatusBarStyle</key>
|
||||
<string>UIStatusBarStyleDefault</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UIUserInterfaceStyle</key>
|
||||
<string>Dark</string>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
src/assets/splash-icon-new.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
|
|
@ -29,7 +29,7 @@ const SplashScreen = ({ onFinish }: SplashScreenProps) => {
|
|||
return (
|
||||
<Animated.View style={[styles.container, { opacity: fadeAnim }]}>
|
||||
<Image
|
||||
source={require('../../assets/splash-icon.png')}
|
||||
source={require('../assets/splash-icon-new.png')}
|
||||
style={styles.image}
|
||||
resizeMode="contain"
|
||||
/>
|
||||
|
|
|
|||
|
|
@ -127,9 +127,11 @@ const ContentItem = ({ item, onPress, shouldLoadImage: shouldLoadImageProp, defe
|
|||
|
||||
switch (settings.posterSize) {
|
||||
case 'small':
|
||||
return Math.max(100, Math.min(POSTER_WIDTH - 10, POSTER_WIDTH)) * sizeMultiplier;
|
||||
return Math.max(90, POSTER_WIDTH - 15) * sizeMultiplier;
|
||||
case 'medium':
|
||||
return Math.max(110, POSTER_WIDTH + 10) * sizeMultiplier;
|
||||
case 'large':
|
||||
return Math.min(POSTER_WIDTH + 20, POSTER_WIDTH + 30) * sizeMultiplier;
|
||||
return Math.max(130, POSTER_WIDTH + 25) * sizeMultiplier;
|
||||
default:
|
||||
return POSTER_WIDTH * sizeMultiplier;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -339,9 +339,11 @@ class StremioService {
|
|||
}
|
||||
}
|
||||
|
||||
// Ensure Cinemeta is always installed as a pre-installed addon
|
||||
// Install Cinemeta for new users, but allow existing users to uninstall it
|
||||
const cinemetaId = 'com.linvo.cinemeta';
|
||||
if (!this.installedAddons.has(cinemetaId)) {
|
||||
const hasUserRemovedCinemeta = await this.hasUserRemovedAddon(cinemetaId);
|
||||
|
||||
if (!this.installedAddons.has(cinemetaId) && !hasUserRemovedCinemeta) {
|
||||
try {
|
||||
const cinemetaManifest = await this.getManifest('https://v3-cinemeta.strem.io/manifest.json');
|
||||
this.installedAddons.set(cinemetaId, cinemetaManifest);
|
||||
|
|
@ -432,8 +434,9 @@ class StremioService {
|
|||
this.addonOrder = this.addonOrder.filter(id => this.installedAddons.has(id));
|
||||
}
|
||||
|
||||
// Ensure required pre-installed addons are present without forcing their position
|
||||
if (!this.addonOrder.includes(cinemetaId) && this.installedAddons.has(cinemetaId)) {
|
||||
// Add Cinemeta to order only if user hasn't removed it
|
||||
const hasUserRemovedCinemetaOrder = await this.hasUserRemovedAddon(cinemetaId);
|
||||
if (!this.addonOrder.includes(cinemetaId) && this.installedAddons.has(cinemetaId) && !hasUserRemovedCinemetaOrder) {
|
||||
this.addonOrder.push(cinemetaId);
|
||||
}
|
||||
|
||||
|
|
|
|||
514
trakt/docs.md
|
|
@ -1,514 +0,0 @@
|
|||
Scrobble / Start / Start watching in a media center POSThttps://api.trakt.tv/scrobble/startRequestStart watching a movie by sending a standard movie object.
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
Authorization:Bearer [access_token]
|
||||
trakt-api-version:2
|
||||
trakt-api-key:[client_id]
|
||||
BODY
|
||||
{
|
||||
"movie": {
|
||||
"title": "Guardians of the Galaxy",
|
||||
"year": 2014,
|
||||
"ids": {
|
||||
"trakt": 28,
|
||||
"slug": "guardians-of-the-galaxy-2014",
|
||||
"imdb": "tt2015381",
|
||||
"tmdb": 118340
|
||||
}
|
||||
},
|
||||
"progress": 1.25
|
||||
}
|
||||
Response
|
||||
201
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
BODY
|
||||
{
|
||||
"id": 0,
|
||||
"action": "start",
|
||||
"progress": 1.25,
|
||||
"sharing": {
|
||||
"twitter": true,
|
||||
"mastodon": true,
|
||||
"tumblr": false
|
||||
},
|
||||
"movie": {
|
||||
"title": "Guardians of the Galaxy",
|
||||
"year": 2014,
|
||||
"ids": {
|
||||
"trakt": 28,
|
||||
"slug": "guardians-of-the-galaxy-2014",
|
||||
"imdb": "tt2015381",
|
||||
"tmdb": 118340
|
||||
}
|
||||
}
|
||||
}
|
||||
RequestStart watching an episode by sending a standard episode object.
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
Authorization:Bearer [access_token]
|
||||
trakt-api-version:2
|
||||
trakt-api-key:[client_id]
|
||||
BODY
|
||||
{
|
||||
"episode": {
|
||||
"ids": {
|
||||
"trakt": 16
|
||||
}
|
||||
},
|
||||
"progress": 10
|
||||
}
|
||||
Response
|
||||
201
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
BODY
|
||||
{
|
||||
"id": 0,
|
||||
"action": "start",
|
||||
"progress": 10,
|
||||
"sharing": {
|
||||
"twitter": true,
|
||||
"mastodon": true,
|
||||
"tumblr": false
|
||||
},
|
||||
"episode": {
|
||||
"season": 1,
|
||||
"number": 1,
|
||||
"title": "Pilot",
|
||||
"ids": {
|
||||
"trakt": 16,
|
||||
"tvdb": 349232,
|
||||
"imdb": "tt0959621",
|
||||
"tmdb": 62085
|
||||
}
|
||||
},
|
||||
"show": {
|
||||
"title": "Breaking Bad",
|
||||
"year": 2008,
|
||||
"ids": {
|
||||
"trakt": 1,
|
||||
"slug": "breaking-bad",
|
||||
"tvdb": 81189,
|
||||
"imdb": "tt0903747",
|
||||
"tmdb": 1396
|
||||
}
|
||||
}
|
||||
}
|
||||
RequestStart watching an episode if you don't have episode ids, but have show info. Send show and episode objects.
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
Authorization:Bearer [access_token]
|
||||
trakt-api-version:2
|
||||
trakt-api-key:[client_id]
|
||||
BODY
|
||||
{
|
||||
"show": {
|
||||
"title": "Breaking Bad",
|
||||
"year": 2008,
|
||||
"ids": {
|
||||
"trakt": 1,
|
||||
"tvdb": 81189
|
||||
}
|
||||
},
|
||||
"episode": {
|
||||
"season": 1,
|
||||
"number": 1
|
||||
},
|
||||
"progress": 10
|
||||
}
|
||||
Response
|
||||
201
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
BODY
|
||||
{
|
||||
"id": 0,
|
||||
"action": "start",
|
||||
"progress": 10,
|
||||
"sharing": {
|
||||
"twitter": true,
|
||||
"mastodon": true,
|
||||
"tumblr": false
|
||||
},
|
||||
"episode": {
|
||||
"season": 1,
|
||||
"number": 1,
|
||||
"title": "Pilot",
|
||||
"ids": {
|
||||
"trakt": 16,
|
||||
"tvdb": 349232,
|
||||
"imdb": "tt0959621",
|
||||
"tmdb": 62085
|
||||
}
|
||||
},
|
||||
"show": {
|
||||
"title": "Breaking Bad",
|
||||
"year": 2008,
|
||||
"ids": {
|
||||
"trakt": 1,
|
||||
"slug": "breaking-bad",
|
||||
"tvdb": 81189,
|
||||
"imdb": "tt0903747",
|
||||
"tmdb": 1396
|
||||
}
|
||||
}
|
||||
}
|
||||
RequestStart watching an episode using absolute numbering (useful for Anime and Donghua). Send show and episode objects.
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
Authorization:Bearer [access_token]
|
||||
trakt-api-version:2
|
||||
trakt-api-key:[client_id]
|
||||
BODY
|
||||
{
|
||||
"show": {
|
||||
"title": "One Piece",
|
||||
"year": 1999,
|
||||
"ids": {
|
||||
"trakt": 37696
|
||||
}
|
||||
},
|
||||
"episode": {
|
||||
"number_abs": 164
|
||||
},
|
||||
"sharing": {
|
||||
"twitter": true,
|
||||
"mastodon": true,
|
||||
"tumblr": false
|
||||
},
|
||||
"progress": 10
|
||||
}
|
||||
Response
|
||||
201
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
BODY
|
||||
{
|
||||
"id": 0,
|
||||
"action": "start",
|
||||
"progress": 10,
|
||||
"sharing": {
|
||||
"twitter": true,
|
||||
"mastodon": true,
|
||||
"tumblr": false
|
||||
},
|
||||
"episode": {
|
||||
"season": 9,
|
||||
"number": 21,
|
||||
"title": "Light the Fire of Shandia! Wiper the Warrior",
|
||||
"ids": {
|
||||
"trakt": 856373,
|
||||
"tvdb": 362082,
|
||||
"imdb": null,
|
||||
"tmdb": null
|
||||
}
|
||||
},
|
||||
"show": {
|
||||
"title": "One Piece",
|
||||
"year": 1999,
|
||||
"ids": {
|
||||
"trakt": 37696,
|
||||
"slug": "one-piece",
|
||||
"tvdb": 81797,
|
||||
"imdb": "tt0388629",
|
||||
"tmdb": 37854
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Scrobble / Pause / Pause watching in a media center POSThttps://api.trakt.tv/scrobble/pauseRequest
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
Authorization:Bearer [access_token]
|
||||
trakt-api-version:2
|
||||
trakt-api-key:[client_id]
|
||||
BODY
|
||||
{
|
||||
"movie": {
|
||||
"title": "Guardians of the Galaxy",
|
||||
"year": 2014,
|
||||
"ids": {
|
||||
"trakt": 28,
|
||||
"slug": "guardians-of-the-galaxy-2014",
|
||||
"imdb": "tt2015381",
|
||||
"tmdb": 118340
|
||||
}
|
||||
},
|
||||
"progress": 75
|
||||
}
|
||||
Response
|
||||
201
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
BODY
|
||||
{
|
||||
"id": 1337,
|
||||
"action": "pause",
|
||||
"progress": 75,
|
||||
"sharing": {
|
||||
"twitter": false,
|
||||
"mastodon": false,
|
||||
"tumblr": false
|
||||
},
|
||||
"movie": {
|
||||
"title": "Guardians of the Galaxy",
|
||||
"year": 2014,
|
||||
"ids": {
|
||||
"trakt": 28,
|
||||
"slug": "guardians-of-the-galaxy-2014",
|
||||
"imdb": "tt2015381",
|
||||
"tmdb": 118340
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BODY
|
||||
{
|
||||
"id": 3373536622,
|
||||
"action": "scrobble",
|
||||
"progress": 99.9,
|
||||
"sharing": {
|
||||
"twitter": true,
|
||||
"mastodon": true,
|
||||
"tumblr": false
|
||||
},
|
||||
"movie": {
|
||||
"title": "Guardians of the Galaxy",
|
||||
"year": 2014,
|
||||
"ids": {
|
||||
"trakt": 28,
|
||||
"slug": "guardians-of-the-galaxy-2014",
|
||||
"imdb": "tt2015381",
|
||||
"tmdb": 118340
|
||||
}
|
||||
}
|
||||
}
|
||||
RequestScrobble an episode by sending a standard episode object.
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
Authorization:Bearer [access_token]
|
||||
trakt-api-version:2
|
||||
trakt-api-key:[client_id]
|
||||
BODY
|
||||
{
|
||||
"episode": {
|
||||
"ids": {
|
||||
"trakt": 16
|
||||
}
|
||||
},
|
||||
"progress": 85
|
||||
}
|
||||
Response
|
||||
201
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
BODY
|
||||
{
|
||||
"id": 3373536623,
|
||||
"action": "scrobble",
|
||||
"progress": 85,
|
||||
"sharing": {
|
||||
"twitter": true,
|
||||
"mastodon": true,
|
||||
"tumblr": false
|
||||
},
|
||||
"episode": {
|
||||
"season": 1,
|
||||
"number": 1,
|
||||
"title": "Pilot",
|
||||
"ids": {
|
||||
"trakt": 16,
|
||||
"tvdb": 349232,
|
||||
"imdb": "tt0959621",
|
||||
"tmdb": 62085
|
||||
}
|
||||
},
|
||||
"show": {
|
||||
"title": "Breaking Bad",
|
||||
"year": 2008,
|
||||
"ids": {
|
||||
"trakt": 1,
|
||||
"slug": "breaking-bad",
|
||||
"tvdb": 81189,
|
||||
"imdb": "tt0903747",
|
||||
"tmdb": 1396
|
||||
}
|
||||
}
|
||||
}
|
||||
RequestScrobble an episode if you don't have episode ids, but have show info. Send show and episode objects.
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
Authorization:Bearer [access_token]
|
||||
trakt-api-version:2
|
||||
trakt-api-key:[client_id]
|
||||
BODY
|
||||
{
|
||||
"show": {
|
||||
"title": "Breaking Bad",
|
||||
"year": 2008,
|
||||
"ids": {
|
||||
"trakt": 1,
|
||||
"tvdb": 81189
|
||||
}
|
||||
},
|
||||
"episode": {
|
||||
"season": 1,
|
||||
"number": 1
|
||||
},
|
||||
"progress": 85
|
||||
}
|
||||
Response
|
||||
201
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
BODY
|
||||
{
|
||||
"id": 3373536623,
|
||||
"action": "scrobble",
|
||||
"progress": 85,
|
||||
"sharing": {
|
||||
"twitter": true,
|
||||
"mastodon": true,
|
||||
"tumblr": false
|
||||
},
|
||||
"episode": {
|
||||
"season": 1,
|
||||
"number": 1,
|
||||
"title": "Pilot",
|
||||
"ids": {
|
||||
"trakt": 16,
|
||||
"tvdb": 349232,
|
||||
"imdb": "tt0959621",
|
||||
"tmdb": 62085
|
||||
}
|
||||
},
|
||||
"show": {
|
||||
"title": "Breaking Bad",
|
||||
"year": 2008,
|
||||
"ids": {
|
||||
"trakt": 1,
|
||||
"slug": "breaking-bad",
|
||||
"tvdb": 81189,
|
||||
"imdb": "tt0903747",
|
||||
"tmdb": 1396
|
||||
}
|
||||
}
|
||||
}
|
||||
RequestScrobble an episode using absolute numbering (useful for Anime and Donghua). Send show and episode objects.
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
Authorization:Bearer [access_token]
|
||||
trakt-api-version:2
|
||||
trakt-api-key:[client_id]
|
||||
BODY
|
||||
{
|
||||
"show": {
|
||||
"title": "One Piece",
|
||||
"year": 1999,
|
||||
"ids": {
|
||||
"trakt": 37696
|
||||
}
|
||||
},
|
||||
"episode": {
|
||||
"number_abs": 164
|
||||
},
|
||||
"sharing": {
|
||||
"twitter": true,
|
||||
"mastodon": true,
|
||||
"tumblr": false
|
||||
},
|
||||
"progress": 90
|
||||
}
|
||||
Response
|
||||
201
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
BODY
|
||||
{
|
||||
"id": 3373536624,
|
||||
"action": "scrobble",
|
||||
"progress": 90,
|
||||
"sharing": {
|
||||
"twitter": true,
|
||||
"mastodon": true,
|
||||
"tumblr": false
|
||||
},
|
||||
"episode": {
|
||||
"season": 9,
|
||||
"number": 21,
|
||||
"title": "Light the Fire of Shandia! Wiper the Warrior",
|
||||
"ids": {
|
||||
"trakt": 856373,
|
||||
"tvdb": 362082,
|
||||
"imdb": null,
|
||||
"tmdb": null
|
||||
}
|
||||
},
|
||||
"show": {
|
||||
"title": "One Piece",
|
||||
"year": 1999,
|
||||
"ids": {
|
||||
"trakt": 37696,
|
||||
"slug": "one-piece",
|
||||
"tvdb": 81797,
|
||||
"imdb": "tt0388629",
|
||||
"tmdb": 37854
|
||||
}
|
||||
}
|
||||
}
|
||||
RequestIf the progress is < 80%, the video will be treated a a pause and the playback position will be saved.
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
Authorization:Bearer [access_token]
|
||||
trakt-api-version:2
|
||||
trakt-api-key:[client_id]
|
||||
BODY
|
||||
{
|
||||
"movie": {
|
||||
"title": "Guardians of the Galaxy",
|
||||
"year": 2014,
|
||||
"ids": {
|
||||
"trakt": 28,
|
||||
"slug": "guardians-of-the-galaxy-2014",
|
||||
"imdb": "tt2015381",
|
||||
"tmdb": 118340
|
||||
}
|
||||
},
|
||||
"progress": 75
|
||||
}
|
||||
Response
|
||||
201
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
BODY
|
||||
{
|
||||
"id": 1337,
|
||||
"action": "pause",
|
||||
"progress": 75,
|
||||
"sharing": {
|
||||
"twitter": false,
|
||||
"mastodon": true,
|
||||
"tumblr": false
|
||||
},
|
||||
"movie": {
|
||||
"title": "Guardians of the Galaxy",
|
||||
"year": 2014,
|
||||
"ids": {
|
||||
"trakt": 28,
|
||||
"slug": "guardians-of-the-galaxy-2014",
|
||||
"imdb": "tt2015381",
|
||||
"tmdb": 118340
|
||||
}
|
||||
}
|
||||
}
|
||||
ResponseThe same item was recently scrobbled.
|
||||
409
|
||||
HEADERS
|
||||
Content-Type:application/json
|
||||
BODY
|
||||
{
|
||||
"watched_at": "2014-10-15T22:21:29.000Z",
|
||||
"expires_at": "2014-10-15T23:21:29.000Z"
|
||||
}
|
||||