SIMID:Creative:requestResize Not working as Expected

345 views
Skip to first unread message

Haruhiko Nishi

unread,
May 31, 2024, 1:14:16 AMMay 31
to Interactive Media Ads SDK
Hi, I am having some trouble with the `requestResize` command from the SIMID creative. When the creative send the `requestResize` command with the required arguments, I get a reject message with an empty JS object, and the player sends SIMID:Player:log 'pp'

I wonder if `SIMID:Creative:requestResize` is supported at all.  To provide more context, I've attached a screenshot that shows the sequence of SIMID communication. It might help in diagnosing the issue.

Has anyone else experienced this issue or have any suggestions on what might be going wrong? May be there's something specific in my setup, if it is not a known issue.

Any insights would be greatly appreciated!

Thank you in advance,

Haruhiko Nishi

スクリーンショット 2024-05-31 10.27.22.png

IMA SDK

unread,
May 31, 2024, 2:54:27 AMMay 31
Hi Haruhiko,

Thanks for contacting us.

I've checked Sample SIMID ad tag. And it's working as expected in IMA VSI.
Could you provide your SIMID VAST to us for further investigation and how you are resizing it?
 
This message is in relation to case "ref:!00D1U01174p.!5004Q02tJ9Ja:ref" (ADR-00237292)

Thanks,
 
Google Logo IMA SDK Team




 

Haruhiko Nishi

unread,
May 31, 2024, 3:43:21 AMMay 31
to Interactive Media Ads SDK
Hi,
Sure thing. Although it is no so much different from the example code found at https://github.com/InteractiveAdvertisingBureau/SIMID/blob/master/examples/creatives/banner_nonlinear.js#L123-L134 how I am sending the message.
I had to tweak a little so it communicates with SIMID 1.0.

I don't think Sample SIMID ad tag. is retuning a creative that actually sends the SIMID:Creative:requestResize, though.


onInit(eventData) {
 console.log(JSON.stringify(eventData))
 this.updateInternalOnInit(eventData);
 this.dynamicResize_();
 this.simidProtocol.resolve(eventData, {});
 this.updateCreativeWithParams_();
}

dynamicResize_() {
// This ad requests that the player resize it and move it, so that it is centered within the player.
 let videoDimensions = {};
 videoDimensions.x = 100;
 videoDimensions.y = 100;
 videoDimensions.width = Math.floor(this.environmentData.videoDimensions.width);
 videoDimensions.height = Math.floor(this.environmentData.videoDimensions.height);

l et creativeDimensions = {};
 creativeDimensions.x = Math.floor(this.environmentData.videoDimensions.width * X_OFFSET_PERCENTAGE);
 creativeDimensions.y = Math.floor(this.environmentData.videoDimensions.height * Y_OFFSET_PERCENTAGE);
 creativeDimensions.width = Math.floor(this.environmentData.videoDimensions.width * WIDTH_PERCENTAGE);
 creativeDimensions.height = Math.floor(this.environmentData.videoDimensions.height * HEIGHT_PERCENTAGE);

 const params = {
 videoDimensions: videoDimensions,
 creativeDimensions: creativeDimensions,
 fullscreen: this.environmentData.fullscreen 
 };
 this.requestResize(params);
}

/**
* Sends message requesting to resize creative based off of given resizeParameters
* @param {!Object} resizeParams An object with the video & creative dimensions.
*/
requestResize(resizeParams) {
 this.simidProtocol.sendMessage(CreativeMessage.REQUEST_RESIZE, resizeParams).then( () => {
 this.environmentData.creativeDimensions = resizeParams.creativeDimensions;
 this.environmentData.videoDimensions = resizeParams.videoDimensions;
})
}

IMA SDK

unread,
May 31, 2024, 10:40:23 AMMay 31

Hi Haruhiko,

Thank you for explaining the issue in detail.

I will check with our team regarding your query and one of my team members will reach out to you once we have an update. Meanwhile, your patience is appreciated.

IMA SDK

unread,
May 31, 2024, 11:08:22 AMMay 31

Hi Haruhiko,

The creative requests ad resize by posting a SIMID:Creative:requestResize message.

The player must not resize the ad unless it can change the dimensions of both media element and SIMID iframe to the values specified by the Creative:requestResize message.

Note: the message requestResize must not be used to change screen mode. See the § 4.4.10 SIMID:Creative:requestFullscreen and § 4.4.11 SIMID:Creative:requestExitFullscreen messages.

dictionary MessageArgs
{
  required Dimensions mediaDimensions;
  required Dimensions creativeDimensions;
};
dictionary Dimensions
{
  required long x;
  required long y;
  required long width;
  required long height;
};

mediaDimensions
Media element size and coordinates.

creativeDimensions
SIMID iframe size and coordinates.

4.4.15.1. resolve
The player replies to requestResize with a resolve if it has resized the ad and set the dimensions to the values specified by the requestResize message.

4.4.15.2. reject
The player responds to requestResize with reject when it ignores the message or is unable to complete the resizing.

Haruhiko Nishi

unread,
Jun 4, 2024, 2:34:54 AMJun 4
to Interactive Media Ads SDK
Hi,

Thank you for the detailed information.

I actually have thoroughly reviewed the SIMID specification before reaching out with my initial question. While I understand the conditions under which the `requestResize` command should be resolved or rejected, the specification does not clarify why the player cannot handle the request in the particular case. If the player side is rejecting the request, I would like to understand what specifically is causing the rejection. Knowing the exact reason behind the rejection is crucial to diagnosing and resolving the issue. Otherwise, it appears as though the feature is not supported at all, which then could contradict the specification.

