Mélyhivatkozások
A Kixo Deep Links mindenkit a lehető legjobb elérhető célhelyre irányít. Ha az alkalmazás telepítve van, ugyanaz a márkázott HTTPS-link a megfelelő képernyőt nyitja meg benne. Ha nincs telepítve, a link megnyithatja a webhelyedet, az App Store-t vagy a Google Playben beállított tartalék célhelyet. A hitelesített alkalmazásmegnyitást az operációs rendszer kezeli; ha a link a böngészőbe jut, a Kixo az adott linkhez mentett tartalék célhelyet alkalmazza.
Kezdés a Kixo-ban
Nyisd meg ezt: Projektbeállítások → Mélyhivatkozások, hozz létre egy címet, majd másold ki az ahhoz tartozó beállítást. Az alábbi kódrészleteknél mindig a dashboardban látható hoszt az irányadó.
Hogyan nyílik meg a link
| A felhasználó eszköze | Eredmény |
|---|---|
| Az alkalmazás telepítve van, és az App Link beállítása érvényes | Az alkalmazás közvetlenül a link célhelyén nyílik meg. |
| Az alkalmazás nincs telepítve | A Kixo a linkhez kiválasztott webes vagy áruházi tartalék célhelyet használja. |
| Asztali böngésző | A webes tartalék célhely nyílik meg. |
| Az alkalmazás beállítása hiányos | Hibás alkalmazásmegnyitási prompt helyett a biztonságos tartalék célhely nyílik meg. |
A pontos, márkázott hosztot használd
A Kixo-link hosztja egyetlen projekthez tartozik, és így néz ki: yourbrand.kixo.cc. Fejlesztői projektek más, Kixo által kezelt végződést is használhatnak. Mindig a teljes hosztot másold ki a dashboardból.
A helyettesítő karakterek nem működnek
Ezt állítsd be: yourbrand.kixo.cc, ne ezt: *.kixo.cc, és ne ezt: kixo.cc. Az Android és iOS pontosan azt a hosztot ellenőrzi, amelyet a felhasználó megnyit.
Webhelyes és QR-átadás
A Web SDK automatikusan felismeri, ha valaki Kixo-linkről érkezik. A(z) getLinkData() elemet csak akkor használd, ha a webhelyed saját routerében szükség van a feloldott kampánykontextusra vagy egyedi paraméterekre.
const link = Kixo.getLinkData();
if (link?.params.product_id) {
// URL values are user-controlled. Allowlist them before routing.
router.openProduct(link.params.product_id);
}„Open in app” megjelenítése mobilweben
Add át a Kixo által visszaadott teljes nyilvános link URL-jét. A sáv csak mobilweben jelenik meg, és a Kixo-link alapján a telepített alkalmazást, az áruházat vagy a webhely céloldalát választja.
Kixo.showSmartBanner({
linkId: 'YOUR_KIXO_LINK_ID',
linkUrl: 'https://YOUR_EXACT_KIXO_HOST/link/YOUR_LINK_SLUG',
title: 'Continue in the app',
});Asztali munkamenet folytatása QR-kóddal
Ha a QR a saját webhelyeden jelenik meg, kérd meg a Kixo-t, hogy egy meglévő linkhez hozzon létre átadást, ne te állítsd össze az URL-t. A Kixo az adott linkhez mentett alkalmazás- és webes célhelyeket használja.
const handoff = await Kixo.createQrHandoff({
linkId: 'YOUR_KIXO_LINK_ID',
params: {
product_id: '42',
},
});
qrCode.render(handoff.url);A Kixo által visszaadott értékeket használd
Add át a Kixo-tól kapott linkazonosítót, és a visszaadott URL-t változtatás nélkül jelenítsd meg. Az opcionális params mezők kontextust adhatnak az engedélyezett alkalmazás- vagy webes útvonalhoz, de nem helyettesítik a link célhelyét. Ne adj át felhasználóazonosítót vagy eszközazonosítót.
Android App Links
Mielőtt a kódhoz nyúlnál, mentsd el az Android-csomagnevet és az összes SHA-256 alkalmazásaláírási ujjlenyomatot itt: Alkalmazások és beállítások. Ha a kiadást a Google Play írja alá, add meg a Play App Signing ujjlenyomatát is, valamint minden olyan ujjlenyomatot, amelyet közvetlen vagy belső build használ.
1. Add hozzá a hosztot a manifesthez
Ezt az intent filtert arra az activityre tedd, amely az alkalmazás navigációját kezeli. Csak a hoszt helyőrzőjét cseréld le.
<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. Továbbítsd a meleg megnyitásokat
A Kixo SDK beolvassa a hideg indításkor érkező App Linket. Ha az Android egy meglévő activityt használ újra, add tovább az új intentet, hogy a meleg megnyitás ugyanazon az attribúciós és route-kezelési úton menjen végig.
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. Ellenőrizd az Android-beállítást
A manifest módosítása után telepítsd újra az alkalmazást, majd kérd meg az Android rendszert a hoszt hitelesítésére, és ellenőrizd az eredményt.
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"Tipp
Ha böngészőválasztó jelenik meg, az általában azt jelzi, hogy a hoszt, a csomagnév vagy az aláírási ujjlenyomat nem egyezik pontosan. Mielőtt az alkalmazás navigációs kódját módosítanád, ellenőrizd ezt a három értéket.
iOS Universal Links
Mentsd el az alkalmazás bundle ID-ját és az Apple team ID-ját ide: Alkalmazások és beállítások. Az Xcode-ban kapcsold be a(z) Társított domainek képességet ugyanazon az app targeten és aláírási konfiguráción, amelyet a telepített build használ.
1. Add hozzá a kapcsolódó domaint
applinks:YOUR_EXACT_KIXO_HOST2. Továbbítsd a hideg és meleg megnyitásokat
Válaszd ki, melyik életciklust használja az alkalmazás. Mindkét példa a feloldott célhelyet a saját routerednek adja át; a Kixo nem veszi át az alkalmazás navigációját.
import Kixo
WindowGroup {
ContentView()
.onKixoDeepLink { link in
guard link.phase == .resolved else { return }
router.open(link.targetPath ?? link.path)
}
}3. Ellenőrizd az iOS-beállítást
- Töröld az alkalmazást az eszközről, majd telepítsd az aláírt buildet.
- Nyiss meg egy valódi Kixo-linket a Jegyzetekből, az Üzenetekből vagy a Safariból. Ne csak úgy tesztelj, hogy bemásolod a Safari címsorába.
- Ellenőrizd, hogy hideg indításnál a koppintás a várt képernyőn nyitja meg az alkalmazást.
- Hagyd futni az alkalmazást, koppints újra a linkre, és ellenőrizd a meleg megnyitást.
- Ellenőrizd, hogy a link megnyitása megjelenik a Kixo felületén.
A route-kezelés maradjon az alkalmazáson belül
Egy Kixo-link tartalmazhat célhelyet is, például /products/42. Az ismert útvonalakat irányítsd a saját képernyőidre, és tartsd meg az alkalmazás meglévő hozzáférés-ellenőrzéseit. A feloldott értékből ne csinálj általános célú URL-megnyitót.
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()
}
}Add oda egy kódasszisztensnek
Cseréld le az öt helyőrzőt a(z) Projektbeállítások → Alkalmazások és beállítás és Mélylinkek értékeire, majd illeszd be a teljes összefoglalót a Codex, Claude Code, Cursor, Windsurf vagy más kódasszisztens felületére.
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 changeAmit az asszisztens nem találhat ki
A márkázott hoszt, a csomagnév, az aláírási ujjlenyomatok, a bundle ID és az Apple team ID az alkalmazásodból és a Kixo-projektből származik. Egy asszisztens bekötheti a kódot, de ha hiányzik egy érték, álljon meg és jelezze, ne találjon ki helyette mást.
Kiadási ellenőrzőlista
- A pontos Kixo hoszt szerepel az Android- és iOS-beállításban.
- Az Android a hosztot hitelesítettként jelzi a kiadási csomaghoz.
- A kiadási aláírási ujjlenyomatok el vannak mentve a Kixo-ban.
- Az iOS entitlement benne van az aláírt alkalmazásbuildben.
- Hideg és meleg megnyitáskor is a várt képernyő jelenik meg.
- A webes vagy áruházi tartalék célhely az alkalmazás telepítése nélkül is működik.
- A link megnyitása megjelenik a Kixo analitikájában.