Aqbeż għad-dokumentazzjoni

Links profondi

Kixo Deep Links jibagħtu lil kull persuna lejn l-aħjar destinazzjoni disponibbli. Jekk l-app hija installata, l-istess link HTTPS bil-brand jiftaħ l-iskrin it-tajjeb fl-app. Inkella jista’ jiftaħ is-sit tiegħek, l-App Store, jew il-fallback ta’ Google Play. Is-sistema operattiva tieħu ħsieb il-ftuħ ta’ app verifikata; meta l-link jasal fil-browser, Kixo japplika l-fallback issejvjat għal dak il-link.

Ibda minn Kixo

Iftaħ Is-Settings tal-Proġett → Links profondi, oħloq indirizz, u kkopja s-setup muri għal dak l-indirizz. Il-host fid-dashboard huwa s-sors ewlieni għal kull snippet hawn taħt.

Kif jinfetaħ link

L-apparat tal-persunaRiżultat
L-app hija installata u s-setup tal-app link huwa validuL-app tiftaħ direttament fid-destinazzjoni tal-link.
L-app mhix installataKixo juża l-fallback tas-sit jew tal-store magħżul għal dak il-link.
Browser tad-desktopJiftaħ il-fallback tas-sit.
Is-setup tal-app mhuwiex komplutJiftaħ il-fallback sikur minflok ma jidher prompt miksur tal-app.

Uża l-host bil-brand eżatt

Il-host ta’ link ta’ Kixo jappartjeni lil proġett wieħed u jidher bħal yourbrand.kixo.cc. Proġetti ta’ żvilupp jistgħu jużaw suffiss ieħor ġestit minn Kixo. Dejjem ikkopja l-host sħiħ mid-dashboard.

Wildcards ma jaħdmux

Ikkonfigura yourbrand.kixo.cc, mhux *.kixo.cc u lanqas kixo.cc. Android u iOS jivverifikaw il-host eżatt li tiftaħ il-persuna.

Website u QR handoff

Il-Web SDK jagħraf landing ta’ link ta’ Kixo awtomatikament. Uża getLinkData() biss meta s-sit tiegħek jeħtieġ il-kuntest tal-campaign riżolt jew custom parameters fir-router tiegħu stess.

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

Offri “Open in app” fuq il-web mobbli

Għaddi l-public link URL sħiħa li jirritorna Kixo. Il-banner jintwera biss fuq il-web mobbli u jħalli lill-link ta’ Kixo jagħżel bejn l-app installata, il-store, jew id-destinazzjoni tas-sit.

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

Kompli sessjoni tad-desktop minn QR code

Għal QR muri fis-sit tiegħek, itlob lil Kixo joħloq handoff għal link eżistenti minflok tibni URL int stess. Kixo juża d-destinazzjonijiet tal-app u tas-sit issejvjati għal dak il-link.

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

qrCode.render(handoff.url);

Uża l-valuri li jirritorna Kixo

Għaddi l-link ID minn Kixo u uri l-URL ritornata kif inhi. params opzjonali jżidu kuntest għar-rotta allowlisted tal-app jew tas-sit tiegħek; ma jissostitwixxux id-destinazzjoni tal-link. Tgħaddix user ID jew device ID.

Android App Links

Qabel teditja l-kodiċi, salva l-Android package name u kull SHA-256 app signing fingerprint f’Apps u setup. Jekk Google Play jiffirma r-release, żid ukoll il-Play App Signing fingerprint kif ukoll kull fingerprint użat minn builds diretti jew interni.

1. Żid il-host mal-manifest

Poġġi dan l-intent filter fuq l-activity li tmexxi n-navigazzjoni tal-app. Ibdel biss il-placeholder tal-host.

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. Għaddi warm opens

Il-Kixo SDK jaqra App Link minn cold start. Meta Android jerġa’ juża activity eżistenti, għaddi l-intent il-ġdid tagħha biex il-ftuħ minn stat sħun isegwi l-istess triq ta’ attribution u routing.

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. Ivverifika Android

Erġa’ installa l-app wara li tbiddel il-manifest, imbagħad itlob lil Android jivverifika l-host u ċċekkja r-riżultat.

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"

Suġġeriment

Browser chooser ġeneralment ifisser li l-host eżatt, l-isem tal-pakkett jew is-signing fingerprint ma jaqblux. Iċċekkja dawn it-tliet valuri qabel tbiddel il-kodiċi tan-navigazzjoni tal-app.

iOS Universal Links

Salva l-bundle ID tal-app u l-Apple team ID f’Apps u setup. F’Xcode, attiva l-capability Associated Domains fuq l-istess target tal-app u signing configuration użati mill-build installat.

1. Żid id-dominju assoċjat

applinks:YOUR_EXACT_KIXO_HOST

2. Għaddi cold u warm links

Agħżel il-lifecycle li tuża l-app. Iż-żewġ eżempji jgħaddu d-destinazzjoni riżolta lir-router tiegħek; Kixo ma jissostitwixxix in-navigazzjoni tal-app.

import Kixo

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

3. Ivverifika iOS

  1. Ħassar l-app mill-apparat, imbagħad installa l-build iffirmat.
  2. Iftaħ link reali ta’ Kixo minn Notes, Messages, jew Safari. Tpoġġihx fis-Safari address bar bħala l-uniku test.
  3. Ikkonferma li tap minn stat kiesaħ jiftaħ l-app fuq l-iskrin mistenni.
  4. Ħalli l-app miftuħa, erġa’ agħfas il-link, u kkonferma l-ftuħ minn stat sħun.
  5. Ikkonferma li l-ftuħ tal-link jidher f’Kixo.

Żomm ir-routing ġewwa l-app tiegħek

Link ta’ Kixo jista’ jġorr destinazzjoni bħal /products/42. Aqbel il-paths magħrufa mal-iskrins tiegħek u żomm il-kontrolli eżistenti tal-aċċess tal-app. Tibdilx il-valur riżolt f’URL opener ġeneriku.

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

Agħti dan lil assistent tal-kodiċi

Ibdel il-ħames placeholders b’valuri minn Is-Settings tal-Proġett → Apps u setup u Links profondi, imbagħad waħħal il-brief sħiħ f’Codex, Claude Code, Cursor, Windsurf, jew assistent ieħor tal-kodiċi.

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

X’m’għandux jaqta’ l-assistent

Il-host bil-brand, il-package name, is-signing fingerprints, il-bundle ID u l-Apple team ID jiġu mill-app tiegħek u mill-proġett Kixo tiegħek. Assistent jista’ jqabbad il-kodiċi, iżda għandu jieqaf u jirrapporta valur nieqes minflok jivvintah.

Checklist tar-release

  • Il-host eżatt ta’ Kixo huwa preżenti fis-setup ta’ Android u iOS.
  • Android jirrapporta li l-host huwa verifikat għall-pakkett tar-release.
  • Is-signing fingerprints tar-release huma ssejvjati f’Kixo.
  • L-entitlement ta’ iOS huwa preżenti fil-build iffirmat tal-app.
  • Il-ftuħ minn stat kiesaħ u dak minn stat sħun jaslu sal-iskrin mistenni.
  • Il-fallback tas-sit jew tal-store jaħdem mingħajr l-app installata.
  • Il-ftuħ tal-link jidher fl-analytics ta’ Kixo.

Gwidi relatati