Hi Anas,
Thank you for contacting the IMA SDK support team.
The XML file you have provided contains five pre-roll ads, of which only one is currently playing and others are having empty responses due to the same URL. As I can assume the main reason for buffering 20 seconds is related to these empty responses.
It's the intended behavior of native players if any ads are having no response or error so the player itself retries 4-5 times for every ads in order to get the valid ads result. If no ad is found then it will shift to the next ad. For your case native player is resting for 4-5 seconds for each ad that’s why you are experiencing a 20 seconds buffer time in it.
To resolve this issue I recommend removing redundant urls from your VMAP or removing the invalid ads from the VMAP(seeing 5 pre roll ads with the same ad URL in which I am able to load ad others are going to buffer state).
You can use bumper VMAP as well, refer to this sample tag. Also you can use setNumRedirects this will Specify the maximum number of redirects before the subsequent redirects will be denied, and the ad load aborted. The number of redirects directly affects latency and thus user experience. This applies to all VAST wrapper ads and refers to this for ios Num redirect and for android setMaxRedirects.
Currently POST roll ads can be preloading by using contentDuration. And mid roll automatically prefetch 8 seconds.![]() |
IMA SDK Team |