Skip to content
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

Support SKAdN in Bidding Only scenario #1086

Open
wants to merge 21 commits into
base: master
Choose a base branch
from

Conversation

OlenaPostindustria
Copy link
Collaborator

@OlenaPostindustria OlenaPostindustria commented Jan 14, 2025

Closes #1085

Overview

The primary objective of this pull request is to facilitate the adoption of SKAdNetwork in a bidding-only scenario. This feature has been implemented to support banner, video, and native ad formats.

  1. Native Ads

SKAdNetwork support is automatically enabled for all native ads. No additional steps are required.

  • StoreKit-rendered Ads: If the bid response includes seatbid[].bid[].ext.skadn parameters and fidelity type is 1, the SDK will display a SKStoreProductViewController with the appropriate product parameters when the user clicks on the ad.
  • View-through Ads: If the bid response includes seatbid[].bid[].ext.skadn parameters and fidelity type is 0, SKAdNetwork impression tracking begins when the SDK registers the corresponding event.
  1. Banner And Video Ads

Note: This PR does not include support for view-through ads because the SDK currently lacks the ability to track impression events for banner and video formats. Support for view-through ads will be implemented in a future update once the necessary changes are made (see issue #790 for details).
The support for view-through ads was implemented for banner format.

To enable SKAdNetwork StoreKit ads support for banner ads, the publisher needs to call the method activatePrebidSKAdNetworkStoreKitAdsFlow(adView:) or activatePrebidSKAdNetworkStoreKitAdsFlow() of the respective ad unit within the GADBannerViewDelegate method bannerViewDidReceiveAd(_ bannerView: GADBannerView).

The PrebidSKAdNetworkHelper will attempt to locate the hb_cache_id_local key within the creative contained in the banner view. If the key is found, the SDK will retrieve the corresponding bid from the cache using this key, verify the presence of seatbid[].bid[].ext.skadn parameters, and create a transparent, click-through overlay view to track user interactions. When the SDK detects a user click, it will trigger the presentation of an SKStoreProductViewController using the retrieved skadn parameters.

If the SDK is unable to find the hb_cache_id_local key in the creative (e.g., in the case of a video format), it will then attempt to locate the hb_uuid key. The SDK will compare this key against the keys of bids stored in the cache to retrieve the corresponding bid information.

Note: StoreKit ads are not supported for video ad format.

@OlenaPostindustria OlenaPostindustria force-pushed the 1085/support-skadn-in-bidding-only-scenario branch 4 times, most recently from 37294ec to 1dfd418 Compare January 20, 2025 11:19
@OlenaPostindustria OlenaPostindustria force-pushed the 1085/support-skadn-in-bidding-only-scenario branch from 45a0eaa to 9785de1 Compare February 18, 2025 09:16
@OlenaPostindustria OlenaPostindustria force-pushed the 1085/support-skadn-in-bidding-only-scenario branch from 9785de1 to f7f7a92 Compare February 18, 2025 10:14
@OlenaPostindustria OlenaPostindustria marked this pull request as ready for review February 21, 2025 09:21
@OlenaPostindustria OlenaPostindustria marked this pull request as draft February 21, 2025 10:11
@OlenaPostindustria OlenaPostindustria marked this pull request as ready for review February 27, 2025 08:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Revisit support of SKAdNetwork in Bidding Only integration
1 participant