Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Share AdTargeting between Islands #8095

Merged
merged 4 commits into from
Jul 3, 2023
Merged

Share AdTargeting between Islands #8095

merged 4 commits into from
Jul 3, 2023

Conversation

mxdvl
Copy link
Contributor

@mxdvl mxdvl commented Jun 29, 2023

What does this change?

This simplifies the logic of handling ad targetting across all Islands by setting it once via SWR like we did for AB Tests in #4200.

An optional override for media duration (videoLength) is provided.

Why?

Required to avoid having to drill the property deeply into Front Cards in #8075

Screenshots

image

@mxdvl mxdvl added Commercial 💰 Fronts 📰 Related to the migration of front pages to DCR 50% test labels Jun 29, 2023
@mxdvl mxdvl requested a review from a team June 29, 2023 14:10
@mxdvl mxdvl requested a review from a team as a code owner June 29, 2023 14:10
@mxdvl mxdvl changed the base branch from main to mxdvl/video-atom-in-card June 29, 2023 14:10
@github-actions
Copy link

github-actions bot commented Jun 29, 2023

Size Change: +615 B (0%)

Total Size: 589 kB

Filename Size Change
dotcom-rendering/dist/3398.modern.********************.js 20.4 kB +329 B (+2%)
dotcom-rendering/dist/YoutubeBlockComponent-importable.modern.********************.js 4.22 kB +173 B (+4%)
ℹ️ View Unchanged
Filename Size Change
dotcom-rendering/dist/1238.modern.********************.js 3.07 kB 0 B
dotcom-rendering/dist/1266.modern.********************.js 3.97 kB 0 B
dotcom-rendering/dist/1813.modern.********************.js 6.52 kB 0 B
dotcom-rendering/dist/2006.modern.********************.js 3.84 kB 0 B
dotcom-rendering/dist/2854.modern.********************.js 3.3 kB 0 B
dotcom-rendering/dist/3250.modern.********************.js 3.56 kB 0 B
dotcom-rendering/dist/3577.modern.********************.js 4.77 kB 0 B
dotcom-rendering/dist/3911.modern.********************.js 3.16 kB 0 B
dotcom-rendering/dist/3993.modern.********************.js 6.21 kB 0 B
dotcom-rendering/dist/4331.modern.********************.js 3.36 kB 0 B
dotcom-rendering/dist/5153.modern.********************.js 2.28 kB 0 B
dotcom-rendering/dist/516.modern.********************.js 17.5 kB 0 B
dotcom-rendering/dist/5162.modern.********************.js 2.5 kB 0 B
dotcom-rendering/dist/5182.modern.********************.js 3.9 kB 0 B
dotcom-rendering/dist/5237.modern.********************.js 2.44 kB 0 B
dotcom-rendering/dist/6297.modern.********************.js 21.3 kB 0 B
dotcom-rendering/dist/6633.modern.********************.js 3.22 kB 0 B
dotcom-rendering/dist/6814.modern.********************.js 5.56 kB 0 B
dotcom-rendering/dist/6939.modern.********************.js 5.36 kB 0 B
dotcom-rendering/dist/7392.modern.********************.js 2.49 kB 0 B
dotcom-rendering/dist/7844.modern.********************.js 4.98 kB 0 B
dotcom-rendering/dist/7872.modern.********************.js 1.89 kB 0 B
dotcom-rendering/dist/8012.modern.********************.js 4.66 kB 0 B
dotcom-rendering/dist/8326.modern.********************.js 2.61 kB 0 B
dotcom-rendering/dist/8452.modern.********************.js 4.28 kB 0 B
dotcom-rendering/dist/8780.modern.********************.js 3.16 kB 0 B
dotcom-rendering/dist/8888.modern.********************.js 2.75 kB 0 B
dotcom-rendering/dist/9463.modern.********************.js 635 B 0 B
dotcom-rendering/dist/9470.modern.********************.js 28.8 kB 0 B
dotcom-rendering/dist/9500.modern.********************.js 10.8 kB 0 B
dotcom-rendering/dist/9571.modern.********************.js 3.91 kB 0 B
dotcom-rendering/dist/9861.modern.********************.js 3.5 kB 0 B
dotcom-rendering/dist/9874.modern.********************.js 4.96 kB 0 B
dotcom-rendering/dist/AlreadyVisited-importable.modern.********************.js 410 B 0 B
dotcom-rendering/dist/AnimatePulsingDots-importable.modern.********************.js 389 B 0 B
dotcom-rendering/dist/atomIframe.modern.********************.js 516 B 0 B
dotcom-rendering/dist/AudioAtomWrapper-importable.modern.********************.js 463 B 0 B
dotcom-rendering/dist/AustralianTerritorySwitcher-importable.modern.********************.js 1.14 kB 0 B
dotcom-rendering/dist/Branding-importable.modern.********************.js 2.18 kB 0 B
dotcom-rendering/dist/braze-web-sdk-core.modern.********************.js 36.9 kB 0 B
dotcom-rendering/dist/BrazeMessaging-importable.modern.********************.js 5.5 kB 0 B
dotcom-rendering/dist/CalloutBlockComponent-importable.modern.********************.js 6.46 kB 0 B
dotcom-rendering/dist/CalloutEmbedBlockComponent-importable.modern.********************.js 6.59 kB 0 B
dotcom-rendering/dist/Carousel-importable.modern.********************.js 5.94 kB 0 B
dotcom-rendering/dist/CarouselForNewsletters-importable.modern.********************.js 7.88 kB 0 B
dotcom-rendering/dist/ChartAtomWrapper-importable.modern.********************.js 474 B 0 B
dotcom-rendering/dist/CommentCount-importable.modern.********************.js 2.77 kB 0 B
dotcom-rendering/dist/discussion.modern.********************.js 393 B 0 B
dotcom-rendering/dist/DiscussionContainer-importable.modern.********************.js 4.54 kB 0 B
dotcom-rendering/dist/DiscussionMeta-importable.modern.********************.js 3.73 kB 0 B
dotcom-rendering/dist/DocumentBlockComponent-importable.modern.********************.js 2.72 kB 0 B
dotcom-rendering/dist/EmbedBlockComponent-importable.modern.********************.js 3.25 kB 0 B
dotcom-rendering/dist/embedIframe.modern.********************.js 520 B 0 B
dotcom-rendering/dist/EnhancePinnedPost-importable.modern.********************.js 1.96 kB +23 B (+1%)
dotcom-rendering/dist/FetchCommentCounts-importable.modern.********************.js 2.97 kB 0 B
dotcom-rendering/dist/FetchOnwardsData-importable.modern.********************.js 1.96 kB 0 B
dotcom-rendering/dist/FilterKeyEventsToggle-importable.modern.********************.js 3.41 kB 0 B
dotcom-rendering/dist/FocusStyles-importable.modern.********************.js 511 B 0 B
dotcom-rendering/dist/frameworks.modern.********************.js 20.5 kB 0 B
dotcom-rendering/dist/GetCricketScoreboard-importable.modern.********************.js 3.36 kB 0 B
dotcom-rendering/dist/GetMatchNav-importable.modern.********************.js 11.4 kB 0 B
dotcom-rendering/dist/GetMatchStats-importable.modern.********************.js 6.32 kB 0 B
dotcom-rendering/dist/GetMatchTabs-importable.modern.********************.js 2.42 kB 0 B
dotcom-rendering/dist/guardian-braze-components-banner.modern.********************.js 13.3 kB 0 B
dotcom-rendering/dist/guardian-braze-components-end-of-article.modern.********************.js 10.3 kB 0 B
dotcom-rendering/dist/GuideAtomWrapper-importable.modern.********************.js 476 B 0 B
dotcom-rendering/dist/HeaderTopBar-importable.modern.********************.js 10.8 kB 0 B
dotcom-rendering/dist/index.modern.********************.js 33.6 kB +46 B (0%)
dotcom-rendering/dist/InstagramBlockComponent-importable.modern.********************.js 2.79 kB 0 B
dotcom-rendering/dist/InteractiveBlockComponent-importable.modern.********************.js 5.8 kB 0 B
dotcom-rendering/dist/InteractiveContentsBlockComponent-importable.modern.********************.js 4.09 kB 0 B
dotcom-rendering/dist/InteractiveSupportButton-importable.modern.********************.js 4.14 kB 0 B
dotcom-rendering/dist/KeyEventsCarousel-importable.modern.********************.js 2.21 kB 0 B
dotcom-rendering/dist/KnowledgeQuizAtomWrapper-importable.modern.********************.js 481 B 0 B
dotcom-rendering/dist/LatestLinks-importable.modern.********************.js 1.85 kB 0 B
dotcom-rendering/dist/LiveBlogEpic-importable.modern.********************.js 5.16 kB 0 B
dotcom-rendering/dist/Liveness-importable.modern.********************.js 5.53 kB 0 B
dotcom-rendering/dist/ManyNewsletterSignUp-importable.modern.********************.js 6.9 kB 0 B
dotcom-rendering/dist/MapEmbedBlockComponent-importable.modern.********************.js 5.32 kB 0 B
dotcom-rendering/dist/Metrics-importable.modern.********************.js 2.32 kB 0 B
dotcom-rendering/dist/MostViewedFooter-importable.modern.********************.js 5.35 kB 0 B
dotcom-rendering/dist/MostViewedFooterData-importable.modern.********************.js 7.55 kB 0 B
dotcom-rendering/dist/MostViewedRightWrapper-importable.modern.********************.js 3.79 kB 0 B
dotcom-rendering/dist/newsletterEmbedIframe.modern.********************.js 621 B 0 B
dotcom-rendering/dist/OnwardsUpper-importable.modern.********************.js 3.85 kB 0 B
dotcom-rendering/dist/PersonalityQuizAtomWrapper-importable.modern.********************.js 483 B 0 B
dotcom-rendering/dist/ProfileAtomWrapper-importable.modern.********************.js 478 B 0 B
dotcom-rendering/dist/QandaAtomWrapper-importable.modern.********************.js 475 B 0 B
dotcom-rendering/dist/ReaderRevenueDev-importable.modern.********************.js 461 B 0 B
dotcom-rendering/dist/readerRevenueDevUtils.modern.********************.js 3.03 kB 0 B
dotcom-rendering/dist/ReaderRevenueLinks-importable.modern.********************.js 5.82 kB 0 B
dotcom-rendering/dist/RecipeMultiplier-importable.modern.********************.js 3.24 kB 0 B
dotcom-rendering/dist/relativeTime.modern.********************.js 976 B 0 B
dotcom-rendering/dist/RichLinkComponent-importable.modern.********************.js 5.05 kB 0 B
dotcom-rendering/dist/SecureSignupIframe-importable.modern.********************.js 2.57 kB 0 B
dotcom-rendering/dist/SendAMessage-importable.modern.********************.js 4.37 kB 0 B
dotcom-rendering/dist/sentry.modern.********************.js 766 B 0 B
dotcom-rendering/dist/SetABTests-importable.modern.********************.js 3.75 kB 0 B
dotcom-rendering/dist/SetAdTargeting-importable.modern.********************.js 537 B 0 B
dotcom-rendering/dist/ShareCount-importable.modern.********************.js 2.91 kB 0 B
dotcom-rendering/dist/shimport.modern.********************.js 2.78 kB 0 B
dotcom-rendering/dist/ShowHideContainers-importable.modern.********************.js 719 B 0 B
dotcom-rendering/dist/ShowMore-importable.modern.********************.js 5.16 kB 0 B
dotcom-rendering/dist/SignInGateMain.modern.********************.js 2.96 kB +28 B (+1%)
dotcom-rendering/dist/SignInGateMainCheckoutComplete.modern.********************.js 3.86 kB 0 B
dotcom-rendering/dist/SignInGateSelector-importable.modern.********************.js 3.92 kB +16 B (0%)
dotcom-rendering/dist/SlotBodyEnd-importable.modern.********************.js 2.91 kB 0 B
dotcom-rendering/dist/Snow-importable.modern.********************.js 4.26 kB 0 B
dotcom-rendering/dist/SpotifyBlockComponent-importable.modern.********************.js 5.17 kB 0 B
dotcom-rendering/dist/StickyBottomBanner-importable.modern.********************.js 4 kB 0 B
dotcom-rendering/dist/SubNav-importable.modern.********************.js 2.34 kB 0 B
dotcom-rendering/dist/SupportTheG-importable.modern.********************.js 5.94 kB 0 B
dotcom-rendering/dist/TableOfContents-importable.modern.********************.js 3.08 kB 0 B
dotcom-rendering/dist/TimelineAtomWrapper-importable.modern.********************.js 476 B 0 B
dotcom-rendering/dist/TopRightAdSlot-importable.modern.********************.js 631 B 0 B
dotcom-rendering/dist/TweetBlockComponent-importable.modern.********************.js 1 kB 0 B
dotcom-rendering/dist/UnsafeEmbedBlockComponent-importable.modern.********************.js 2.8 kB 0 B
dotcom-rendering/dist/VideoFacebookBlockComponent-importable.modern.********************.js 5.33 kB 0 B
dotcom-rendering/dist/VineBlockComponent-importable.modern.********************.js 2.64 kB 0 B