Additionally, the code I am using is based on the IAB's example. It is concerning if IMA-SDK cannot handle this, as it suggests a potential issue with the implementation of a standardized example.

I already know the player will only return an empty JSON object if it cannot handle the `requestResize` and your previous responses have not addressed the core issue or provided actionable steps to resolve it. This lack of clarity is frustrating and seems somewhat irresponsible,  considering the importance of standardized implementations in ensuring smooth operations. If there is any particular step requirements or conditions that need to be met for the `requestResize` command to work, that information would be very helpful.

Thank you for your assistance and understanding.

Haruhiko Nishi

Haruhiko Nishi

unread,
Oct 24, 2024, 4:38:58 PMOct 24
to Interactive Media Ads SDK
There's a platform inconsistency we encountered while working with the SIMID protocol, specifically with requestResize. It works with iOS, however it does not behave as intended with an android device. The resize request is either ignored or fails to apply the new dimensions to the video element. Does requestResize work on an android device? 

IMA SDK

unread,
Oct 27, 2024, 10:36:09 PMOct 27
Hi Haruhiko,

Can you please provide a full SIMID script that demonstrates this issue? I know you have provided snippets and referenced sample SIMID creatives earlier in this thread, but it would be very helpful to have a complete script to use as a common reference point when debugging and testing. That way, we can ensure that we are experiencing the same issues as you, and that any resolution implemented also works with your use case.

Thanks,

Greg Schoppe
IMA SDK Team

 
This message is in relation to case "ref:!00D1U01174p.!5004Q02tJ9Ja:ref" (ADR-00237292)

Thanks,
 
Google Logo
Greg Schoppe
IMA SDK Team


Haruhiko Nishi

unread,
Oct 28, 2024, 6:01:57 PMOct 28
to IMA SDK, [email protected]
Hi Greg,

Thank you for your message.
While I can't provide the full script we use for production, I've created a SIMD widget that closely mimics the behavior of how we are trying to use the requestResize. You can try it with VSI and iOS VSI App to confirm the video resize behavior on them, but not on an android device.

Here's the url

https://googleads.github.io/googleads-ima-html5/vsi/?tag=https%253A%252F%252Fsimid-sample.s3.ap-northeast-1.amazonaws.com%252Fima-sdk-simid-control%252Fvast.xml

If there are any specific steps or edge cases you'd like me to elaborate on, I'd be happy to assist further. 

Thanks,

Haruhiko

IMA SDK

unread,
Oct 30, 2024, 10:47:25 AMOct 30
Hi Haruhiko,

Thank you for the SIMID tag. I've forwarded the issue to our engineering team to receive clarification on the resize issue. I'll reach back out as soon as they provide an update.

Haruhiko Nishi

unread,
Nov 5, 2024, 4:22:14 AMNov 5
to IMA SDK, [email protected]
Hi Greg,

I wanted to check in on any updates from your engineering team regarding the video resize issue on Android devices.
As mentioned, our widget allows for testing with VSI and the iOS VSI App, showing the resize behavior accurately there but not on Android. If there's any progress or further insights on addressing the differences across platforms, we'd be very interested to hear about it. 

Thanks again for your help.

Haruhiko

IMA SDK

unread,
Nov 6, 2024, 10:19:57 AMNov 6

Hi Haruhiko,

I'm sorry to say that I do not yet have an update from our engineers on this issue, but I have reached out to request an update for you. I will reach out as soon as I hear back.

Thanks,
 

Haruhiko Nishi

unread,
Nov 20, 2024, 12:56:39 AM (9 days ago) Nov 20
to IMA SDK, [email protected]
Hi Greg,

Hope you're doing well! 

Just wanted to check in on your email from 2 weeks ago about the video resize issue on Android. Have there been any updates from the engineering team?

We're mainly hoping to confirm if resizing of the video is fully supported on Android devices. Any insights would be a huge help as we move forward on our end.

Thanks again for your help--really looking forward to hearing some good news soon! 

Best, 

Haruhiko

IMA SDK

unread,
Nov 20, 2024, 2:49:54 AM (9 days ago) Nov 20
Hi Haruhiko,

I'm happy to say I finally have an answer from our Engineering team.

Our IMA SDK for Android relies on a implementation of the VideoAdPlayer interface to communicate between the SDK and your video player. To support the SIMID resize command, the same class that implements the VideoAdPlayer interface must also implement the ResizeablePlayer interface.

The VideoAdPlayer implementation used by our sample apps is meant for basic demonstration purposes, and and doesn't implement the ResizeablePlayer interface. As a result, our Android sample projects do not support the SIMID resize command. However, by implementing the ResizeablePlayer interface in your app, you should be able to support SIMID resize commands without any issue.


Thanks,

Greg Schoppe
IMA SDK Team

 
This message is in relation to case "ref:!00D1U01174p.!5004Q02tJ9Ja:ref" (ADR-00237292)

Thanks,
 
Google Logo
Greg Schoppe
IMA SDK Team


Feedback
How was our support today?

rating1    rating2    rating3    rating4    rating5
 

 



Haruhiko Nishi

unread,
Nov 20, 2024, 4:37:58 PM (9 days ago) Nov 20
to IMA SDK, [email protected]
Hi Greg, 

Thank you so much for getting back to me with the details! I really appreciate you following up on this!

It's great to finally have clarity on the issue. Your explanation is very helpful, and I'm optimistic this will address the resize command functionality for Android devices.

Thanks again for your time and support on this.

Best,

Haruhiko
Reply all
Reply to author
Forward
0 new messages