Quickstart
Quickstart
Sektion kaldt “Quickstart”Popup-definitioner kommer altid fra backend, så den hurtigste måde at validere SDK’et på er at initialisere det med en gyldig publicKey og lade det hente dine popups i runtime. Demoapps bruger allerede det flow.
1. Initialisér SDK’et
Sektion kaldt “1. Initialisér SDK’et”Android
Sektion kaldt “Android”val options = InitOptions( debug = true, // kun SDK-logs — ændrer IKKE backend environment = Environment.Development, // udelad (eller brug Environment.Production) for prod popupOptions = PopupOptions( publicKey = "<your-public-key>" ), autoLaunch = true, provideLang = { "en" }, metadata = mapOf("userId" to "demo-user"))
val sdk = DeepdotsPopups().apply { initialize(options) setPath("/home")}environment styrer backendens base-URL (Environment.Production → https://api.deepdots.com,
Environment.Development → https://api-dev.deepdots.com). Standard er Production, når den
udelades. debug styrer kun SDK’ets log-output og er uafhængig af miljøet.
Efter initialisering eksponerer SDK’et en read-only environment-property på DeepdotsPopups,
så værtsapps kan fastslå, hvilken backend de peger på, og vise det i deres egne diagnostikker
eller logs.
Lokaliserede knaptekster
Sektion kaldt “Lokaliserede knaptekster”Popuppens indbyggede tekster (knapper, Spørgsmål X af Y, fejlbeskeder og
tilgængelighedsetiketter) følger surveyens sprog, så snart den er indlæst, og provideLang
indtil da. Understøttede sprog: en, es, da, fi, no, sv, ar, bn, de, pt, fr (de sprog,
platformen tilbyder for en survey) plus zh-CN. Regionstags som es-ES, nb-NO, zh-Hans
eller underscore-varianter som es_419 accepteres. Ikke-understøttede sprog falder tilbage til
engelsk. Arabiske surveys spejler popuppens layout fra højre mod venstre. Etiketter angivet i
PopupDefinition.actions har altid forrang over de indbyggede tekster.
Swift kan ikke se Kotlins standardværdier, så alle parametre i InitOptions og PopupOptions skal angives i denne rækkefølge. Brug nil til dem, du ikke har brug for:
let options = InitOptions( debug: true, // kun SDK-logs — ændrer IKKE backend environment: Environment.development, // brug .production for prod mode: nil, // ignoreres: popups kommer altid fra Deepdots popupOptions: PopupOptions( id: nil, publicKey: "<your-public-key>", popups: nil, // ignoreres: popups kommer altid fra Deepdots companyId: nil ), provideLang: { Locale.current.language.languageCode?.identifier ?? "en" }, autoLaunch: true, storage: nil, // nil = persistent standardlager (UserDefaults) trackingEnabled: true, // false for at vente på samtykke analytics: nil, // AnalyticsKeys(...) for at sende analytics geolocation: true, contactAttributes: nil, renderChrome: true, showProgressBar: nil, // nil = følg surveyens konfiguration metadata: ["userId": "demo-user"])
let instance = DeepdotsSDK.DeepdotsPopups()instance.initialize(options: options)instance.setPath(path: "/home")2. Tilføj en platformskontekst
Sektion kaldt “2. Tilføj en platformskontekst”SDK’et har brug for en platformsspecifik kontekst for at rendere popup-UI’et.
- Android-eksempel:
sdk.attachContext(PlatformContext(this)) - iOS-eksempel:
instance.attachContext(context: PlatformContext(viewController: root))
3. Hold den aktuelle path opdateret
Sektion kaldt “3. Hold den aktuelle path opdateret”Eksemplerne ændrer den aktuelle path, efterhånden som brugeren navigerer:
/login/home/detail/1/detail/2/detail/3/detail/4
Path-opdateringer betyder noget, fordi path-segmentering og nogle trigger-flows afhænger af dem.
4. Lyt efter lifecycle-events
Sektion kaldt “4. Lyt efter lifecycle-events”SDK’et udsender:
popup_shownpopup_clickedsurvey_completed
De eksponeres gennem Event-enum’et og Events-helperen.
5. Trigger eller vis popups manuelt, hvis nødvendigt
Sektion kaldt “5. Trigger eller vis popups manuelt, hvis nødvendigt”SDK’et kan også vise eller trigge popups fra værtskode:
sdk.show( ShowOptions( surveyId = "a9c8c170-bb1c-11f0-9d29-d5fe3dd521d0", productId = "02b809f20e024bce47c57f123cff8735" ), PlatformContext(activity))Hvad du bør validere først
Sektion kaldt “Hvad du bør validere først”- At
publicKeyer gyldig - At værtsappen opdaterer
setPath(...), når skærme ændres - At værtsappen kalder
onScroll,triggerEventeller andre trigger-helpers, når det er relevant - At event-listenere er tilsluttet, så teamet kan bekræfte popup-lifecycle-adfærden
Gennemgå best practices, før I går i produktion.