Skip to content

Conversation

@k-antipochkin
Copy link
Contributor

@k-antipochkin k-antipochkin commented Oct 20, 2025

User description

Description of Changes

Add In-App Message Interceptor API OptimoveInApp.setInAppMessageInterceptor(_:) to allow apps to control when in-app messages are shown or suppressed based on custom logic. If no decision is made within the timeout (default 5s), the message is automatically suppressed.

Breaking Changes

  • None

Release Checklist

Prepare:

  • Detail any breaking changes. Breaking changes require a new major version number
  • Check pod lib lint passes
  • Update any relevant sections of the repository wiki pages on a branch

Bump versions in:

  • OptimoveCore.podspec

  • OptimoveNotificationServiceExtension.podspec

  • OptimoveSDK.podspec

  • OptimoveCore/Sources/Classes/Constants/SDKVersion.swift

-[ ] README.md

  • CHANGELOG.md

  • Update major version numbers in wiki (basic integration + push guides)

Integration tests

T&T Only

  • Init SDK with only T&T credentials
  • Associate customer
  • Associate email
  • Track events

Mobile Only

  • Init SDK with all credentials
  • Track events
  • Associate customer (verify both backends)
  • Register for push
  • Opt-in for In-App
  • Send test push
  • Send test In-App
  • Receive / trigger deep link handler (In-App/Push)
  • Receive / trigger the content extension, render image and action buttons for push
  • Verify push opened handler

Deferred Deep Links

  • With app installed, trigger deep link handler
  • With app uninstalled, follow deep link, install test bundle, verify deep link read from Clipboard, trigger deep link handler

Combined

  • Track event for T&T, verify push received
  • Trigger scheduled campaign, verify push received
  • Trigger scheduled campaign, verify In-App received

Release:

  • Squash and merge to master
  • Delete branch once merged
  • Create tag from master matching chosen version
  • Run pod trunk push to publish to CocoaPods

Post Release:

  • Push wiki pages to master


Generated description

Below is a concise technical summary of the changes proposed in this PR:
Introduce an API, OptimoveInApp.setInAppMessageInterceptor(_:), to enable applications to implement custom logic for controlling the display or suppression of in-app messages, with an automatic suppression timeout if no decision is made. Integrate this interception mechanism within the InAppPresenter to manage message presentation based on the interceptor's decision.

TopicDetails
Update SDK Version Update the SDK version to 6.3.0 across all relevant podspec files and the SDKVersion.swift constant, and document the new feature in CHANGELOG.md.
Modified files (5)
  • OptimoveSDK.podspec
  • OptimoveNotificationServiceExtension.podspec
  • OptimoveCore/Sources/Classes/Constants/SDKVersion.swift
  • OptimoveCore.podspec
  • CHANGELOG.md
Latest Contributors(2)
UserCommitDate
konstantin_a@optimove.comUpdated-version-to-6.2.6October 02, 2025
adamball1bump-version-numbers-f...July 24, 2025
In-App Interceptor Implement the OptimoveInApp.setInAppMessageInterceptor(_:) API, allowing developers to provide custom logic via the InAppMessageInterceptor protocol to decide whether to show or suppress an in-app message, including a configurable timeout for automatic suppression.
Modified files (2)
  • OptimoveSDK/Sources/Classes/Optimobile/OptimoveInApp.swift
  • OptimoveSDK/Sources/Classes/Optimobile/InApp/InAppPresenter.swift
Latest Contributors(2)
UserCommitDate
konstantin_a@optimove.comFixed-an-issue-fix-wit...October 08, 2024
eli_g@optimove.comrc-5.6.0-84December 07, 2023
This pull request is reviewed by Baz. Review like a pro on (Baz).

@pr-work-item-validator
Copy link

👋 Hey @k-antipochkin,

❗️ Work Item link check failed: There is no Work Item linked to this PR.

🧩 Please add the Work Item ID to the PR title or description using the "Edit" option in the format below:
AB#XXXXX - replace X with a valid Work Item ID.

🟢 Once added, the validation will automatically run again!

1 similar comment
@pr-work-item-validator
Copy link

👋 Hey @k-antipochkin,

❗️ Work Item link check failed: There is no Work Item linked to this PR.

🧩 Please add the Work Item ID to the PR title or description using the "Edit" option in the format below:
AB#XXXXX - replace X with a valid Work Item ID.

🟢 Once added, the validation will automatically run again!

@k-antipochkin k-antipochkin changed the base branch from master to feature/261534-in-app October 20, 2025 22:02
@pr-work-item-validator
Copy link

👋 Hey @k-antipochkin,

❗️ Work Item link check failed: There is no Work Item linked to this PR.

🧩 Please add the Work Item ID to the PR title or description using the "Edit" option in the format below:
AB#XXXXX - replace X with a valid Work Item ID.

🟢 Once added, the validation will automatically run again!

1 similar comment
@pr-work-item-validator
Copy link

👋 Hey @k-antipochkin,

❗️ Work Item link check failed: There is no Work Item linked to this PR.

🧩 Please add the Work Item ID to the PR title or description using the "Edit" option in the format below:
AB#XXXXX - replace X with a valid Work Item ID.

🟢 Once added, the validation will automatically run again!

@pr-work-item-validator
Copy link

👋 Hey @k-antipochkin,

❗️ Work Item link check failed: There is no Work Item linked to this PR.

🧩 Please add the Work Item ID to the PR title or description using the "Edit" option in the format below:
AB#XXXXX - replace X with a valid Work Item ID.

🟢 Once added, the validation will automatically run again!

1 similar comment
@pr-work-item-validator
Copy link

👋 Hey @k-antipochkin,

❗️ Work Item link check failed: There is no Work Item linked to this PR.

🧩 Please add the Work Item ID to the PR title or description using the "Edit" option in the format below:
AB#XXXXX - replace X with a valid Work Item ID.

🟢 Once added, the validation will automatically run again!

@k-antipochkin k-antipochkin changed the title Feature/261534 in app ccrm AB#261534 in app ccrm Oct 22, 2025
@k-antipochkin k-antipochkin marked this pull request as ready for review October 22, 2025 15:25
@k-antipochkin k-antipochkin merged commit 4a675ce into feature/261534-in-app Oct 24, 2025
2 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.

3 participants