Syvälinkit
Kixo Deep Links ohjaa jokaisen käyttäjän parhaaseen saatavilla olevaan kohteeseen. Jos sovellus on asennettu, sama brändätty HTTPS-linkki avaa oikean näkymän sovelluksessa. Muussa tapauksessa se voi avata verkkosivustosi, App Storen tai Google Playn varakohteen. Käyttöjärjestelmä hoitaa vahvistetun sovellusavauksen; jos linkki päätyy selaimeen, Kixo käyttää linkille tallennettua varakohdetta.
Aloita Kixo:ssa
Avaa Projektin asetukset → Syvälinkit, luo osoite ja kopioi kyseiselle osoitteelle näytetty määritys. Dashboardissa näkyvä host on kaikkien alla olevien esimerkkien lähdearvo.
Miten linkki avautuu
| Käyttäjän laite | Tulos |
|---|---|
| Sovellus on asennettu ja app link -määritys on kunnossa | Sovellus avautuu suoraan linkin kohteeseen. |
| Sovellusta ei ole asennettu | Kixo käyttää linkille valittua verkkosivusto- tai kauppavarakohdetta. |
| Työpöytäselain | Verkkosivuston varakohde avautuu. |
| Sovelluksen määritys on puutteellinen | Turvallinen varakohde avautuu rikkinäisen sovelluskehotteen sijaan. |
Käytä täsmälleen oikeaa brändättyä hostia
Kixo-linkin host kuuluu aina yhteen projektiin ja näyttää esimerkiksi tältä: yourbrand.kixo.cc. Kehitysprojekteissa pääte voi olla toinen, mutta silti Kixo:n hallinnoima. Kopioi host aina kokonaisuudessaan dashboardista.
Yleismerkit eivät toimi
Määritä yourbrand.kixo.cc, älä *.kixo.cc äläkä kixo.cc. Android ja iOS vahvistavat täsmälleen sen hostin, jonka käyttäjä avaa.
Verkkosivusto ja QR-handoff
Web SDK tunnistaa Kixo-linkin laskeutumisen automaattisesti. Käytä getLinkData() vain silloin, kun verkkosivustosi tarvitsee ratkaistun kampanjakontekstin tai mukautetut parametrit omaan reititykseensä.
const link = Kixo.getLinkData();
if (link?.params.product_id) {
// URL values are user-controlled. Allowlist them before routing.
router.openProduct(link.params.product_id);
}Tarjoa mobiiliverkossa “Open in app”
Välitä Kixo:n palauttama julkisen linkin täydellinen URL. Banneri näytetään vain mobiiliverkossa, ja sen avulla Kixo-linkki valitsee asennetun sovelluksen, kaupan tai verkkosivuston kohteen.
Kixo.showSmartBanner({
linkId: 'YOUR_KIXO_LINK_ID',
linkUrl: 'https://YOUR_EXACT_KIXO_HOST/link/YOUR_LINK_SLUG',
title: 'Continue in the app',
});Jatka työpöytäistuntoa QR-koodilla
Jos QR-koodi näytetään verkkosivustollasi, pyydä Kixo:a luomaan handoff olemassa olevalle linkille sen sijaan, että rakentaisit URL:n itse. Kixo käyttää linkille tallennettuja sovellus- ja verkkosivukohteita.
const handoff = await Kixo.createQrHandoff({
linkId: 'YOUR_KIXO_LINK_ID',
params: {
product_id: '42',
},
});
qrCode.render(handoff.url);Käytä Kixo:n palauttamia arvoja
Välitä Kixo:n linkki-ID ja renderöi palautettu URL muuttamattomana. Valinnaiset params tuovat lisäkontekstia sallittuun sovellus- tai verkkosivureittiin, mutta eivät korvaa linkin kohdetta. Älä välitä käyttäjä-ID:tä tai laite-ID:tä.
Android App Links
Tallenna ennen koodin muokkaamista Android-paketin nimi ja kaikki sovelluksen SHA-256-allekirjoitussormenjäljet kohtaan Sovellukset ja määritykset. Jos Google Play allekirjoittaa julkaisun, lisää mukaan myös Play App Signing -sormenjälki sekä kaikki suorissa tai sisäisissä koosteissa käytetyt sormenjäljet.
1. Lisää host manifestiin
Lisää tämä intent filter siihen activityyn, joka vastaa sovelluksen navigoinnista. Korvaa vain hostin paikkamerkki.
<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. Välitä lämpimät avaukset
Kixo SDK lukee App Linkin kylmäkäynnistyksessä. Kun Android käyttää olemassa olevaa activityä uudelleen, välitä uusi intent eteenpäin, jotta lämmin avaus kulkee samaa attribuutio- ja reitityspolkua.
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. Vahvista Android
Asenna sovellus uudelleen manifestin muuttamisen jälkeen, pyydä Androidia vahvistamaan host ja tarkista tulos.
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"Vinkki
Selainvalitsin kertoo yleensä siitä, että host, paketin nimi tai allekirjoituksen sormenjälki ei täsmää. Tarkista nämä kolme arvoa ennen kuin muutat sovelluksen navigointikoodia.
iOS Universal Links
Tallenna sovelluksen bundle ID ja Apple team ID kohtaan Sovellukset ja määritykset. Ota Xcodessa Liitetyt verkkotunnukset käyttöön samassa app targetissa ja allekirjoitusmäärityksessä, jota asennettu kooste käyttää.
1. Lisää liitetty verkkotunnus
applinks:YOUR_EXACT_KIXO_HOST2. Välitä kylmät ja lämpimät linkkiohjaukset
Valitse sovelluksen käyttämä elinkaari. Molemmissa esimerkeissä ratkaistu kohde välitetään omaan reitittimeesi; Kixo ei korvaa sovelluksen navigointia.
import Kixo
WindowGroup {
ContentView()
.onKixoDeepLink { link in
guard link.phase == .resolved else { return }
router.open(link.targetPath ?? link.path)
}
}3. Vahvista iOS
- Poista sovellus laitteesta ja asenna sitten allekirjoitettu kooste.
- Avaa oikea Kixo-linkki Muistiinpanoista, Viesteistä tai Safarista. Älä tee ainoaa testiä liittämällä linkkiä Safarin osoiteriville.
- Varmista, että kylmä avaus käynnistää sovelluksen oikeaan näkymään.
- Jätä sovellus käyntiin, napauta linkkiä uudelleen ja varmista lämmin avaus.
- Varmista, että linkin avaus näkyy Kixo:ssa.
Pidä reititys sovelluksen sisällä
Kixo-linkki voi sisältää kohteen, kuten /products/42. Ohjaa tunnetut polut omiin näkymiisi ja säilytä sovelluksen nykyiset käyttöoikeustarkistukset. Älä käytä ratkaistua arvoa yleiskäyttöisenä URL-avaajana.
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()
}
}Anna tämä koodiavustajalle
Korvaa viisi paikkamerkkiä arvoilla kohdista Projektin asetukset → Sovellukset ja käyttöönotto ja Syvälinkit, ja liitä koko ohje Codexiin, Claude Codeen, Cursoriin, Windsurfiin tai muuhun koodiavustajaan.
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 changeMitä avustaja ei saa arvata
Brändätty host, paketin nimi, allekirjoitussormenjäljet, bundle ID ja Apple team ID tulevat sovelluksestasi ja Kixo-projektista. Avustaja voi kytkeä koodin, mutta sen pitää pysähtyä ja ilmoittaa puuttuvasta arvosta sen sijaan, että keksisi sellaisen.
Julkaisun tarkistuslista
- Täsmällinen Kixo-host on mukana sekä Android- että iOS-määrityksessä.
- Android ilmoittaa, että host on vahvistettu julkaisupaketille.
- Julkaisun allekirjoitussormenjäljet on tallennettu Kixo:on.
- iOS entitlement sisältyy allekirjoitettuun sovelluskoosteeseen.
- Kylmä ja lämmin avaus päätyvät oikeaan näkymään.
- Verkkosivusto- tai kauppavarakohde toimii myös ilman asennettua sovellusta.
- Linkin avaus näkyy Kixo-analytiikassa.