Giliosios nuorodos
Kixo Deep Links nukreipia kiekvieną žmogų į tinkamiausią pasiekiamą paskirties vietą. Jei programa įdiegta, ta pati firminė HTTPS nuoroda atidaro reikiamą ekraną programoje. Jei ne, ji gali atidaryti jūsų svetainę, App Store arba Google Play atsarginę paskirties vietą. Patvirtintą programos atidarymą tvarko operacinė sistema; kai nuoroda atsidaro naršyklėje, Kixo pritaiko tai nuorodai išsaugotą atsarginę paskirties vietą.
Pradėkite Kixo
Atidarykite Projekto nustatymai → Giliosios nuorodos, sukurkite adresą ir nukopijuokite tam adresui rodomą sąranką. Skydelyje pateiktas hostas yra pagrindinis šaltinis visiems toliau pateiktiems fragmentams.
Kaip atsidaro nuoroda
| Asmens įrenginys | Rezultatas |
|---|---|
| Programa įdiegta, o App Links sąranka galioja | Programa atsidaro tiesiai nuorodos paskirties vietoje. |
| Programa neįdiegta | Kixo naudoja nuorodai pasirinktą svetainės arba parduotuvės atsarginę paskirties vietą. |
| Darbastalio naršyklė | Atsidaro svetainės atsarginė paskirties vieta. |
| Programos sąranka neužbaigta | Vietoj neveikiančio programos raginimo atsidaro saugi atsarginė paskirties vieta. |
Naudokite tikslų firminį hostą
Kixo nuorodos hostas priklauso vienam projektui ir atrodo taip: yourbrand.kixo.cc. Kūrimo projektams gali būti naudojama kita Kixo valdoma pabaiga. Visada kopijuokite visą hostą iš skydelio.
Pakaitos simboliai neveikia
Konfigūruokite yourbrand.kixo.cc, ne *.kixo.cc ir ne kixo.cc. Android ir iOS tikrina tikslų hostą, kurį žmogus atidaro.
Svetainė ir QR perdavimas
Web SDK automatiškai atpažįsta, kai atidaroma Kixo nuoroda. Naudokite getLinkData() tik tada, kai jūsų svetainei savo maršrutizatoriuje reikia išspręsto kampanijos konteksto arba pasirinktinių parametrų.
const link = Kixo.getLinkData();
if (link?.params.product_id) {
// URL values are user-controlled. Allowlist them before routing.
router.openProduct(link.params.product_id);
}Mobiliajame žiniatinklyje pasiūlykite „Open in app“
Perduokite visą viešos nuorodos URL, kurį grąžina Kixo. Juosta rodoma tik mobiliajame žiniatinklyje ir leidžia Kixo nuorodai parinkti įdiegtos programos, parduotuvės arba svetainės paskirties vietą.
Kixo.showSmartBanner({
linkId: 'YOUR_KIXO_LINK_ID',
linkUrl: 'https://YOUR_EXACT_KIXO_HOST/link/YOUR_LINK_SLUG',
title: 'Continue in the app',
});Tęskite darbastalio sesiją naudodami QR kodą
Jei QR kodą rodote savo svetainėje, paprašykite Kixo sukurti perdavimą esamai nuorodai, o ne patys konstruokite URL. Kixo naudos tai nuorodai išsaugotas programos ir svetainės paskirties vietas.
const handoff = await Kixo.createQrHandoff({
linkId: 'YOUR_KIXO_LINK_ID',
params: {
product_id: '42',
},
});
qrCode.render(handoff.url);Naudokite Kixo grąžintas reikšmes
Perduokite nuorodos ID iš Kixo ir atvaizduokite grąžintą URL nekeisdami. Pasirenkami params prideda kontekstą jūsų leistiname programos ar svetainės maršrute, bet nepakeičia pačios nuorodos paskirties vietos. Neperduokite naudotojo ID ar įrenginio ID.
Android App Links
Prieš redaguodami kodą, išsaugokite Android paketo pavadinimą ir visus programos pasirašymo SHA-256 kontrolinius kodus skiltyje Programos ir sąranka. Jei leidimo versiją pasirašo Google Play, pridėkite ir Play App Signing kontrolinį kodą, taip pat visus kodus, naudojamus tiesioginiams ar vidiniams buildams.
1. Pridėkite serverį į manifestą
Šį intent filter pridėkite prie activity, kuri valdo programos navigaciją. Pakeiskite tik hosto vietaženklį.
<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. Perduokite atidarymus jau veikiančioje programoje
Kixo SDK perskaito App Link per šaltąjį paleidimą. Kai Android pakartotinai panaudoja esamą activity, perduokite jai naują intent, kad šiltasis atidarymas eitų tuo pačiu priskyrimo ir maršrutizavimo keliu.
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. Patikrinkite Android
Pakeitę manifestą, iš naujo įdiekite programą, tada paprašykite Android patikrinti hostą ir peržiūrėkite rezultatą.
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"Patarimas
Naršyklės pasirinkimo langas dažniausiai reiškia, kad tiksliai nesutampa hostas, paketo pavadinimas arba pasirašymo SHA-256 kontrolinis kodas. Prieš keisdami programos navigacijos kodą, pirmiausia patikrinkite šias tris reikšmes.
iOS Universal Links
Išsaugokite programos bundle ID ir Apple team ID skiltyje Programos ir sąranka. Xcode įjunkite Associated Domains galimybę tam pačiam app target ir pasirašymo konfigūracijai, kuri naudojama įdiegtame build'e.
1. Pridėkite susietą domeną
applinks:YOUR_EXACT_KIXO_HOST2. Perduokite nuorodų atidarymus šaltai ir šiltai paleistoje programoje
Pasirinkite programos naudojamą gyvavimo ciklą. Abiejuose pavyzdžiuose išspręsta paskirties vieta perduodama jūsų maršrutizatoriui; Kixo nepakeičia programos navigacijos.
import Kixo
WindowGroup {
ContentView()
.onKixoDeepLink { link in
guard link.phase == .resolved else { return }
router.open(link.targetPath ?? link.path)
}
}3. Patikrinkite iOS
- Pašalinkite programą iš įrenginio ir tada įdiekite pasirašytą buildą.
- Atidarykite tikrą Kixo nuorodą iš Notes, Messages arba Safari. Testuodami neapsiribokite vien tik jos įklijavimu į Safari adreso juostą.
- Patvirtinkite, kad šaltasis bakstelėjimas paleidžia programą reikiamame ekrane.
- Palikite programą veikti, dar kartą bakstelėkite nuorodą ir patvirtinkite šiltąjį atidarymą.
- Patvirtinkite, kad nuorodos atidarymas matomas Kixo.
Maršrutizavimą palikite programos viduje
Kixo nuoroda gali turėti paskirties kelią, pavyzdžiui, /products/42. Žinomus kelius susiekite su savo ekranais ir palikite galioti esamas programos prieigos patikras. Iš išspręstos reikšmės nedarykite bendros paskirties URL atidarytuvo.
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()
}
}Perduokite tai programavimo asistentui
Pakeiskite penkis vietaženklius reikšmėmis iš Projekto nustatymai → Programėlės ir sąranka ir Giliosios nuorodos, tada įklijuokite visą užklausą į Codex, Claude Code, Cursor, Windsurf ar kitą programavimo asistentą.
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 changeKo asistentas neturi spėlioti
Firminis hostas, paketo pavadinimas, pasirašymo kontroliniai kodai, bundle ID ir Apple team ID gaunami iš jūsų programos ir Kixo projekto. Asistentas gali sujungti kodą, bet vietoj išgalvotos reikšmės turi sustoti ir pranešti, kad jos trūksta.
Leidimo patikros sąrašas
- Tikslus Kixo hostas yra nurodytas Android ir iOS sąrankoje.
- Android rodo, kad hostas patvirtintas leidimo paketui.
- Leidimo pasirašymo kontroliniai kodai išsaugoti Kixo.
- iOS entitlement yra pasirašytame programos build'e.
- Šaltasis ir šiltasis atidarymas nuveda į reikiamą ekraną.
- Svetainės arba parduotuvės atsarginė paskirties vieta veikia ir be įdiegtos programos.
- Nuorodos atidarymas matomas Kixo analitikoje.