Feed ํƒ€์ž…

BuzzAd-Benefit SDK: Type B - Feed


๋ณธ ๊ฐ€์ด๋“œ๋Š” BuzzAd-Benefit SDK์˜ ํ”ผ๋“œ ํƒ€์ž… ๊ด‘๊ณ ๋ฅผ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃจ๋Š” ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค.

โ€ป ์ฃผ์˜์‚ฌํ•ญ

  1. Feed ํƒ€์ž…์„ ์—ฐ๋™ํ•˜๊ธฐ ์ „,ย ๊ณตํ†ต ๊ฐ€์ด๋“œ์˜ ์—ฐ๋™ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ์ ์šฉํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”.

  2. Feed ์˜ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ๋Š” ์ƒ๋‹จ ํˆด๋ฐ”, ๊ด‘๊ณ  ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ์˜์—ญ, ํ—ค๋”, ๋””์ž์ธ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ย 

(์ค‘์š”) Basic Usage ๋ฅผ ๋ชจ๋‘ ์ ์šฉํ•œ ๋’ค, ํ•˜๋‹จ์˜ Advanced Usage๋ฅผ ์ ์šฉํ•ดํ•ด์ฃผ์„ธ์š”.

ย 

Index

ย 

Basic Usage


FeedConfigย ๋ฐย FeedHandlerย ์„ค์ •

  1. Feed unit id๋กœย FeedConfig๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  2. FeedConfigย ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌย FeedHandler๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  3. startFeedActivity()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ Feed ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

ย 

final FeedConfig feedConfig = new FeedConfig.Builder("YOUR_FEED_UNIT_ID").build(); final FeedHandler feedHandler = new FeedHandler(feedConfig); feedHandler.startFeedActivity(this);

ย 

์˜คํผ์›”์„ Feed ์— ์—ฐ๋™ํ•˜๋Š” ๊ฒฝ์šฐ, FeedConfig ์„ค์ •์— autoLoadingEnabled ๊ฐ’์„ true ๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

final FeedConfig feedConfig = new FeedConfig.Builder(context, "YOUR_FEED_UNIT_ID") ... .autoLoadingEnabled(true) ... .build();

ย 

ย 

Recommended Usage


Feed์˜ ๊ด‘๊ณ  ํ˜„ํ™ฉ ํ™•์ธ

Basic Usage์ฒ˜๋Ÿผ ๋ฐ”๋กœ startFeedActivity๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒฝ์šฐ Feed ์•กํ‹ฐ๋น„ํ‹ฐ๊ฐ€ ์‹คํ–‰๋˜๋ฉด์„œ ๊ด‘๊ณ ๋ฅผ ๋กœ๋“œํ•˜๊ฒŒ ๋˜์–ด, ์œ ์ €์—๊ฒŒ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ๊ด‘๊ณ ๊ฐ€ ์—†์–ด ๋นˆ ํ™”๋ฉด์ด ๋ณด์ด๊ฒŒ ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์— Feed ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์—ย preload()๋ฅผ ํ˜ธ์ถœํ•œ ๋’คย onPreloaded()ย ์ฝœ๋ฐฑ์„ ํ˜ธ์ถœํ•˜์—ฌ ์ƒํƒœ๋ฅผ ํ™•์ธํ•œ ํ›„ ๊ด‘๊ณ ๊ฐ€ ์žˆ์„๋•Œ๋งŒ ํ”ผ๋“œ๋กœ ์ง„์ž…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.

  • feedHandler.getSize()ย : ๊ด‘๊ณ ์˜ ๊ฐœ์ˆ˜

  • feedHandler.getTotalReward()ย : ์ ๋ฆฝ ๊ฐ€๋Šฅํ•œ ์ด ํฌ์ธํŠธ ๊ธˆ์•ก

ย 

