Dear @ampproject/ads team. We'd like to improve the ad loading experience in AMP and we need your help. Would you please implement the 'render-start' and 'no-content-available' APIs.
Once you've implemented the API, please update for your extension
https://github.com/ampproject/amphtml/blob/master/ads/_config.js
Below are the ones that have already added support.
CC @lannka
@jasti PR merged in: https://github.com/ampproject/amphtml/pull/5080, scheduled for upcoming release.
From the example I see, to start using renderStart
api, ad request has to emit an event to let amp-ad know that ad is successfully fetched. For e.g https://github.com/ampproject/amphtml/blob/216a628337fd472520bd839c312f82f1d839fde2/ads/google/doubleclick.js#L261
I believe not all ad network support this kind of event, instead of emit an event after fetching ad, we just insert the ad into DOM. To support this kind of event, I believe the integration with amp-ad will not be so easy like before.
We are happy to support this if this is neccessary and will provide a better experience for ad loading but if you have any advise I would like to listen
I have the same dilemma as yang-wei. My ad network adds the ad tag to the DOM, but does not trigger an event before it is rendered. I can call renderStart
right before I add it to the DOM, but it is not really rendering at that point (because it hasn't even called our ad server at that point). We do trigger an event after the ad is rendered, but it seems like that is too late.
Also, my ad units will always return an ad so we will never call no-content-available
.
@yang-wei @frazjp65 renderStart API is not mandatory. But it helps:
@frazjp65 How exactly do you define "after the ad is rendered"?
renderStart
should be called just after the ad was rendered (otherwise you cannot know the dimensions yet), but ideally before all its sub resources have finished downloading.
@cramforce
It is after the entire ad unit and all of the assets are loaded. I can add it then, but it would miss your ideal situation.
@frazjp65 Yep, that may be too late, especially because we have a timeout that is designed to be reasonable for an ad request, but not for more requests. Any chance you could add an event for "Ad request just came back and we can start rendering"?
@cramforce I think that is possible, but I am a bit backlogged and can't make any promises on when I will get that done.
@cramforce I have a branch in development to get revcontent updated with a
stripped down tag, and use of window.context.requestResize() to achieve
proper responsive height. Thank you.
On Sep 29, 2016 11:13 AM, "Joseph Frazer" [email protected] wrote:
@cramforce https://github.com/cramforce I think that is possible, but I
am a bit backlogged and can't make any promises on when I will get that
done.—
You are receiving this because you are on a team that was mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ampproject/amphtml/issues/5234#issuecomment-250495733,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABqVmcuxYMNhO_e3fCZUZWPd0HYw3Dddks5qu9V1gaJpZM4KG25j
.
Has anyone experimented with a MutationObserver to monitor when ad elements are added to the DOM (async requests etc.)? Aside from using a setTimeout, I've found that when inside a MutationObserver.observe() event, this provides better timing for detecting a valid/non-zero body height value which can then be passed to renderStart() or requestResize().
@jasti @cramforce Implemented render-start (and made a few other updates) in https://github.com/ampproject/amphtml/pull/6214
Hey @RonanDrouglazet, a cursory review shows that Teads serves quite a high number of ads to AMP content. Would you please look into supporting render-start? Thanks!
Hi @jasti,
Stéphane from Teads here :)
I just wanted to let you know we're working on it ;)
Thanks!
@jasti @lannka : just to let you know the PR for Teads supporting renderStart
is here => https://github.com/ampproject/amphtml/pull/6750
Have a good one!
@jasti @lannka
Hi guys,
here is the PR which contains the support for renderStart
and noContentAvailable
for adup-tech ads => https://github.com/ampproject/amphtml/pull/7152
@jasti @lannka
Our PR https://github.com/ampproject/amphtml/pull/7152 is merged and released, so you can activate the checkbox for adup-tech ads! :)
Thanks everyone for adding support. We are closing this issue since we have some decent adoption of the larger networks.