feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization

This commit is contained in:
Yun Chan 2026-09-14 00:39:44 +09:00
parent a88aafa1e5
commit 0e568f1f0a
975 changed files with 130593 additions and 16783 deletions

View file

@ -139,4 +139,75 @@ public class MobileCoreFeaturesGateTests
// 네트워크 단절로 멈췄던 항목이 자동으로 재개되어야 함
Assert.Equal(MobileQueueStatus.Downloading, item.Status);
}
[Fact]
public void Gate169_MobileDiscoveryEngine_ExpandedPlatforms_Audit()
{
// 모바일 8대 스피드 다이얼 및 주요 스트리밍 플랫폼 확장 감지 감사
var chzzk = MobileDiscoveryEngine.DetectPlatform("https://chzzk.naver.com/live/12345");
Assert.Equal("CHZZK", chzzk.PlatformName);
Assert.True(chzzk.IsSupported);
var soop = MobileDiscoveryEngine.DetectPlatform("https://m.sooplive.co.kr/play/abcdef");
Assert.Equal("SOOP", soop.PlatformName);
Assert.True(soop.IsSupported);
var afreeca = MobileDiscoveryEngine.DetectPlatform("https://play.afreecatv.com/streamer/999");
Assert.Equal("SOOP", afreeca.PlatformName);
Assert.True(afreeca.IsSupported);
var twitch = MobileDiscoveryEngine.DetectPlatform("https://m.twitch.tv/streamer");
Assert.Equal("Twitch", twitch.PlatformName);
Assert.True(twitch.IsSupported);
var instagram = MobileDiscoveryEngine.DetectPlatform("https://www.instagram.com/reel/C12345/");
Assert.Equal("Instagram", instagram.PlatformName);
Assert.True(instagram.IsSupported);
var tiktok = MobileDiscoveryEngine.DetectPlatform("https://www.tiktok.com/@user/video/1234567");
Assert.Equal("TikTok", tiktok.PlatformName);
Assert.True(tiktok.IsSupported);
var tiktokShort = MobileDiscoveryEngine.DetectPlatform("https://vt.tiktok.com/ZS12345/");
Assert.Equal("TikTok", tiktokShort.PlatformName);
Assert.True(tiktokShort.IsSupported);
var reddit = MobileDiscoveryEngine.DetectPlatform("https://www.reddit.com/r/funny/comments/xyz/clip/");
Assert.Equal("Reddit", reddit.PlatformName);
Assert.True(reddit.IsSupported);
var vreddit = MobileDiscoveryEngine.DetectPlatform("https://v.redd.it/abcdef123");
Assert.Equal("Reddit", vreddit.PlatformName);
Assert.True(vreddit.IsSupported);
var naverTv = MobileDiscoveryEngine.DetectPlatform("https://tv.naver.com/v/123456");
Assert.Equal("Naver TV", naverTv.PlatformName);
Assert.True(naverTv.IsSupported);
}
[Fact]
public void Gate170_MobileDiscoveryEngine_DirectMedia_QueryString_And_Extensions_Audit()
{
// 쿼리 스트링, 프래그먼트, 추가 확장자(.mkv 등) 포함 미디어 감지 감사
var mp4WithQuery = MobileDiscoveryEngine.DetectPlatform("https://cdn.example.com/stream.mp4?token=abc123&expire=9999");
Assert.Equal("Direct Media", mp4WithQuery.PlatformName);
Assert.True(mp4WithQuery.IsSupported);
var webmWithFragment = MobileDiscoveryEngine.DetectPlatform("https://cdn.example.com/clip.webm?key=val#t=10");
Assert.Equal("Direct Media", webmWithFragment.PlatformName);
Assert.True(webmWithFragment.IsSupported);
var mkvMedia = MobileDiscoveryEngine.DetectPlatform("https://cdn.example.com/movie.mkv");
Assert.Equal("Direct Media", mkvMedia.PlatformName);
Assert.True(mkvMedia.IsSupported);
var hlsWithAuth = MobileDiscoveryEngine.DetectPlatform("https://cdn.example.com/playlist.m3u8?auth=token123");
Assert.Equal("HLS Stream", hlsWithAuth.PlatformName);
Assert.True(hlsWithAuth.IsSupported);
var dashWithSession = MobileDiscoveryEngine.DetectPlatform("https://cdn.example.com/manifest.mpd?session=xyz");
Assert.Equal("DASH Stream", dashWithSession.PlatformName);
Assert.True(dashWithSession.IsSupported);
}
}