Skip to main content

Manual Screen Changes

While Screen Name Auto Capture handles most use cases automatically, our SDK also offers options to manually report screen changes, which are useful in the following scenarios:

  • Capturing screen changes in setups where Screen Name Auto Capture isn't currently supported, e.g. React Native apps without React Navigation v5.0.0+.
  • Supplementing the Screen Name Auto Capture with additional screen change reporting.
  • Capturing navigation changes when Screen Name Auto Capture is disabled.

If you choose not to use Screen Name Auto Capture, you will have to manually code every single screen change.

1. Add Reporting Code​

You can manually report screen change events using dedicated SDK methods by providing screen names for both appearances and disappearances.

These methods should be set up for every screen you want to have available in the App Insights Project to set up Sequencing Logic.

Code Examples​

SwiftUI​

import QualtricsExperience

struct HomeView: View {
var body: some View {
VStack {
// ...
}
.onAppear {
Qualtrics.reportScreenAppearance("HomeView")
}
.onDisappear {
Qualtrics.reportScreenDisappearance("HomeView")
}
}
}

UIKit​

import QualtricsExperience

class HomeViewController: UIViewController {
// ...

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
Qualtrics.reportScreenAppearance("HomeViewController")
}

override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
Qualtrics.reportScreenDisappearance("HomeViewController")
}

// ...
}

2. Collect Screen Names​

The SDK sends every reported screen name to App Insights Project, making them accessible in Sequencing Logic configuration and allowing you to display intercepts based on user navigation.

Screen names in App Insights

To ensure all app screen names appear in the App Insights Project, visit every screen in your application where you call screen appearance methods. Screen names that haven't been reported won't be available in the dropdown menu.