Gå til indhold

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.

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.Productionhttps://api.deepdots.com, Environment.Developmenthttps://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.

provideLang bruges også til at lokalisere SDK’ets indbyggede standard-knaptekster (Send / Cancel / Start survey / Complete survey / Back). Understøttede sprog ud af boksen: en, es, da, no, sv, fi, 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. Etiketter leveret af server eller vært i PopupDefinition.actions har altid forrang over standardværdierne.

let options = InitOptions(
debug: true, // kun SDK-logs — ændrer IKKE backend
environment: Environment.development, // udelad (eller brug .production) for prod
popupOptions: PopupOptions(
id: nil,
publicKey: "<your-public-key>",
companyId: nil
),
provideLang: { Locale.current.language.languageCode?.identifier ?? "en" },
autoLaunch: true,
metadata: ["userId": "demo-user"]
)
let instance = DeepdotsSDK.DeepdotsPopups()
instance.initialize(options: options)
instance.setPath(path: "/home")

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))

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.

SDK’et udsender:

  • popup_shown
  • popup_clicked
  • survey_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)
)
  • At publicKey er gyldig
  • At værtsappen opdaterer setPath(...), når skærme ændres
  • At værtsappen kalder onScroll, triggerEvent eller andre trigger-helpers, når det er relevant
  • At event-listenere er tilsluttet, så teamet kan bekræfte popup-lifecycle-adfærden