.NET 9์˜ Android Asset Packs ์†Œ๊ฐœ

.NET 9์˜ Android Asset Packs ๊ฐœ์š”

Asset Pack์ด๋ž€?

  • Asset Pack์€ Android App Bundles (AAB) ํฌ๋งท์˜ ์ผ๋ถ€๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ž์‚ฐ์„ ๋ณ„๋„์˜ ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” 200MB์˜ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€ ํฌ๊ธฐ๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ์ตœ๋Œ€ 2GB์˜ ํŒจํ‚ค์ง€๋ฅผ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Asset Pack์€ ์˜ค์ง ์ž์‚ฐ๋งŒ ํฌํ•จํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, .NET Android์—์„œ๋Š” AndroidAsset ๋นŒ๋“œ ์ž‘์—…์„ ๊ฐ€์ง„ ํ•ญ๋ชฉ๋“ค๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

Asset Pack์˜ ์ข…๋ฅ˜

  1. Install Time: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋™์‹œ์— ์„ค์น˜๋˜๋ฉฐ, ์ตœ๋Œ€ 1GB ํฌ๊ธฐ. ํ•˜๋‚˜๋งŒ ๊ฐ€๋Šฅ.
  2. Fast Follow: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜ ํ›„ ๊ณง๋ฐ”๋กœ ์„ค์น˜๋˜๋ฉฐ, ์ตœ๋Œ€ 512MB ํฌ๊ธฐ.
  3. On Demand: ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์š”์ฒญํ•  ๋•Œ๋งŒ ๋‹ค์šด๋กœ๋“œ๋จ.

Asset Pack ์‚ฌ์šฉ์˜ ์žฅ์ 

  • ๊ฒŒ์ž„์ด๋‚˜ ์ž์‚ฐ์ด ๋งŽ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์œ ์šฉํ•˜๋ฉฐ, ์ž์‚ฐ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ธฐ๋ณธ ํŒจํ‚ค์ง€์˜ ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ  ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ๊ธฐ๋Šฅ์„ ๋” ๋งŽ์ด ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Asset Pack ์ƒ์„ฑ ๋ฐฉ๋ฒ•

  • .NET 9์—์„œ๋Š” MSBuild Metadata๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Asset Pack์„ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • AndroidAsset ํ•ญ๋ชฉ์— AssetPack ๋ฐ DeliveryType ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ž์‚ฐ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ

<ItemGroup>
    <AndroidAsset Update="Assets/MyLargeAsset.mp4" AssetPack="myassets" />
</ItemGroup>
  • ์œ„ ์ฝ”๋“œ๋Š” MyLargeAsset.mp4๋ฅผ myassets๋ผ๋Š” Asset Pack์— ํฌํ•จ์‹œํ‚ต๋‹ˆ๋‹ค.

FastFollow ๋ฐ OnDemand Asset Pack ๊ด€๋ฆฌ

  • FastFollow Asset Pack์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋ ค๋ฉด Xamarin.Google.Android.Play.Asset.Delivery NuGet ํŒจํ‚ค์ง€๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , AssetPackManager๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • OnDemand Asset Pack์€ ์ˆ˜๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•˜๋ฉฐ, IAssetPackManager๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค.

๋””๋ฒ„๊น… ๋ฐ ํ…Œ์ŠคํŠธ

  • Asset Pack์„ ๋กœ์ปฌ์—์„œ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด aab ํฌ๋งท์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋ฉฐ, --local-testing ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋“  Asset Pack์ด ์บ์‹œ๋œ ์œ„์น˜์— ์„ค์น˜๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

.NET MAUI์—์„œ์˜ ์‚ฌ์šฉ

  • .NET MAUI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋„ Asset Pack ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, MauiAsset ๋นŒ๋“œ ์ž‘์—…์„ ํ†ตํ•ด ์ž์‚ฐ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

  • Asset Packs๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํฌ๊ธฐ๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ๋„ ๋ฏธ๋””์–ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ›Œ๋ฅญํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. .NET 9์—์„œ ์ œ๊ณตํ•˜๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ๋” ๋‚˜์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•ด ๋ณด์„ธ์š”.