From d74e937f9d4bf3d88b1004d5b0a22d233304a7be Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Wed, 16 Jul 2025 18:54:02 +0300 Subject: [PATCH 1/3] Adds info about `shouldDisableStatusCheck` --- .../pbm-api/android/pbm-targeting-android.md | 17 +++++++++++++++++ prebid-mobile/pbm-api/ios/pbm-targeting-ios.md | 1 + 2 files changed, 18 insertions(+) diff --git a/prebid-mobile/pbm-api/android/pbm-targeting-android.md b/prebid-mobile/pbm-api/android/pbm-targeting-android.md index 8426565ed9..3aec4b66fb 100755 --- a/prebid-mobile/pbm-api/android/pbm-targeting-android.md +++ b/prebid-mobile/pbm-api/android/pbm-targeting-android.md @@ -348,6 +348,23 @@ Parameters: | --- | --- | --- | --- | --- | | eventDelegate | required | PrebidEventDelegate | The callback for handling all requests and responses. This interface takes request and response as the JSONObject types. | `{ request, response -> ... }` | +#### setDisableStatusCheck() + +Informs the SDK whether it should check the PBS status during initialization. This will save initialization time if the PBS endpoint is always live and handled client side. + +Signature: + +```java +public static void setDisableStatusCheck(boolean disableStatusCheck) +``` + +Parameters: + +{: .table .table-bordered .table-striped } +| Parameter | Scope | Type | Description | Example | +| --- | --- | --- | --- | --- | +| disableStatusCheck | required | boolean | Indicates whether the SDK should opt out of the PBS status checking during initialization. Default is `false`. | `true` | + --- ## Consent Management Parameters diff --git a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md index cc45afcca3..d7d73fdfe6 100644 --- a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md +++ b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md @@ -65,6 +65,7 @@ Prebid.shared.customStatusEndpoint="https://pbs.example.com/v2/status" | includeWinners | optional | boolean | ORTB | If `true`, Prebid sdk will add `includewinners` flag inside the targeting object described in [PBS Documentation](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#targeting) . Default is `false`. | `true` | | includeBidderKeys | optional | boolean | ORTB | If `true`, Prebid sdk will add `includebidderkeys` flag inside the targeting object described in [PBS Documentation](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#targeting) . Default is `false`. | `true` | | eventDelegate | optional | PrebidEventDelegate | init | Sets an event delegate to handle all auction requests and responses. It allows to collect some statistical data. Note that the SDK stores this callback as a weak reference so you need to store a reference to it. | `class PrebidEventDelegateTestsMockDelegate: PrebidEventDelegate { func prebidBidRequestDidFinish(requestData: Data?, responseData: Data?) { ... } }` | +| shouldDisableStatusCheck | optional | boolean | init | If `true`, the SDK will not check the PBS status during initialization. This will save initialization time if the PBS endpoint is always live and handled client side. Default is `false`. | `true` | ### Prebid Class Global Methods From e70f342c58eb4da1c2720d97ab2d3dd8d91a119b Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Wed, 16 Jul 2025 18:54:20 +0300 Subject: [PATCH 2/3] Modifies SPM integration section --- .../pbm-api/ios/code-integration-ios.md | 38 ++++++------------- 1 file changed, 12 insertions(+), 26 deletions(-) diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 15658748ab..b8aedbf7b0 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -47,36 +47,22 @@ If you are not familiar with the Carthage package builder, please refer to the p 2. Drag `PrebidMobile.xcframework` from `generated/output` directory into your project. Make sure "Copy items if needed" is selected. 3. Go to your Xcode project’s `General -> Frameworks, Libraries, and Embedded Content` settings. Use `Embed & Sign` for dynamic and `Do Not Embed` for static linking -### Swift PM +### Swift Package Manager (SPM) -SPM isn't supported for Prebid SDK `2.0.0` and higher ([details](https://github.com/prebid/prebid-mobile-ios/issues/640)). +Starting from version `3.1.0`, PrebidMobile supports the Swift Package Manager (SPM), making integration much easier and more maintainable compared to manual setups or CocoaPods. -The next guide is applicable to `1.x` versions of the SDK. +To [add the Prebid Mobile SDK package dependency](https://developer.apple.com/documentation/xcode/adding-package-dependencies-to-your-app#Add-a-package-dependency) using SPM, follow these steps: -If you are not familiar with the Swift Package Manager, please refer to the project [github page](https://github.com/apple/swift-package-manager) for more details. +1. In Xcode, install the Prebid Mobile SDK by navigating to File > Add Package Dependencies... +2. In the prompt that appears, search for the Prebid Mobile SDK GitHub repository: + ``` + https://github.com/prebid/prebid-mobile-ios.git + ``` +3. Select the version of the Prebid Mobile SDK you want to use. For new projects, we recommend using the `Up to Next Major Version`. +4. In the package selection screen, make sure to check the modules you need for your integration and link it to your application target. -1. Add Prebid dependency `File -> Swift Packages -> Add Package Dependency...` -2. Select desired version, branch or commit -3. Select Prebid [module]({{site.baseurl}}/prebid-mobile/modules/modules-overview.html) -4. Build the specific schema `CarthageBuild.sh` - - **Variant 1** - - - Run CarthageBuild.sh script from Cartfile folder. The path should be: - `.../Carthage/Checkouts/prebid-mobile-ios/scripts/CarthageBuild.sh` - - Enter Schema name (PrebidMobile or PrebidMobileCore) - - If you run CarthageBuild.sh and see Permission denied use: - `chmod +x ` - - **Variant 2** - - - Open `PrebidMobile.xcodeproj` at `.../Carthage/Checkouts/prebid-mobile-ios/PrebidMobile.xcodeproj` using Xcode - - Manage Schemes -> Check Shared checkbox for a necessary schema - - run `carthage build prebid-mobile-ios` - -5. Integrate the binary into your project - -You can find the schema name in the build PrebidSDK framework inside Info.plist with `PrebidMobileName` key +{: .alert.alert-info :} +The Swift Package Manager (SPM) integration is currently marked as beta. We are actively working on refining the project structure and modularization to improve clarity, performance, and ease of integration. During this period, some modules or dependencies may be reorganized. We welcome your feedback - if you encounter any issues or have suggestions, please don't hesitate to reach out and help us shape the future of the PrebidMobile SPM support. ### Build framework from source From 41b31248cb6526022e2221be81552fe06f2b7840 Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Wed, 16 Jul 2025 18:58:45 +0300 Subject: [PATCH 3/3] Resolve linter issues --- prebid-mobile/pbm-api/ios/code-integration-ios.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index b8aedbf7b0..a686b878af 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -55,9 +55,11 @@ To [add the Prebid Mobile SDK package dependency](https://developer.apple.com/do 1. In Xcode, install the Prebid Mobile SDK by navigating to File > Add Package Dependencies... 2. In the prompt that appears, search for the Prebid Mobile SDK GitHub repository: - ``` + + ```bash https://github.com/prebid/prebid-mobile-ios.git ``` + 3. Select the version of the Prebid Mobile SDK you want to use. For new projects, we recommend using the `Up to Next Major Version`. 4. In the package selection screen, make sure to check the modules you need for your integration and link it to your application target.