Süvalingid
Kixo süvalingid suunavad iga kasutaja parimasse saadaolevasse sihtkohta. Kui rakendus on paigaldatud, avab sama bränditud HTTPS-link rakenduses õige ekraani. Muidu saab avada sinu veebisaidi, App Store'i või Google Play varusihtkoha. Kinnitatud rakenduse avamise eest vastutab operatsioonisüsteem; kui link jõuab brauserisse, rakendab Kixo selle lingi jaoks salvestatud varusihtkohta.
Alusta Kixo-st
Ava Projekti seaded → Süvalingid, loo aadress ja kopeeri selle aadressi juures näidatud seadistus. Armatuurlaual olev host on kõigi allolevate näidete alus.
Kuidas link avaneb
| Kasutaja seade | Tulemus |
|---|---|
| Rakendus on paigaldatud ja App Links on õigesti seadistatud | Rakendus avaneb otse lingi sihtkohas. |
| Rakendus pole paigaldatud | Kixo kasutab sellele lingile valitud veebisaidi või rakenduse poe varusihtkohta. |
| Töölauabrauser | Avaneb veebisaidi varusihtkoht. |
| Rakenduse seadistus on puudulik | Katkise rakenduse viiba asemel avaneb turvaline varusihtkoht. |
Kasuta täpset bränditud hosti
Kixo lingi host kuulub ühele projektile ja näeb välja näiteks yourbrand.kixo.cc. Arendusprojektidel võib lõpp olla teine, kuid see on samuti Kixo hallatav. Kopeeri host alati tervikuna armatuurlaualt.
Metsikkaardid ei tööta
Seadista yourbrand.kixo.cc, mitte *.kixo.cc ega kixo.cc. Android ja iOS kinnitavad täpselt selle hosti, mille kasutaja avab.
Veeb ja QR-handoff
Web SDK tunneb Kixo lingi maandumise automaatselt ära. Kasuta getLinkData() ainult siis, kui sinu veebisait vajab oma ruuteris lahendatud kampaaniakonteksti või kohandatud parameetreid.
const link = Kixo.getLinkData();
if (link?.params.product_id) {
// URL values are user-controlled. Allowlist them before routing.
router.openProduct(link.params.product_id);
}Paku mobiiliveebis valikut “Open in app”
Edasta Kixo tagastatud täielik avaliku lingi URL. Bännerit kuvatakse ainult mobiiliveebis ning selle kaudu saab Kixo link valida, kas avada paigaldatud rakendus, rakenduse pood või veebisait.
Kixo.showSmartBanner({
linkId: 'YOUR_KIXO_LINK_ID',
linkUrl: 'https://YOUR_EXACT_KIXO_HOST/link/YOUR_LINK_SLUG',
title: 'Continue in the app',
});Jätka töölauaseanssi QR-koodiga
Kui QR-koodi kuvatakse sinu veebisaidil, lase Kixo-l luua olemasoleva lingi jaoks handoff, mitte ära koosta URL-i ise. Kixo kasutab selle lingi juurde salvestatud rakenduse ja veebisaidi sihtkohti.
const handoff = await Kixo.createQrHandoff({
linkId: 'YOUR_KIXO_LINK_ID',
params: {
product_id: '42',
},
});
qrCode.render(handoff.url);Kasuta Kixo tagastatud väärtusi
Edasta Kixo lingi ID ja kuva tagastatud URL muutmata kujul. Valikulised params lisavad sinu lubatud rakenduse- või veebiteekonnale konteksti, kuid ei asenda lingi sihtkohta. Ära edasta kasutaja ID-d ega seadme ID-d.
Android App Links
Enne koodi muutmist salvesta asukohta Rakendused ja seadistus Androidi paketinimi ja kõik SHA-256 rakenduse allkirjastamise sõrmejäljed. Kui väljalase allkirjastatakse Google Play kaudu, lisa ka Play App Signing sõrmejälg ning kõik sõrmejäljed, mida kasutatakse otsestes või sisemistes buildides.
1. Lisa host manifesti
Lisa see intent filter activity külge, mis haldab rakenduse navigeerimist. Asenda ainult hosti placeholder.
<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. Edasta soojad avamised
Kixo SDK loeb külmkäivituse App Link'i. Kui Android kasutab olemasolevat activity't uuesti, edasta sellele uus intent, et ka soeavamine järgiks sama omistamise ja suunamise teekonda.
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. Kontrolli Androidi
Pärast manifesti muutmist paigalda rakendus uuesti, lase Androidil host kinnitada ja kontrolli tulemust.
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"Nipp
Brauserivalik tähendab enamasti, et täpne host, paketinimi või allkirja sõrmejälg ei ühti. Enne rakenduse navigeerimiskoodi muutmist kontrolli need kolm väärtust üle.
iOS Universal Links
Salvesta rakenduse bundle ID ja Apple team ID asukohta Rakendused ja seadistus. Xcode'is luba Associated Domains capability samal app target'il ja sama allkirjastuskonfiguratsiooniga, mida kasutab paigaldatud build.
1. Lisa seotud domeen
applinks:YOUR_EXACT_KIXO_HOST2. Edasta külmad ja soojad lingiavamised
Vali elutsükkel, mida sinu rakendus kasutab. Mõlemas näites edastatakse lahendatud sihtkoht sinu enda ruuterile; Kixo ei asenda rakenduse navigeerimist.
import Kixo
WindowGroup {
ContentView()
.onKixoDeepLink { link in
guard link.phase == .resolved else { return }
router.open(link.targetPath ?? link.path)
}
}3. Kontrolli iOS-i
- Kustuta rakendus seadmest ja paigalda seejärel allkirjastatud build.
- Ava päris Kixo link rakendusest Notes, Messages või Safari kaudu. Ära piirdu testimisel ainult lingi kleepimisega Safari aadressiribale.
- Veendu, et külm puudutus avab rakenduse õigel ekraanil.
- Jäta rakendus tööle, puuduta linki uuesti ja veendu, et soeavamine toimib.
- Veendu, et lingi avamine jõuab Kixo-sse.
Hoia suunamine rakenduse sees
Kixo link võib sisaldada sihtkohta, näiteks /products/42. Suuna tuntud rajad oma rakenduse vastavatele vaadetele ja jäta alles senised ligipääsukontrollid. Ära kasuta lahendatud väärtust üldotstarbelise URL avajana.
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 see koodiassistendile
Asenda viis placeholder'it väärtustega lehtedelt Projekti seaded → Rakendused ja seadistus ja Süvalingid, seejärel kleebi valmis lähteülesanne Codexisse, Claude Code'i, Cursorisse, Windsurfi või mõnda teise koodiassistenti.
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 changeMida assistent ei tohi oletada
Bränditud host, paketinimi, allkirja sõrmejäljed, bundle ID ja Apple team ID pärinevad sinu rakendusest ja Kixo projektist. Assistent võib koodi ühendada, kuid puuduva väärtuse korral peab ta peatuma ja sellest teada andma, mitte midagi ise välja mõtlema.
Väljalaske kontrollnimekiri
- Täpne Kixo host on olemas nii Androidi kui iOS-i seadistuses.
- Android näitab, et host on väljalaskepaketi jaoks kinnitatud.
- Väljalaske allkirja sõrmejäljed on Kixo-sse salvestatud.
- iOS entitlement on allkirjastatud rakenduse buildis olemas.
- Külm- ja soeavamine jõuavad oodatud ekraanile.
- Veebisaidi või rakenduse poe varusihtkoht töötab ka siis, kui rakendus pole paigaldatud.
- Lingi avamine ilmub Kixo analüütikasse.