Dyplenker
Kixo Deep Links sender hver person til den best tilgjengelige destinasjonen. Hvis appen er installert, åpner den samme profilerte HTTPS-lenken riktig skjerm i appen. Ellers kan den åpne nettstedet ditt, App Store eller Google Play som tilbakevalg. Operativsystemet håndterer åpning av en verifisert app; når lenken havner i nettleseren, bruker Kixo tilbakevalget som er lagret for lenken.
Start i Kixo
Åpne Prosjektinnstillinger → Dyplenker, opprett en adresse, og kopier oppsettet som vises for den adressen. Verten i dashbordet er fasiten for alle kodebitene nedenfor.
Slik åpnes lenken
| Personens enhet | Resultat |
|---|---|
| Appen er installert, og appkoblingsoppsettet er gyldig | Appen åpnes direkte til lenkens destinasjon. |
| Appen er ikke installert | Kixo bruker tilbakevalget til nettsted eller butikk som er valgt for lenken. |
| Nettleser på datamaskin | Tilbakevalget til nettstedet åpnes. |
| Appoppsettet er ufullstendig | Det trygge tilbakevalget åpnes i stedet for å vise en ødelagt appmelding. |
Bruk nøyaktig den profilerte verten
Verten for en Kixo-lenke tilhører ett prosjekt og ser slik ut: yourbrand.kixo.cc. Utviklingsprosjekter kan bruke en annen Kixo-administrert endelse. Kopier alltid hele vertsnavnet fra dashbordet.
Jokertegn støttes ikke
Konfigurer yourbrand.kixo.cc, ikke *.kixo.cc og ikke kixo.cc. Android og iOS verifiserer nøyaktig den verten personen åpner.
Nettsted og QR-handoff
Web SDK registrerer automatisk når en Kixo-lenke lander på nettstedet. Bruk getLinkData() bare når nettstedet ditt trenger den oppslåtte kampanjekonteksten eller egendefinerte parametere i sin egen ruter.
const link = Kixo.getLinkData();
if (link?.params.product_id) {
// URL values are user-controlled. Allowlist them before routing.
router.openProduct(link.params.product_id);
}Tilby «Åpne i app» på mobilnett
Send med den fullstendige offentlige lenke-URL-en som Kixo returnerer. Banneret vises bare på mobilnett og lar Kixo-lenken velge mellom installert app, butikk eller nettstedsdestinasjon.
Kixo.showSmartBanner({
linkId: 'YOUR_KIXO_LINK_ID',
linkUrl: 'https://YOUR_EXACT_KIXO_HOST/link/YOUR_LINK_SLUG',
title: 'Continue in the app',
});Fortsett en skrivebordsøkt med en QR-kode
Hvis du viser en QR-kode på nettstedet ditt, bør du be Kixo opprette en handoff for en eksisterende lenke i stedet for å bygge en URL selv. Kixo bruker app- og nettstedsdestinasjonene som er lagret for lenken.
const handoff = await Kixo.createQrHandoff({
linkId: 'YOUR_KIXO_LINK_ID',
params: {
product_id: '42',
},
});
qrCode.render(handoff.url);Bruk verdiene Kixo returnerer
Send med lenke-ID-en fra Kixo, og gjengi den returnerte URL-en uendret. Valgfrie params legger til kontekst for den tillatte ruten i appen eller på nettstedet, men erstatter ikke lenkens destinasjon. Ikke send bruker-ID eller enhets-ID.
Android App Links
Før du endrer kode, lagrer du Android-pakkenavnet og alle SHA-256-fingeravtrykk for appsignering i Apper og oppsett. Hvis Google Play signerer release-versjonen, legger du også inn fingeravtrykket for Play App Signing, i tillegg til eventuelle fingeravtrykk som brukes av direkte eller interne bygg.
1. Legg til verten i manifestet
Legg dette intent-filteret på aktiviteten som styrer appnavigasjonen. Bytt bare ut plassholderen for verten.
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="YOUR_EXACT_KIXO_HOST"
android:pathPrefix="/link/" />
</intent-filter>
</activity>2. Videresend varmåpninger
Kixo SDK leser en App Link ved kaldstart. Når Android gjenbruker en eksisterende aktivitet, må du videresende den nye intenten, slik at den varme åpningen følger samme løp for attribusjon og ruting.
import android.content.Intent
import io.kixo.sdk.Kixo
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
setIntent(intent)
intent.dataString?.let { url ->
Kixo.handleDeepLink(url, source = "applink")
}
}3. Verifiser Android
Installer appen på nytt etter at du har endret manifestet. Be deretter Android verifisere verten, og kontroller resultatet.
adb shell pm verify-app-links --re-verify YOUR_ANDROID_PACKAGE
adb shell pm get-app-links YOUR_ANDROID_PACKAGE
# The exact host should be "verified".
adb shell am start -W \
-a android.intent.action.VIEW \
-d "https://YOUR_EXACT_KIXO_HOST/link/YOUR_LINK_SLUG"Tips
Hvis du får opp en nettleservelger, skyldes det som regel at vert, pakkenavn eller signeringsfingeravtrykk ikke samsvarer helt. Sjekk de tre verdiene før du endrer navigasjonskoden i appen.
iOS Universal Links
Lagre appens bundle ID og Apple team ID i Apper og oppsett. I Xcode aktiverer du funksjonen Associated Domains på samme app-target og med samme signeringsoppsett som den installerte versjonen bruker.
1. Legg til det tilknyttede domenet
applinks:YOUR_EXACT_KIXO_HOST2. Videresend kald- og varmåpninger
Velg livssyklusen appen bruker. Begge eksemplene sender den oppslåtte destinasjonen til appens egen ruting; Kixo erstatter ikke appnavigasjonen.
import Kixo
WindowGroup {
ContentView()
.onKixoDeepLink { link in
guard link.phase == .resolved else { return }
router.open(link.targetPath ?? link.path)
}
}3. Verifiser iOS
- Slett appen fra enheten, og installer deretter den signerte versjonen.
- Åpne en ekte Kixo-lenke fra Notater, Meldinger eller Safari. Ikke bruk innliming i adressefeltet i Safari som eneste test.
- Bekreft at et kaldt trykk åpner appen på riktig skjerm.
- La appen være åpen, trykk på lenken igjen, og bekreft den varme åpningen.
- Bekreft at lenkeåpningen vises i Kixo.
Behold rutingen i appen
En Kixo-lenke kan ha en destinasjon som /products/42. Koble kjente stier til egne skjermer, og behold appens eksisterende tilgangskontroller. Ikke bruk den oppslåtte verdien som en generell URL-åpner.
Kixo.setDeferredDeepLinkListener { link ->
if (link?.phase != KixoDeepLinkPhase.RESOLVED) return@setDeferredDeepLinkListener
when {
link.targetUrl?.startsWith("/products/") == true ->
router.openProduct(link.targetUrl.substringAfterLast("/"))
link.targetUrl == "/account" ->
router.openAccount()
}
}Gi dette til en kodeassistent
Erstatt de fem plassholderne med verdier fra Prosjektinnstillinger → Apper og oppsett og Dyplenker, og lim deretter inn hele briefen i Codex, Claude Code, Cursor, Windsurf eller en annen kodeassistent.
Add Kixo Deep Links to this app.
Project values:
- Kixo branded host: YOUR_EXACT_KIXO_HOST
- Android package name: YOUR_ANDROID_PACKAGE
- Android SHA-256 signing fingerprints: YOUR_ANDROID_FINGERPRINTS
- iOS bundle ID: YOUR_IOS_BUNDLE_ID
- Apple team ID: YOUR_APPLE_TEAM_ID
Requirements:
1. Use the exact branded host above. Do not replace it with kixo.cc, dixo.dev, a wildcard, or the website domain.
2. Keep the app's existing navigation. Kixo resolves and measures the link; the app decides which screen to show.
3. Android:
- add an android:autoVerify App Links intent filter for https://YOUR_EXACT_KIXO_HOST/link/
- keep the package name and every release signing fingerprint in Kixo Apps & setup
- forward warm Activity.onNewIntent URLs to Kixo.handleDeepLink(url, source = "applink")
4. iOS:
- add applinks:YOUR_EXACT_KIXO_HOST to the app target's Associated Domains entitlement
- keep the bundle ID and Apple team ID in Kixo Apps & setup
- for SwiftUI, attach .onKixoDeepLink to the root view
- for UIKit scenes, forward cold connectionOptions and warm NSUserActivity callbacks to Kixo
5. Route only known in-app paths. Do not blindly open an arbitrary URL returned by a link.
6. Test a cold open and a warm open on a physical device or emulator. Confirm the app opens directly and the link open appears in Kixo.
Return:
- the files changed
- the exact host configured in each platform
- cold-open and warm-open test results
- anything still requiring a dashboard or signing-account changeDette må assistenten ikke gjette
Den profilerte verten, pakkenavnet, signeringsfingeravtrykkene, bundle ID og Apple team ID hentes fra appen og Kixo-prosjektet ditt. En assistent kan koble opp koden, men må stoppe og si fra hvis en verdi mangler, i stedet for å finne på en.
Sjekkliste før release
- Den nøyaktige Kixo-verten er lagt inn både i oppsettet for Android og iOS.
- Android rapporterer at verten er verifisert for release-pakken.
- Fingeravtrykkene for release-signering er lagret i Kixo.
- iOS-entitlementen finnes i den signerte appversjonen.
- Kalde og varme åpninger går til riktig skjerm.
- Tilbakevalget til nettsted eller butikk fungerer uten at appen er installert.
- Lenkeåpningen vises i Kixo-analyse.