BatchLabs/Batch-iOS-SDK

SFSafariViewController not interactive when an in app message is displayed

kevcourtois opened this issue · 3 comments

Summary

When an In App Message is displayed, and we present a SFSafariViewController, we can't interact with it without closing the In App Message.

Reproduction steps

  • Setup a project with batch SDK and an In App Message campaign that is displayed at the start of the app.
  • Add a UINavigationController that can present a SFSafariViewController.
  • Wait for the In App Message to be displayed on screen.
  • Trigger the presentation of theSFSafariViewController.
  • You will not be able to interact with the SFSafariViewController.
  • Then close the In App Message, you can now interact with SFSafariViewController.

Logs

Specifications

SDK Version

v1.19.5

Installation method

Cocoapods

Relevant development tools versions

XCode 14.1

Additional information

Hi,

Thanks for the report.

We'll try to repro this on our end.
What kind of In-app message are we talking about here? I suppose a banner, as Fullscreen formats show up on top of your app.

Hello,
Yes the in app was a banner

Hi,

I'm closing this as we'll soon release a version with a workaround for this issue.

Batch will no longer display banners over SFSafariViewControllers. Unfortunately we cannot detect when one is presented under the banner, so when the user taps in the empty space, we check if a SFSafariViewController is under the banner and the tap broke, then we dismiss it. The user. It's not a perfect solution by any means but at least we can get something out while we work on a better solution, if we can find one.

A future version will introduce an API to allow you to dismiss all In-Apps, which you'll be able to call before presenting SFSafariViewController