-
Notifications
You must be signed in to change notification settings - Fork 193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New module: WURFL device enrichment #3685
base: master
Are you sure you want to change the base?
Conversation
Module wurfl devicedetection
Hello, @andreacastello . We discussed this PR in the PBS committee meeting and this the summary:
To unblock this PR, you will need to have a way to make this code compilable and unit testable. I see several possible options:
Until this is done, we'll be leaving this project in |
PBS-Go PR for reference: prebid/prebid-server#4158 |
…odified Device mock used in tests.
Module wurfl devicedetection
Hello @Net-burst I've updated the PR so that the module can compile, run the module's unit tests and execute when there's not a dependency to the licensed WURFL Java API. In this case the module calls an internal API mock (packages I've also modified the module REAME to explain how to switch from this demo version to a licensed WURFL API usage. |
potential mock issue fix
Simplified call to virtual capabilities API
Thanks, @andreacastello! We'll take a look as soon as we have free cycles. |
``` | ||
If the WURFL API dependency is not added, the module will compile a demo version that returns sample data, allowing basic testing without an WURFL Onsite Java API license. | ||
|
||
4 - Delete the `com` directory inside `extra/modules/WURFL-devicedetection/src/main/java`, which contains the WURFL Java API |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreacastello could you please move this code bundle into a publicly available library so that the end users will only need to change pom.xml dependency without the need to go into the code and risk breaking the project?
You can call that stub library wurlf-demo
and add it as a pom.xml dependency. Then instruct users of the full version to just change the dependency from wurfl-demo
to wurfl
.
If you don't have a Maven repo set up, you can push it into Maven Central or use a GitHub Packages.
🔧 Type of changes
✨ What's the context?
The module populates missing or empty fields in ortb2.device with WURFL device detection data
🧠 Rationale behind the change
The WURFL module populates missing or empty fields in ortb2.device with the following data:
Note: If these fields are already populated in the bid request, the module will not overwrite them.
Publisher-Specific Enrichment
Device enrichment is selectively enabled for publishers based on their account ID. The module identifies publishers through the following fields:
site.publisher.id
(for web environments).app.publisher.id
(for mobile app environments).dooh.publisher.id
(for digital out-of-home environments).For more info about the module build and configuration, please refer to the README.md under
extra/modules/WURFL-devicedetection
🏎 Quality check
Licensing Requirement for the WURFL Device Enrichment Module
To use the WURFL Device Enrichment Module for Prebid Server, you must have a valid license for the ScientiaMobile WURFL OnSite Java API. This API is a core dependency of the module and is responsible for performing device detection and enrichment operations by leveraging ScientiaMobile's comprehensive WURFL device database.
You can obtain the required license from ScientiaMobile’s official product page: WURFL OnSite API for Java
If the WURFL API dependency is not added, the module will compile a demo version that returns sample data, allowing basic testing without an WURFL Onsite Java API license. In this case the module code calls an internal mock of the WURFL Java API
Maintainer contact
[email protected]