prebid / prebid-mobile-ios

Prebid Mobile SDK for iOS applications
Apache License 2.0
46 stars 85 forks source link

incorrect device.ua and prebid-mobile version set in the bid requests #932

Closed GhadaSalah closed 9 months ago

GhadaSalah commented 9 months ago

Hi team,

Describe the bug

we're investigating an issue with my client where the user-agent as well as the prebid-mobile version are not correctly passed down for an iOS interstitial appnexus placement as you can see in this BR:

{ "app": { "bundle": "fr.leboncoin.Leboncoin", "ext": { "prebid": { "source": "prebid-mobile", "version": "6.86.0" } }, "name": "Leboncoin", "publisher": { "id": "3296" }, "ver": "6.86.0" }, "device": { "connectiontype": 3, "ext": { "atts": 3, "prebid": { "interstitial": { "minheightperc": 1, "minwidthperc": 1 } } }, "h": 844, "ifa": "D95D9659-4418-4028-9B7E-CE7FF2AAE18B", "language": "fr", "lmt": 0, "make": "Apple", "model": "iPhone", "os": "iOS", "osv": "16.6.1", "pxratio": 3, "ua": " PrebidMobile/6.86.0", "w": 390 }, "ext": { "prebid": { "cache": { "bids": {}, "vastxml": {} }, "storedrequest": { "id": "3296" }, "targeting": {} } }, "id": "93D86E5B-1AA3-4F49-9AD0-53CDE2AEF94E", "imp": [ { "banner": { "format": [ { "h": 844, "w": 390 } ], "pos": 7 }, "clickbrowser": 1, "ext": { "prebid": { "storedrequest": { "id": "30722599" } } }, "id": "17630D40-D86C-4B20-A4E7-9BE6FA1D3B33", "instl": 1, "secure": 1 } ], "regs": { "ext": { "gdpr": 1 } }, "source": { "tid": "952D012B-8B94-4DEA-97FF-C4E996B6EC6E" }, "user": { "ext": { "consent": "CPsyRkAPsyRkAAHABAFRDGCsAPLAAHLAAAAAIzNB_G_dTyPi-f59YvtwYQ1P4VQnoyACjgaNgwwJiVLBMI0EhmAIKAHqAAACIBAkICJAAQBlCAHAAAAA4IEAASMMAAAAIRAIIgCAAEAAAmJICABZCxAAAQAQgkwAABUAgAICABsgSDAAAAAAFAAAAAgAAAAAAAAAAAAAQAAAAAAAAgAAAAAAAAAAEAAEABBAEAEw1biABsSxwJpAwiBAAjCAIAoAQAUUAQsEABASoABBGAAowAAAABQAAAAAAABATAAAAAIAEIAAAAHBAIAAABAAAABAIBAAAAAAgAAAQAAAABADAAAAAAIACAAACAEAAAQAIACQIAAgAAAIAAAAAAAAAIBAAAAAAAAAAAAAAAAEAMUABgACCXYwADAAEEuyAAGAAIJdgA" } } }

Expected behavior The expected behaviour would be:

Screenshots As you can see in the screenshot, the user-agent is set directly by the SDK:

image

device.ua screenshot:

image

Prebid mobile version = mobile app version:

image

Smartphone (please complete the following information): Prebid mobile iOS

Let me know if you need more information regarding this issue. Thanks Ghada.

GhadaSalah commented 9 months ago

Hi team, we've tested the new iOS version, the prebid-mobile version is correct, and the device.ua firld no longer includes the app version. However, we still experience an issue, in the first prebid bid request, the user agent is always empty. It seems as though, Prebid sdk is not able to detect the user agent in the first request.

I can create another issue if needed!

Here is the request: { "app": { "bundle": "484115113", "domain": "leboncoin.fr", "ext": { "prebid": { "source": "prebid-mobile", "version": "2.1.6" } }, "name": "Leboncoin", "publisher": { "id": "3296" }, "storeurl": "https:\/\/apps.apple.com\/fr\/app\/leboncoin\/id484115113", "ver": "6.89.0" }, "device": { "connectiontype": 2, "ext": { "atts": 3, "prebid": { "interstitial": { "minheightperc": 1, "minwidthperc": 1 } } }, "h": 844, "ifa": "3F6929E8-CF38-4F99-A17A-72A2902740C7", "language": "fr", "lmt": 0, "make": "Apple", "model": "iPhone", "os": "iOS", "osv": "17.0.3", "pxratio": 3, "ua": "", "w": 390 }, "ext": { "prebid": { "cache": { "bids": {}, "vastxml": {} }, "storedrequest": { "id": "3296" }, "targeting": {} } }, "id": "368AAD93-FB1F-4A75-B137-48926F5F2EBE", "imp": [{ "banner": { "format": [{ "h": 844, "w": 390 }], "pos": 7 }, "clickbrowser": 1, "ext": { "prebid": { "storedrequest": { "id": "30312907" } } }, "id": "A1252508-3C58-4829-A142-5CB17840E609", "instl": 1, "secure": 1 }], "regs": { "ext": { "gdpr": 1 } }, "source": { "tid": "3280A47A-8EE8-4D22-BA07-13746839F0B7" }, "user": { "ext": { "consent": "CPyc0sAPyc0sAAHABAFRDXCsAPLAAHLAAAAAJoNB_G_dTyPi-f59YvtwYQ1P4VQnoyACjgaNAwwJiVLBMI0EhmAIKAHqAAACIBAkICZAAQBlCAHAAAAA4IEAASMMAAAAIRAIIgCAAEAAAmJICABZC5AAAQAQgkwAABUAgAICABsgSDAAAAAAFAAAAAgAAAAAAAAAAAAAQAAAAAAAAgAAAAAAAAAAEAAEABAAAAAAAAAAAAAAAAAEEAQATDQuIAGwJGQmkDCIAACMIAgCgBABRAJCwQAEBKgAEEYACjAAAABFAAAAAAAAEBAAAAAAgAQgAAAAYEAgAAAEAAAAEAgEAAAAACAAABAAAAAEAMAAAAAAgAIAAAIAQAAhAAgAJAgACAAAAgAAAAAAAAAgEAAAAAAAAAAAAAAAAQAxQAGAAIgoDAAMAARBQIAAYAAiCgA" } } }

Thank you Ghada.

YuriyVelichkoPI commented 9 months ago

Hi @GhadaSalah, yes, please create a separate ticket to address this behavior.

The thing is that retrieving the user agent is an async process that consumes time. It may lead to significant delays for the bid requests, is not preferable for publishers sensitive to the ad session time, and may lead to losing revenue.

The change should be subtle for all possible integration kinds and first require internal (committee) discussion. This problem is relevant to the Android platform as well. Android SDK always waits for the ua and other device properties before the bid request, which leads to harmful delays.

So, the committee should develop a generic policy for async data collecting for the bid requests.

GhadaSalah commented 9 months ago

Hi @YuriyVelichkoPI , I will create a seperate ticket. Thank you for your feedback !