Joan dokumentaziora

Sakon estekak

Kixo Deep Links-ek pertsona bakoitza eskuragarri dagoen helmugarik egokienera bidaltzen du. Aplikazioa instalatuta badago, markako HTTPS esteka berak pantaila egokia irekitzen du aplikazioan. Bestela, zure webgunea, App Store edo Google Play fallback-a ireki dezake. Sistema eragileak egiaztatutako aplikazio-irekiera kudeatzen du; esteka nabigatzailera iristen denean, Kixok esteka horretarako gordetako fallback-a aplikatzen du.

Hasi Kixon

Ireki Proiektuaren ezarpenak → Esteka sakonak, sortu helbide bat, eta kopiatu helbide horretarako erakusten den konfigurazioa. Dashboardeko host-a da beheko snippet guztien erreferentzia nagusia.

Nola irekitzen den esteka bat

Pertsonaren gailuaEmaitza
Aplikazioa instalatuta dago, eta app-link konfigurazioa baliozkoa daAplikazioa zuzenean irekitzen da estekaren helmugan.
Aplikazioa ez dago instalatutaKixok estekarentzat hautatutako webgune edo dendako fallback-a erabiltzen du.
Mahaigaineko nabigatzaileaWebguneko fallback-a irekitzen da.
Aplikazioaren konfigurazioa osatu gabe dagoFallback segurua irekitzen da, hautsitako aplikazio-mezu bat erakutsi beharrean.

Erabili markako host zehatza

Kixo esteka baten host-a proiektu bakar bati dagokio, eta yourbrand.kixo.cc itxura izaten du. Garapen-proiektuek Kixok kudeatutako beste amaiera bat erabil dezakete. Kopiatu beti host osoa dashboardetik.

Wildcard-ek ez dute balio

Konfiguratu yourbrand.kixo.cc, ez *.kixo.cc eta ez kixo.cc. Android-ek eta iOS-ek pertsonak irekitzen duen host zehatza egiaztatzen dute.

Webgunea eta QR handoff-a

Web SDKak automatikoki ezagutzen du Kixo esteka baten landing-a. Erabili getLinkData() bakarrik zure webguneak ebatzitako campaign testuingurua edo parametro pertsonalizatuak bere routerrean behar dituenean.

js
const link = Kixo.getLinkData();

if (link?.params.product_id) {
  // URL values are user-controlled. Allowlist them before routing.
  router.openProduct(link.params.product_id);
}

Eskaini “Open in app” mugikorreko webean

Pasa Kixok itzulitako public link URL osoa. Banner-a mugikorreko webean bakarrik erakusten da, eta Kixo estekari uzten dio instalatutako aplikazioa, denda edo web-helmuga aukeratzen.

js
Kixo.showSmartBanner({
  linkId: 'YOUR_KIXO_LINK_ID',
  linkUrl: 'https://YOUR_EXACT_KIXO_HOST/link/YOUR_LINK_SLUG',
  title: 'Continue in the app',
});

Jarraitu mahaigaineko saioa QR kode batetik

QR bat zure webgunean erakusten baduzu, eskatu Kixori lehendik dagoen esteka baterako handoff bat sortzeko, URL bat zuk zeuk eraiki beharrean. Kixok esteka horretarako gordetako aplikazio- eta web-helmugak erabiltzen ditu.

js
const handoff = await Kixo.createQrHandoff({
  linkId: 'YOUR_KIXO_LINK_ID',
  params: {
    product_id: '42',
  },
});

qrCode.render(handoff.url);

Erabili Kixok itzulitako balioak

Pasa Kixoko link IDa, eta errendatu itzulitako URL-a aldatu gabe. Aukerako params balioek testuingurua gehitzen diote allowlist-ean dagoen aplikazio- edo web-bide bati; ez dute estekaren helmuga ordezkatzen. Ez pasa user ID edo device IDrik.

Android App Links

Kodea editatu aurretik, gorde Android pakete-izena eta SHA-256 aplikazio-sinaduraren hatz-marka guztiak Aplikazioak eta konfigurazioa-n. Release bertsioa Google Play-k sinatzen badu, gehitu Play App Signing hatz-marka, baita build zuzen edo barnekoek erabiltzen duten beste edozein hatz-marka ere.