compressed-size-action

@mxdvl mxdvl force-pushed the mxdvl/refactor-ad-targeting branch from 47c86d4 to e0b5520 Compare June 29, 2023 15:15
@mxdvl mxdvl force-pushed the mxdvl/video-atom-in-card branch 2 times, most recently from 26309b2 to cf02622 Compare June 29, 2023 16:23
@mxdvl mxdvl force-pushed the mxdvl/refactor-ad-targeting branch from e0b5520 to 5769830 Compare June 29, 2023 16:29
@@ -72,7 +72,6 @@ const Renderer = ({
format,

element,
adTargeting: undefined,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not entirely sure why this was undefined… we may need to review if this change has an impact after merging.

@mxdvl mxdvl changed the base branch from mxdvl/video-atom-in-card to main June 30, 2023 12:26
@mxdvl mxdvl force-pushed the mxdvl/refactor-ad-targeting branch from 5769830 to f2538d7 Compare June 30, 2023 12:26
@mxdvl mxdvl added run_chromatic Runs chromatic when label is applied and removed run_chromatic Runs chromatic when label is applied labels Jun 30, 2023
mxdvl added a commit to guardian/csnx that referenced this pull request Jun 30, 2023
## What are you changing?

- The `YoutubeAtomPlayer` can only be initialised once, and we require
the ad targeting to be present before initialisation.

## Why?

- Ad targetting is set asyncronously client-side in
guardian/dotcom-rendering#8095, so we need to
handle the value being `undefined` for the first render.
- The current interface wasn’t srict enough so thanks @arelra for
spotting this as the compiler would not have complained!
mxdvl added 4 commits June 30, 2023 15:52
this removes an `any` and creates an explicit
relationship between parsing and consumption
This ensures alignment for all code that checks
for server or client.

No longer checks against `document`, only `window`
this enables asynchronous ad targeting
This simplifies the logic of handling ad targetting
across all Islands by setting it once via SWR.
@mxdvl mxdvl force-pushed the mxdvl/refactor-ad-targeting branch from f2538d7 to d36891e Compare June 30, 2023 14:53
Copy link
Member

@arelra arelra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

Just to point out that atoms-rendering is bumped here to bring in: guardian/csnx#675

@mxdvl mxdvl added the run_chromatic Runs chromatic when label is applied label Jun 30, 2023
@mxdvl mxdvl merged commit f73e556 into main Jul 3, 2023
@mxdvl mxdvl deleted the mxdvl/refactor-ad-targeting branch July 3, 2023 08:31
arelra added a commit to guardian/csnx that referenced this pull request Jul 10, 2023
## What are you changing?

Pass valid ad targeting to `YoutubeAtom` stories so the player is able
to load.

## Background

Since guardian/dotcom-rendering#8095 ad
targeting will be set async on the client so it could be undefined
initially and then defined in subsequent render passes.

However the player requires ad targeting before it initialises and makes
the request to YouTube so we block the player until ad targeting is
defined as implemented in #675.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Commercial 💰 dotcom-rendering Fronts 📰 Related to the migration of front pages to DCR run_chromatic Runs chromatic when label is applied
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants