Skip to content

feat: add Rokt Shoppable Ads support#713

Open
thomson-t wants to merge 1 commit into
workstation/6.0-Releasefrom
feat/rokt-shoppable-ads
Open

feat: add Rokt Shoppable Ads support#713
thomson-t wants to merge 1 commit into
workstation/6.0-Releasefrom
feat/rokt-shoppable-ads

Conversation

@thomson-t
Copy link
Copy Markdown
Collaborator

Background

The Android Rokt SDK now exposes Shoppable Ads APIs for optional payment extension registration and shoppable placement selection. The mParticle Android Rokt kit needs matching public APIs so apps can register their payment extension through mParticle while keeping the existing identity and attribute enrichment behavior.

What Has Changed

  • Added public Rokt kit facade APIs for payment extension registration and Shoppable Ads selection.
  • Routed Shoppable Ads selection through the existing identity confirmation, placement attribute mapping, sandbox, MPID, and identity enrichment path before calling the Rokt SDK.
  • Read stripePublishableKey from Rokt kit settings and pass it to the Rokt SDK as payment extension config during registration.
  • Logged a selectShoppableAds mParticle event with finalized attributes.
  • Updated the Rokt SDK dependency to 6.0.1-rc.2 for the local Shoppable Ads API build without adding the payment extension transitively.
  • Added facade and Rokt kit unit coverage, README examples, and a changelog entry.

Screenshots/Video

N/A — no visual changes.

Validation

  • trunk check --ci
  • ./gradlew build
  • ./gradlew test
  • ./gradlew ktlintCheck
  • ./gradlew :kits:android-rokt:rokt:compileReleaseKotlin :kits:android-rokt:rokt:testReleaseUnitTest :kits:android-rokt:rokt:ktlintCheck -c settings-kits.gradle
  • Confirmed the Rokt kit runtime graph does not include com.rokt:payment-extension or Stripe transitively.

Checklist

  • Self-review completed
  • Tests added or updated
  • Tested locally

Add Rokt kit facade APIs for payment extension registration and Shoppable Ads selection so host apps can wire optional payment providers through mParticle.

Forward Shoppable Ads requests through the existing identity confirmation and attribute enrichment pipeline, pass dashboard stripePublishableKey into the Rokt SDK registration config, and cover the behavior with kit and facade tests.
@thomson-t thomson-t requested a review from a team as a code owner May 27, 2026 17:45
@cursor
Copy link
Copy Markdown

cursor Bot commented May 27, 2026

PR Summary

Medium Risk
Forwards dashboard Stripe publishable keys into the Rokt payment path and adds commerce-oriented SDK calls; scope is limited to the Rokt kit with tests and docs.

Overview
Adds Rokt Shoppable Ads support on the public Rokt facade: registerPaymentExtension and selectShoppableAds, wired through RoktKitRequestHelper with the same email/identity confirmation and attribute preparation used for selectPlacements.

registerPaymentExtension reads stripePublishableKey from kit settings and passes it to the Rokt SDK as stripeKey in payment config. Shoppable selection enriches attributes, logs a selectShoppableAds mParticle event (shared logRoktEvent helper), and calls Rokt.selectShoppableAds. The Rokt SDK dependency is bumped to 6.0.1-rc.2; README and changelog document optional payment-extension setup.

Reviewed by Cursor Bugbot for commit 169a844. Bugbot is set up for automated code reviews on this repo. Configure here.

@sonarqubecloud
Copy link
Copy Markdown

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.

1 participant