Describe the bug
Even in case of Video Banner use-case (which is NOT an interstitial ads), we found the OpenRTB object /instl: 1 is sending from the Prebid Android SDK to a Prebid Server. I believe this flag should not sending in case of video banner use-case. Actually, many of bidders does not expect /instl: 1 if this impression is not an interstitial ads.
Can you clarify whether this Android SDK behavior is something expected or a bug?
To Reproduce
I can confirm this behavior with Prebid Demo app (e.g. GamOriginalApiVideoBannerActivity). This is relevant Logcat messages.
2024-06-03 13:28:59.660 32272-32483 PrebidBaseNetworkTask org.prebid.mobile.prebidkotlindemo D url: https://prebid-server-test-j.prebid.org/openrtb2/auction
2024-06-03 13:28:59.661 32272-32483 PrebidBaseNetworkTask org.prebid.mobile.prebidkotlindemo D queryParams: {"imp":[{"id":"ffc2104e-5367-431a-ac7d-24e5e6680f80","instl":1,"clickbrowser":0,"video":{"mimes":["video\/x-flv","video\/mp4"],"minduration":5,"maxduration":30,"protocols":[2],"minbitrate":300,"maxbitrate":1500,"playbackmethod":[1],"delivery":[3],"api":[1,2]},"ext":{"prebid":{"storedrequest":{"id":"prebid-demo-video-outstream-original-api"}}}}],"id":"ffc2104e-5367-431a-ac7d-24e5e6680f80","app":{"name":"Prebid Kotlin Demo","bundle":"org.prebid.mobile.prebidkotlindemo","ver":"1.0.0","publisher":{"id":"0689a263-318d-448b-a3d4-b02e8a709d9d"},"ext":{"prebid":{"source":"prebid-mobile","version":"2.2.0"}}},"device":{"ua":"Mozilla\/5.0 (Linux; Android 14; sdk_gphone64_arm64 Build\/UE1A.230829.036.A1; wv) AppleWebKit\/537.36 (KHTML, like Gecko) Version\/4.0 Chrome\/113.0.5672.136 Mobile Safari\/537.36","lmt":0,"devicetype":4,"make":"Google","model":"sdk_gphone64_arm64","os":"Android","osv":"14","language":"en","carrier":"T-Mobile","mccmnc":"310-260","ifa":"1336c7ac-2b2e-490c-9cae-10ca1ad1abe1","h":2220,"w":1080,"connectiontype":2,"pxratio":2.75},"regs":{"ext":{"gdpr":1}},"user":{},"source":{"tid":"ffc2104e-5367-431a-ac7d-24e5e6680f80"},"ext":{"prebid":{"storedrequest":{"id":"0689a263-318d-448b-a3d4-b02e8a709d9d"},"cache":{"bids":{},"vastxml":{}},"targeting":{}}}}
Expected behavior/instl: 1 flag is not sending for Non Interstitial ads
Additional context
We believe this is relevant code codes how the Prebid SDK add /instl: 1.
During the investigation, we discovered that some constructors for Interstitial and Rewarded ad units do not have AdFormat.INTERSTITIAL. So even after applying the fix, they still have instl 0.
Describe the bug Even in case of Video Banner use-case (which is NOT an interstitial ads), we found the OpenRTB object
/instl: 1
is sending from the Prebid Android SDK to a Prebid Server. I believe this flag should not sending in case of video banner use-case. Actually, many of bidders does not expect/instl: 1
if this impression is not an interstitial ads.Can you clarify whether this Android SDK behavior is something expected or a bug?
To Reproduce I can confirm this behavior with Prebid Demo app (e.g.
GamOriginalApiVideoBannerActivity
). This is relevant Logcat messages.Expected behavior
/instl: 1
flag is not sending for Non Interstitial adsAdditional context We believe this is relevant code codes how the Prebid SDK add
/instl: 1
.https://github.com/prebid/prebid-mobile-android/blob/6f1da30a84a5432ae785762d2d3fb6b4044df631/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/rendering/networking/parameters/BasicParameterBuilder.java#L372-L374
https://github.com/prebid/prebid-mobile-android/blob/6f1da30a84a5432ae785762d2d3fb6b4044df631/PrebidMobile/PrebidMobile-core/src/main/java/org/prebid/mobile/api/data/AdFormat.java#L30-L31
A similar condition in the iOS code checks only for the interstitial ad format, and not VAST. As a result, this issue doesn't happen on iOS.