1. Loads Full Screen Survey
private func presentFullScreenSurvey() {
let dummyDelegate = DummySurveyDelegate()
XeboSwiftUIWrapper.presentFullScreenSurvey(
surveyURL: surveyURL, // Survey URL string
delegate: dummyDelegate
)
}
// A simple dummy delegate conforming to XeboSurveyDelegate
class DummySurveyDelegate: XeboSurveyDelegate {
func handleSurveyLoaded(response: [String: AnyObject]) {
print("Survey loaded with response: \(response)")
}
}2. Load survey after N visits
private func loadSurveyAfter(_ visits: Int) {
let dummyDelegate = DummySurveyDelegate()
XeboSwiftUIWrapper.loadSurveyAfter(
visits: visits,
surveyURL: surveyURL, // Survey URL string
delegate: dummyDelegate
)
}
// A simple dummy delegate conforming to XeboSurveyDelegate
class DummySurveyDelegate: XeboSurveyDelegate {
func handleSurveyLoaded(response: [String: AnyObject]) {
print("Survey loaded with response: \(response)")
}
}3. Load survey in Pop up form
private func presentPopupSurvey() {
let dummyDelegate = DummySurveyDelegate()
XeboSwiftUIWrapper.presentPopupSurvey(
surveyURL: surveyURL, // Survey URL string
delegate: dummyDelegate
)
}
// A simple dummy delegate conforming to XeboSurveyDelegate
class DummySurveyDelegate: XeboSurveyDelegate {
func handleSurveyLoaded(response: [String: AnyObject]) {
print("Survey loaded with response: \\(response)")
}
}
4. Load survey in Inline form (Embedded)
private func presentInlineSurvey() {
let dummyDelegate = DummySurveyDelegate()
XeboSwiftUIWrapper(
surveyURL: surveyURL,
delegate: dummyDelegate,
isSurveyVisible: $isSurveyVisible, // Pass binding
embeddedSurveyURL: $embeddedSurveyURL // Pass binding
)
}
// A simple dummy delegate conforming to XeboSurveyDelegate
class DummySurveyDelegate: XeboSurveyDelegate {
func handleSurveyLoaded(response: [String: AnyObject]) {
print("Survey loaded with response: \\(response)")
}
}
5 Loads Lowest Response Survey (SwiftUI)
private func loadSurvey() {
let myUUIDs = ["uuid-1", "uuid-2"]
let myKey = "your-api-key"
let dummyDelegate = DummySurveyDelegate()
XeboSwiftUIWrapper.loadLowestResponseSurvey(
from: myUUIDs,
apiKey: myKey,
delegate: dummyDelegate
)
}
// A simple dummy delegate conforming to XeboSurveyDelegate
class DummySurveyDelegate: XeboSurveyDelegate {
func handleSurveyLoaded(response: [String: AnyObject]) {
print(">>> Survey loaded with response: \\(response)")
}
}