Skip to content

feat: Support Shoppable ads and v9 of mParticle iOS SDK#311

Merged
BrandonStalnaker merged 5 commits intomainfrom
thomson-t/shoppable-ads-sdk9
Apr 16, 2026
Merged

feat: Support Shoppable ads and v9 of mParticle iOS SDK#311
BrandonStalnaker merged 5 commits intomainfrom
thomson-t/shoppable-ads-sdk9

Conversation

@BrandonStalnaker
Copy link
Copy Markdown
Contributor

Summary

Adds selectShoppableAds for Shoppable Ads (JS/TS, Codegen, iOS; Android is a no-op). Migrates iOS to mParticle Apple SDK 9.0 (Rokt type renames, onEvent: pattern, config/builder updates). Bumps 3.0.0 and iOS 15.6. Fixes Expo prebuild (plugin transitive Rokt pods + dynamic framework list; podspec cleanup). Adds a short ExpoTestApp README guide and tweaks the demo (staging placement + attributes).

Testing Plan

Tested through MParticleExpoTest and confirmed shoppable ads displayed correctly.
Screenshot 2026-04-15 at 1 43 29 PM
Screenshot 2026-04-15 at 1 43 58 PM

Master Issue

Closes https://go.mparticle.com/work/REPLACEME

thomson-t and others added 3 commits April 15, 2026 13:48
- Add selectShoppableAds() to JS/TS API, codegen spec, iOS native bridge,
  and Android (no-op)
- Migrate iOS native code to mParticle Apple SDK 9.0:
  - MPRoktEventCallback removed, use onEvent: block pattern
  - All MPRokt* event classes renamed to Rokt* (from RoktContracts)
  - Event property .placementId renamed to .identifier
  - MPRoktConfig -> RoktConfig via RoktConfigBuilder
  - MPRoktEmbeddedView -> RoktEmbeddedView
  - Import paths updated for mParticle_Apple_SDK_ObjC module
- Add new shoppable ads event types: CartItemInstantPurchaseInitiated,
  CartItemInstantPurchaseFailure, InstantPurchaseDismissal, CartItemDevicePay
- Backwards-compatible RoktCallback emission for onLoad/onUnLoad/etc.
- Bump version to 3.0.0, iOS deployment target to 15.6
- Add shoppable ads demo button to ExpoTestApp

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@BrandonStalnaker BrandonStalnaker self-assigned this Apr 15, 2026
@BrandonStalnaker BrandonStalnaker requested a review from a team as a code owner April 15, 2026 17:48
@cursor
Copy link
Copy Markdown

cursor bot commented Apr 15, 2026

PR Summary

High Risk
High risk due to a major iOS SDK migration (API/type changes and event plumbing) plus raising the minimum iOS/tvOS versions, which can break builds or runtime behavior for existing consumers.

Overview
Adds a new Rokt API selectShoppableAds end-to-end (TS/JS wrapper + TurboModule codegen, iOS bridge implementation, and Android stubs that warn/no-op), and updates the Expo test app UI/docs to exercise the new flow.

Migrates the iOS implementation to mParticle Apple SDK 9.x (new ObjC module imports, RoktContracts event types, onEvent callback wiring, and RoktConfigBuilder-based config construction) while also raising minimum supported platforms to iOS/tvOS 15.6 and bumping the package to 3.0.0 (including peer RN >=0.76).

Updates the Expo config plugin and sample Podfile to dynamically link the expanded set of Rokt transitive pods, and tweaks CI/Trunk tooling (Node setup, Trunk Node runtime, ESLint/markdownlint pinning).

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

Comment thread sample/ios/Podfile
Comment thread react-native-mparticle.podspec
@BrandonStalnaker BrandonStalnaker force-pushed the thomson-t/shoppable-ads-sdk9 branch from f2e9d44 to fe342f6 Compare April 16, 2026 12:26
Copy link
Copy Markdown

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 3df7fe1. Configure here.

Comment thread plugin/src/withMParticleIOS.ts
@BrandonStalnaker BrandonStalnaker merged commit cff14c5 into main Apr 16, 2026
11 checks passed
@BrandonStalnaker BrandonStalnaker deleted the thomson-t/shoppable-ads-sdk9 branch April 16, 2026 15:44
@rokt-releases rokt-releases bot mentioned this pull request Apr 16, 2026
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.

2 participants