1. Gehitu ostalaria manifestuan

Jarri intent filter hau aplikazioaren nabigazioa kudeatzen duen activity-an. Ordeztu host-erreserba bakarrik.

xml
<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. Birbideratu irekitze beroak

Kixo SDKak hotzean abiatutako App Link bat irakurtzen du. Android-ek lehendik dagoen activity bat berrerabiltzen duenean, bidali intent berria aurrera, warm open-ak atribuzio- eta bideratze-bide bera jarrai dezan.

kotlin
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. Egiaztatu Android

Manifest-a aldatu ondoren, berrinstalatu aplikazioa, gero eskatu Android-i host-a egiaztatzeko, eta aztertu emaitza.

bash
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"

Aholkua

Nabigatzailea aukeratzeko leihoa agertzen bada, normalean host zehatza, pakete-izena edo sinadura-hatz-marka ez datoz bat. Egiaztatu hiru balio horiek aplikazioaren nabigazio-kodea aldatu aurretik.

iOS Universal Links

Gorde aplikazioaren bundle IDa eta Apple team IDa Aplikazioak eta konfigurazioa-n. Xcode-n, gaitu Associated Domains capability-a instalatutako build-ak erabiltzen duen app target eta signing konfigurazio berean.

1. Gehitu lotutako domeinua

applinks:YOUR_EXACT_KIXO_HOST

2. Birbideratu hotzeko eta berozko estekak

Aukeratu aplikazioak erabiltzen duen lifecycle-a. Bi adibideek ebatzitako helmuga zure routerrera bidaltzen dute; Kixok ez du aplikazioaren nabigazioa ordezkatzen.

import Kixo

WindowGroup {
    ContentView()
        .onKixoDeepLink { link in
            guard link.phase == .resolved else { return }
            router.open(link.targetPath ?? link.path)
        }
}

3. Egiaztatu iOS

  1. Ezabatu aplikazioa gailutik, eta instalatu berriro sinatutako build-a.
  2. Ireki benetako Kixo esteka bat Notes, Messages edo Safari-tik. Ez erabili Safari-ko helbide-barra proba bakar gisa.
  3. Baieztatu cold tap batek aplikazioa espero den pantailan abiarazten duela.
  4. Utzi aplikazioa irekita, ukitu berriro esteka, eta baieztatu warm open-a.
  5. Baieztatu estekaren irekiera Kixon agertzen dela.

Mantendu bideraketa aplikazioaren barruan

Kixo esteka batek /products/42 bezalako helmuga bat eraman dezake. Mapeatu bide ezagunak zure pantailetara, eta mantendu aplikazioak lehendik dituen sarbide-egiaztapenak. Ez erabili ebatzitako balioa erabilera orokorreko URL irekitzaile gisa.

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()
    }
}

Eman hau kode-laguntzaile bati

Ordeztu bost erreserbak Proiektuaren ezarpenak → Aplikazioak eta konfigurazioa eta Esteka sakonak-ko balioekin, eta itsatsi brief osoa Codex, Claude Code, Cursor, Windsurf edo beste kode-laguntzaile batean.

text
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 change

Laguntzaileak asmatu behar ez duena

Markako host-a, pakete-izena, sinadura-hatz-markak, bundle IDa eta Apple team IDa zure aplikaziotik eta Kixo proiektutik datoz. Laguntzaile batek kodea prestatu dezake, baina falta den balioren bat asmatzen hasi ordez gelditu eta jakinarazi egin behar du.

Argitalpenaren egiaztapen-zerrenda

  • Kixo host zehatza Android eta iOS konfigurazioan dago.
  • Android-ek host-a egiaztatutzat ematen du release paketearentzat.
  • Release sinaduraren hatz-markak Kixon gordeta daude.
  • iOS entitlement-a sinatutako aplikazio-build-ean dago.
  • Cold eta warm irekitzeek espero den pantailara eraman behar dute.
  • Webgune edo dendako fallback-ak ondo funtzionatzen du aplikazioa instalatuta ez dagoenean ere.
  • Estekaren irekiera Kixo analitikan agertzen da.

Lotutako gidak