feedHandler.preload(new FeedHandler.FeedPreloadListener() { @Override public void onPreloaded() { int feedAdSize = feedHandler.getSize(); int feedTotalReward = feedHandler.getTotalReward(); } @Override public void onError(AdError error) { // ๊ด‘๊ณ ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. error๋ฅผ ํ†ตํ•ด ๋ฐœ์ƒํ•œ error์˜ ์›์ธ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค } });

ย 

์œ ์˜์‚ฌํ•ญ

  • ํ”„๋ฆฌ๋กœ๋“œํ•œย FeedHandler์™€ย ๋™์ผํ•œ ๊ฐ์ฒด์—์„œย startFeedActivity()๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    • ์ฃผ์˜์‚ฌํ•ญย : ํ•˜๋‚˜์˜ย FeedHandlerย ์ธ์Šคํ„ด์Šค์—์„œ ๊ด‘๊ณ ๋ฅผ load/preload ํ•œ ๊ฒฝ์šฐ, ๊ทธ ์ธ์Šคํ„ด์Šค๋Š” ๊ณ„์† ๊ฐ™์€ ๊ด‘๊ณ ๋ฅผ ๋“ค๊ณ  ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ activity์—์„œ ์œ ์ €๊ฐ€ ์ดํƒˆํ•˜๋”๋ผ๋„ ๋‹ค์‹œ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๋กœ startFeedActivity๋ฅผ ํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ™์€ ๊ด‘๊ณ  ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ํ”ผ๋“œ์— ์ง„์ž…ํ•  ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ ๊ด‘๊ณ ๊ฐ€ ๋กœ๋“œ๋˜๋Š” ๊ฒƒ์„ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์ƒˆ๋กœ์šดย FeedHandlerย ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์–ด์„œย startFeedActivity()๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • FeedHandler๋ฅผ ์ผํšŒ์„ฑ์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์—ฌ preload ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ, preload์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Memory Leak ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด feedHandler์— weakReference๋ฅผ ์ ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. FeedHandler์˜ ๋ณ€์ˆ˜ ์„ ์–ธ์„ ์ง€์—ญ๋ณ€์ˆ˜๊ฐ€ ์•„๋‹Œ Class ๋ณ€์ˆ˜๋กœ ํ•˜๋Š” ๋“ฑ ์ผํšŒ์ ์ด์ง€ ์•Š์€ ๋ฐฉ์‹์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ย 


Advanced Usage


๋””์ž์ธ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ

(์ค‘์š”) Feed Customization ์ฃผ์˜์‚ฌํ•ญ

  • FeedToolbarHolder, FeedAdsAdapter, FeedHeaderViewAdapter class์˜ custom class๋ฅผ ์ƒ์„ฑํ• ๋•Œ ๋‹ค์Œ ์กฐ๊ฑด์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

    1. ๊ฐ ํด๋ž˜์Šค๋Š” inner class ๊ฐ€ ์•„๋‹ˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    2. Inner class๋กœ ์ƒ์„ฑ์„ ํ•ด์•ผํ•  ๊ฒฝ์šฐ, public static class๋กœ ์„ ์–ธ์ด ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์œ„์˜ ์กฐ๊ฑด์— ๋งž์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, class๋ฅผ ์ฐพ์ง€๋ชปํ•˜๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜์—ฌ customization์ด ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ย 

ํˆด๋ฐ” Customization

Feed ์ƒ๋‹จ์˜ ํˆด๋ฐ”๋ฅผ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. FeedToolbarHolder๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” class ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.




  2. FeedConfigย ๋นŒ๋“œ ์‹œ์ ์— ํ•ด๋‹นย FeedToolbarHolderย class ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.


    ย 

ํˆด๋ฐ” Height ๋ณ€๊ฒฝ

Customize ๋œ toolbar๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” layout์˜ height๊ฐ’์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ณ ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Toolbar์˜ height ๊ฐ’์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

ย 

ย 

Feed์˜ ํ—ค๋” Customization

Feed ์ƒ๋‹จ์˜ ํ—ค๋” ์˜์—ญ์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜์—ฌ, ์œ ์ €์—๊ฒŒ ํ•ด๋‹น ํ”ผ๋“œ๊ฐ€ ์–ด๋–ค ๊ณต๊ฐ„์ธ์ง€ ์ƒ์„ธํžˆ ์•ˆ๋‚ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. FeedHeaderViewAdapterย ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” class ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.




  2. FeedConfig ๋นŒ๋“œ ์‹œ์ ์— ํ•ด๋‹น FeedHeaderViewAdapter class ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.


ย 

Feed ๊ด‘๊ณ  ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ์˜์—ญ Customization

Feed์˜ ๊ด‘๊ณ  ๋ฆฌ์ŠคํŠธ ์•„์ดํ…œ ๋ทฐ๋ฅผ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•˜๊ณ  ๊ด‘๊ณ  ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์ฝœ๋ฐฑ์„ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. AdsAdapterย ๋ฅผ ์ƒ์†๋ฐ›๋Š” class ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

    1. onCreateViewHolder,ย onBindViewHolderย ๋ฅผ ๊ตฌํ˜„ํ•ด Feed ๋ฆฌ์ŠคํŠธ์— ๋ณด์—ฌ์ค„ย itemViewย ์˜ ๋ ˆ์ด์•„์›ƒ ๋ฐ ๋ฐ”์ธ๋”ฉ ๋กœ์ง์„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•ํ•ฉ๋‹ˆ๋‹ค.

    2. CtaView์˜ getCtaTextView() ๋ฐ getRewardImageView() ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ CtaView์— ๋ณด์—ฌ์ง€๋Š” ํ…์ŠคํŠธ ๋ฐ ๋ฆฌ์›Œ๋“œ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ customization์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์ข€ ๋” ์œ ์—ฐํ•œ customization์„ ์œ„ํ•ด View๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์—๋Š” ์•„๋ž˜ CtaView Customization ์ฐธ์กฐ)

    3. (optional)ย onImpressed,ย onClicked,ย onRewardRequested,ย onRewarded,ย onParticipated๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œํ•˜์—ฌ ๊ด‘๊ณ ์˜ ์ž„ํ”„๋ ˆ์…˜, ํด๋ฆญ, ๋ฆฌ์›Œ๋“œ ์š”์ฒญ, ๋ฆฌ์›Œ๋“œ ์ง€๊ธ‰ ๊ฒฐ๊ณผ, ์ฐธ์—ฌ์™„๋ฃŒ์— ๋Œ€ํ•œ ์ด๋ฒคํŠธ ์ฝœ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (์ฝœ๋ฐฑ์˜ ์ •์˜ ๋ฐ ๋™์ž‘์€ย ๋ฌธ์„œ ์ฐธ์กฐ)




  2. FeedConfigย ๋นŒ๋“œ ์‹œ์ ์— ํ•ด๋‹นย AdsAdapterย class ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.


ย 

CtaView (๋ฒ„ํŠผ) Customization

CtaView๋ฅผ Default๋กœ ์ œ๊ณต๋˜๋Š” View๊ฐ€ ์•„๋‹Œ, ๋‹ค๋ฅธ ๋ชจ์–‘์˜ View๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์œผ์‹  ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •์„ ์ง„ํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ย 

ย 

โ€ป ์ฃผ์˜์‚ฌํ•ญ

์œ ์ €๊ฐ€ ์ ๋ฆฝ์„ ๋ฐ›์€์ง€ ์‹œ๊ฐ„์ด ์–ผ๋งˆ ์ง€๋‚˜์ง€ ์•Š์•„์„œ ๋ฆฌ์›Œ๋“œ๊ฐ€ ๋ถ€์—ฌ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋˜๋Š” ์›๋ž˜ ๊ด‘๊ณ  ์ž์ฒด๊ฐ€ ๋ฆฌ์›Œ๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ด‘๊ณ  ๋ ˆ์ด์•„์›ƒ์„ ๊ตฌ์„ฑํ•  ๋•Œ Ad Properties๋ฅผ Assign ํ•˜๋Š” ๊ณผ์ •์—์„œ rewardImage์™€ rewardText์— ๋Œ€ํ•ด์„œ reward > 0 ์ธ์ง€ ์ฒดํฌํ•ด์„œ ๋ฆฌ์›Œ๋“œ๋ฅผ ๋ณด์—ฌ์ค„์ง€ ๋ง์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋กœ์ง์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค (์•„๋ž˜์˜ ์ƒ˜ํ”Œ ์ฝ”๋“œ ์ฐธ์กฐ).

ย 

ย 

Image ํƒ€์ž…์˜ ๊ด‘๊ณ  ์„œํฌํŠธ

Feed์— ํ• ๋‹น๋˜๋Š” ๊ด‘๊ณ ์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ทน๋Œ€ํ™” ํ•˜๊ธฐ ์œ„ํ•ด, ๊ธฐ์กด์— ๋ฒ„์ฆˆ์Šคํฌ๋ฆฐ ์ž ๊ธˆํ™”๋ฉด์— ํ• ๋‹นํ•˜๋˜ Full Screen ๊ด‘๊ณ ๋ฅผ ์ด๋ฏธ์ง€์˜ ์ผ๋ถ€๋ฅผ Cropping ํ•œ ํ›„ ์‚ฌ์šฉ (์ดํ•˜ "Image ํƒ€์ž…์˜ ๊ด‘๊ณ ")ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์ž์„ธํ•œ ๊ตฌํ˜„ ์‚ฌํ•ญ์€ ์•„๋ž˜ ๊ทธ๋ฆผ ์ฐธ์กฐ)

  • DefaultAdsAdapter ๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ณ„๋„์˜ ์ถ”๊ฐ€ ์ž‘์—… ์—†์ด๋„ Image ํƒ€์ž… ๊ด‘๊ณ ๋ฅผ ์ œ๊ณต ๋ฐ›์œผ์‹ค ์ˆ˜ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ๋‚ด์šฉ์€ Customization์„ ์œ„ํ•ด AdsAdapterClass ๋ฅผ ๋ณ„๋„๋กœ ์„ค์ •ํ•˜์˜€์„ ๋•Œ์—๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.

  • Image ํƒ€์ž…์˜ ๊ด‘๊ณ ์˜ ๊ฒฝ์šฐ ๊ธฐ์กด ๊ด‘๊ณ ๋“ค๊ณผ ๋‹ค๋ฅด๊ฒŒ icon, title, description ์˜ ๋‚ด์šฉ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋”๋ถˆ์–ด ๊ด‘๊ณ  ์˜์—ญ ์ „์ฒด์˜ ์ƒํ•˜์˜ ๊ธธ์ด๊ฐ€ ๊น๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ ๋ ˆ์ด์•„์›ƒ์„ ์•Œ๋งž๊ฒŒ ๊ทธ๋ฆฌ๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ์ž‘์—…์„ ํ•œ ํ›„ ํ•ด๋‹น ๊ด‘๊ณ  ํƒ€์ž…์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก FeedConfig ์— ์ƒˆ๋กœ์šด ์„ค์ •์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. View์˜ Height ์กฐ์ •:ย Image ํƒ€์ž…์˜ ๊ด‘๊ณ ๋Š” ๊ธฐ์กด์˜ mediaView ๋ณด๋‹ค ์ƒํ•˜ ๊ธธ์ด๊ฐ€ ๊ธธ๊ธฐ ๋•Œ๋ฌธ์—, customization ํ•˜์‹œ๋Š” ๋ชจ๋“  view์˜ height๋ฅผย wrap_content๋กœ ์ ์šฉํ•˜๊ณ  ๊ธฐํƒ€ height๋ฅผ ๊ณ ์ •ํ•˜๋Š” ๋กœ์ง์„ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  2. View์˜ ๋ ˆ์ด์•„์›ƒ ์กฐ์ •: NativeAd ๋ฅผ ์ด์šฉํ•ด์„œ ๊ด‘๊ณ  ๋ทฐ๋ฅผ ๊ทธ๋ฆฌ๋Š” ๊ณผ์ •์—์„œ ํ˜„์žฌ ํƒ€์ž…์ด Image ์ธ์ง€ ํ™•์ธํ•˜์—ฌ title, description ์„ ์œ„ํ•œ layout ์„ ์—†์•ฑ๋‹ˆ๋‹ค.




  3. FeedConfig ์„ค์ •:ย FeedConfig ๋นŒ๋“œ ์‹œ์ ์— imageTypeEnabled ๋ฅผ true ๋กœ ์„ค์ •ํ•ด์„œ Image ํƒ€์ž… ๊ด‘๊ณ ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.


ย 

FeedFragment๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐฉ์‹

๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” FeedActivity๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ Feed๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์„๋•Œ, FeedFragment๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • FeedFragment ๊ธฐ๋ณธ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•




  • FeedFragment์—์„œ๋„ FeedActivity์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ FeedHandler๋ฅผ ์ƒ์„ฑํ•œ ํ›„ preload()๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  startFeedActivity()๋ฅผ ํ˜ธ์ถœํ•˜์ง€ ์•Š์œผ๋ฉด Preload์™€ ๊ด€๋ จํ•œ ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • FeedFragment์—์„œ๋„ FeedActivity์—์„œ ์ œ๊ณตํ•˜๋Š” Customization ์˜ต์…˜ ์ค‘ Toolbar๋ฅผ ์ œ์™ธํ•œ AdsAdapter์™€ Header, Image ํƒ€์ž… ๊ด‘๊ณ ์˜ ๊ฒฝ์šฐ feedConfig์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์„ ํ†ตํ•ด Customize๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ย