Skip to content

AB#287060 feat: add adact minigames support - #143

Merged
k-antipochkin merged 4 commits into
masterfrom
adact-sdk
Aug 12, 2026
Merged

AB#287060 feat: add adact minigames support#143
k-antipochkin merged 4 commits into
masterfrom
adact-sdk

Conversation

@maksymba-opti

@maksymba-opti maksymba-opti commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds Adact mini games support to GamifyWidgetSDK so iOS apps can open embedded campaigns in a modal WKWebView, matching the Web / Android contract.

What's included

  • initialize(widgetUrl:adactUrl:) — optional adactUrl from onboarding/retrieval (SDK does not map regions)
  • API:
    • openAdactCampaign(from:params:)
    • closeAdactCampaign() / closeWidget()
    • buildAdactCampaignUrl(params:) / getAdactUrl()
  • OpenAdactParams (campaignId, cid?, token?)
  • Builds {adactUrl}/embedded/{campaignId}?cid=&customerIdToken=
  • No loyalty READY→INIT handshake for Adact (identity via query params)
  • Loyalty and Adact are independent surfaces; only one modal overlay at a time
  • Bridge handles CLOSE (dict or JSON string) in addition to closeWidget
  • Version bump to 6.9.0 (SDKVersion.swift + podspecs + CHANGELOG)
  • Unit tests for URL building / initialize

Test plan

  • initialize with adactUrl; openAdactCampaign presents modal WebView
  • Loaded URL is /embedded/{campaignId} with optional cid / customerIdToken
  • Missing adactUrl / campaignId / non-HTTPS → no-op (no crash)
  • closeAdactCampaign() dismisses Adact only; closeWidget() dismisses loyalty only
  • Opening Adact closes an open loyalty overlay (and the reverse)
  • Unit tests: GamifyWidgetSDKTests pass

Comment thread OptimoveSDK/Sources/Classes/GamifyWidget/GamifyWidgetSDK.swift Outdated
k-antipochkin
k-antipochkin previously approved these changes Aug 11, 2026
@k-antipochkin
k-antipochkin merged commit 8c234d6 into master Aug 12, 2026
8 of 10 checks passed
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