For android client send sdk version to youtube

This commit is contained in:
Emilien Devos 2022-08-07 19:14:16 +02:00
parent b0be2237fa
commit 218f7be1a7

View File

@ -8,6 +8,7 @@ module YoutubeAPI
private DEFAULT_API_KEY = "AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8" private DEFAULT_API_KEY = "AIzaSyAO_FJ2SlqU8Q4STEHLGCilw_Y9_11qcW8"
private ANDROID_APP_VERSION = "17.29.35" private ANDROID_APP_VERSION = "17.29.35"
private ANDROID_SDK_VERSION = 30_i64
private IOS_APP_VERSION = "17.30.1" private IOS_APP_VERSION = "17.30.1"
# Enumerate used to select one of the clients supported by the API # Enumerate used to select one of the clients supported by the API
@ -58,9 +59,10 @@ module YoutubeAPI
# Android # Android
ClientType::Android => { ClientType::Android => {
name: "ANDROID", name: "ANDROID",
version: ANDROID_APP_VERSION, version: ANDROID_APP_VERSION,
api_key: "AIzaSyA8eiZmM1FaDVjRy-df2KTyQ_vz_yYM39w", api_key: "AIzaSyA8eiZmM1FaDVjRy-df2KTyQ_vz_yYM39w",
android_sdk_version: ANDROID_SDK_VERSION,
}, },
ClientType::AndroidEmbeddedPlayer => { ClientType::AndroidEmbeddedPlayer => {
name: "ANDROID_EMBEDDED_PLAYER", # 55 name: "ANDROID_EMBEDDED_PLAYER", # 55
@ -68,10 +70,11 @@ module YoutubeAPI
api_key: DEFAULT_API_KEY, api_key: DEFAULT_API_KEY,
}, },
ClientType::AndroidScreenEmbed => { ClientType::AndroidScreenEmbed => {
name: "ANDROID", # 3 name: "ANDROID", # 3
version: ANDROID_APP_VERSION, version: ANDROID_APP_VERSION,
api_key: DEFAULT_API_KEY, api_key: DEFAULT_API_KEY,
screen: "EMBED", screen: "EMBED",
android_sdk_version: ANDROID_SDK_VERSION,
}, },
# IOS # IOS
@ -172,6 +175,10 @@ module YoutubeAPI
HARDCODED_CLIENTS[@client_type][:screen]? || "" HARDCODED_CLIENTS[@client_type][:screen]? || ""
end end
def android_sdk_version : Int64?
HARDCODED_CLIENTS[@client_type][:android_sdk_version]?
end
# Convert to string, for logging purposes # Convert to string, for logging purposes
def to_s def to_s
return { return {
@ -201,7 +208,7 @@ module YoutubeAPI
"gl" => client_config.region || "US", # Can't be empty! "gl" => client_config.region || "US", # Can't be empty!
"clientName" => client_config.name, "clientName" => client_config.name,
"clientVersion" => client_config.version, "clientVersion" => client_config.version,
}, } of String => String | Int64,
} }
# Add some more context if it exists in the client definitions # Add some more context if it exists in the client definitions
@ -212,7 +219,11 @@ module YoutubeAPI
if client_config.screen == "EMBED" if client_config.screen == "EMBED"
client_context["thirdParty"] = { client_context["thirdParty"] = {
"embedUrl" => "https://www.youtube.com/embed/dQw4w9WgXcQ", "embedUrl" => "https://www.youtube.com/embed/dQw4w9WgXcQ",
} } of String => String | Int64
end
if android_sdk_version = client_config.android_sdk_version
client_context["client"]["androidSdkVersion"] = android_sdk_version
end end
return client_context return client_context