iOS SDK
Tacaíonn SDK Kixo do iOS le Swift 5.9+ agus iOS 16+ le haghaidh anailísíochta, sannadh, brúfhógraí, rianú saolré agus athsheinm seisiún. Úsáideann Replay lasca gabhála ar leibhéal an tionscadail agus réamhshocruithe coimeádacha dá phíblínte níos troime; ní chuireann sé aon íosriachtanas ar leith eile ar an OS ná ar mhúnla an ghléis thar sprioc imlonnaithe iOS 16 an phacáiste. Déantar an SDK a dháileadh trí Swift Package Manager, agus le glao amháin ar Kixo.configure déanann sé scáileáin, sconnaí, seisiúin, tuairteanna, brúfhógraí agus imeachtaí saolré a rianú go huathoibríoch. Is rogha isteach é rianú iarratas líonra.
Suiteáil
Swift Package Manager
In Xcode, téigh go File → Add Package Dependencies agus cuir isteach:
https://github.com/kixoio/kixo-ios-sdkMá bhainistíonn tú spleáchais in Package.swift, úsáid an pacáiste scaoilte dénártha agus an táirge seo:
dependencies: [
.package(
url: "https://github.com/kixoio/kixo-ios-sdk",
from: "1.0.21"
),
],
targets: [
.target(
name: "YourApp",
dependencies: [
.product(name: "Kixo", package: "kixo-ios-sdk"),
]
)
]Cumraigh
Tosaigh Kixo i do struct App SwiftUI nó i AppDelegate:
import Kixo
@main
struct MyApp: App {
init() {
Kixo.configure(
projectId: "YOUR_PROJECT_ID",
apiKey: "YOUR_API_KEY"
)
}
var body: some Scene {
WindowGroup { ContentView() }
}
}Nóta
Is leor líne amháin. Úsáideann an SDK an timpeallacht táirgthe de réir réamhshocraithe, úsáideann sé an t-óstach ingest bainistithe, agus cuireann sé na gnáth-lorgairí uathoibríocha ar siúl. Ná sáraigh bratacha aonair le ConfigurationOptions(...) ach nuair is gá.
Roghanna cumraíochta
Kixo.configure(
projectId: "YOUR_PROJECT_ID",
apiKey: "YOUR_API_KEY",
options: ConfigurationOptions(
autoTrackScreens: true,
autoTrackTaps: true,
autoTrackNetwork: false,
autoTrackCrashes: true,
autoTrackSessions: true,
autoTrackPush: true,
sessionTimeout: 30,
flushInterval: 30,
flushAt: 20,
maxBufferSize: 200,
// apiHost: nil → managed Kixo ingest host
// debug: nil → true in DEBUG, false otherwise
// environment: nil → production
)
)Nóta
Cumraíocht faoi rialú an fhreastalaí. Is féidir gach bratach in aghaidh an lorgaire a athrú freisin ó leathanach Settings → Data Collection ar do phainéal. Is féidir le socruithe an tionscadail na réamhshocruithe áitiúla a shárú.
Imeachtaí uathrianaithe
screen_view— teacht aníos láithreach rialtóirí amhairc UIKit + nascleanúint SwiftUIscreen_visit— cuairt struchtúrtha a dhúnann ar nascleanúint nó sa chúlra, le fad fanachta, comhaireamh rannpháirtíochta, aitheantas scáileáin agus meiteashonraí sreafasession_start/session_endtap— tapálacha cnaipe agus aithneoirí gothaícrash— diagnóisic tuairteála agus eisceachta a gabhadhnetwork— comhiomláin roghnacha slánaithe d’iarratais agus diagnóisic bealaighpush_received/push_open/push_dismissed/push_silent/push_action— saolré iomlán pushpush_permission/push_token_invalidatedlifecycle— aistrithe tulra / cúlra / seoladh aip
Imeachtaí saincheaptha
Kixo.track("purchase_completed", properties: [
"product_id": "SKU-123",
"amount": 49.99,
"currency": "USD",
])Cúntóirí imeachta clóscríofa
Áis áise os cionn Kixo.track do na himeachtaí a aithníonn Kixo de réir ainm (purchase, signup, subscribe_start, trial_start, cancel, upgrade, activation, share, invite). Bailíochtú ar chruth na n-airíonna ag am tiomsaithe, agus foinse amháin fírinne d’ainmneacha eochracha — meaitseálann brathadóir imeachtaí caighdeánacha an chúilchórais go litriúil iad.
Kixo.trackPurchase(
amount: 49.99,
currency: "USD",
productId: "pro_yearly"
)
Kixo.trackSubscriptionStart(
plan: "pro",
amount: 9.99,
currency: "USD",
interval: .month
)
Kixo.trackSignup(method: "google")
Kixo.trackTrialStart(plan: "pro", days: 14)
Kixo.trackCancel(plan: "pro", reason: "too_expensive")
Kixo.trackUpgrade(fromPlan: "free", toPlan: "pro")
Kixo.trackActivation(event: "first_post_published")
Kixo.trackShare(channel: "twitter", contentId: "post_123")
Kixo.trackInvite(channel: "email", recipientCount: 5)Aithin úsáideoirí
Bíonn réimír $ ar eochracha caighdeánacha airíonna atá forchoimeádta (gnás Mixpanel) ionas go bhfanann siad i spás ainmneacha ar leithligh ó do thréithe saincheaptha féin agus go gcuirtear chun cinn iad chuig colúin phróifíle an phainéil. Úsáid an enum clóscríofa StandardProperty nó an teaghrán amh le réimír $ — féach Catalóg chaighdeánach na n-airíonna thíos don liosta iomlán de 37 eochair.
Kixo.identify("user_123", traits: [
"$email": "jane@example.com", // identity
"$name": "Jane Doe", // identity
"$plan": "pro", // subscription pack
"$lifetime_orders": 12, // e-commerce pack
"signup_source": "twitter_ad" // custom trait
])Clibeáil úsáideoir le haghaidh deighilte
Úsáid setUserProperty le luach boole chun clib shimplí tá/níl a cheangal leis an úsáideoir. Fanann an chlib sin i bhfeidhm thar sheisiúin agus cumhachtaíonn sí deighleoga, feachtais ríomhphoist agus cuardaigh sa chomhrá — gan aon socrú eile seachas an glao SDK.
// Tag a user as subscribed — segments + campaigns can target this
Kixo.setUserProperty("subscribe", value: true)
// VIP membership
Kixo.setUserProperty("vip", value: true)
// String + numeric values work too
Kixo.setUserProperty("plan_tier", value: "enterprise")
Kixo.setUserProperty("lifetime_orders", value: 42)
// Bulk-set
Kixo.setUserProperties([
"subscribe": true,
"plan_tier": "enterprise",
])Coimeádtar na hairíonna in UserDefaults trasna seoltaí agus gabhann siad go huathoibríoch le gach imeacht amach. Sa chomhrá, abair rudaí cosúil le "seol ríomhphost fáilte chuig úsáideoirí a bhfuil subscribe fíor acu" — cruthaíonn Kixo an deighleog agus dréachtaíonn sé an teimpléad duit. Glantar iad ar Kixo.reset().
Catalóg chaighdeánach na n-airíonna
Bíonn réimír $ ar eochracha airíonna forchoimeádta ionas go bhfanann siad i spás ainmneacha ar leithligh ó do thréithe saincheaptha. Clúdaíonn catalóg Kixo 37 eochair thar 3 phacáiste uilíocha (aitheantas, geo, saolré) agus 5 phacáiste ingearacha B2B (síntiús, ríomhthráchtáil, meáin, margadh, dílseacht). Socraigh na cinn a bhaineann le do tháirge — oiriúnaíonn an painéal agus ní thaispeánann sé ach na pacáistí a líonann tú.
Aitheantas
Baineann sé i gcónaí. Socraíonn sé colúin cheanntásc an phróifíle.
| Eochair | Cineál | Cur síos |
|---|---|---|
$email | teaghrán | An príomhsheoladh ríomhphoist, agus is minic gurb é an eochair chumaisc é le haghaidh fuaite aitheantais. |
$phone | teaghrán | Uimhir theileafóin E.164. |
$name | teaghrán | Ainm taispeána iomlán. |
$first_name | teaghrán | Ainm baiste. |
$last_name | teaghrán | Sloinne. |
$avatar_url | teaghrán | URL iomlán chuig íomhá avatar an úsáideora. |
Geo
Comhthéacs geografach.
| Eochair | Cineál | Cur síos |
|---|---|---|
$country | teaghrán | Cód tíre de réir ISO 3166. |
$city | teaghrán | Ainm cathrach. |
$region | teaghrán | Stát nó cúige. |
$timezone | teaghrán | Crios IANA ar nós America/Los_Angeles. |
$language | teaghrán | Clib IETF ar nós en nó ru-RU. |
$locale | teaghrán | Aitheantóir locale iomlán. |
Saolré
Cathain a chonaiceamar iad.
| Eochair | Cineál | Cur síos |
|---|---|---|
$created | ISO8601 | Am clárúcháin nó cruthaithe cuntais. |
$last_seen | ISO8601 | An t-am rannpháirtíochta is déanaí. |
Síntiús
Socraigh é seo má tá pleananna ag do tháirge.
| Eochair | Cineál | Cur síos |
|---|---|---|
$plan | teaghrán | Slug sraithe — free, pro, enterprise. |
$subscription_status | teaghrán | active / trial / cancelled / past_due. |
$trial_ends | ISO8601 | Cathain a rachaidh an triail reatha in éag. |
$mrr | uimhir | Ioncam athfhillteach míosúil in airgeadra an chuntais. |
$subscription_started | ISO8601 | Cathain a thosaigh an síntiús reatha. |
Ríomhthráchtáil
Socraigh é seo má dhíolann tú táirgí.
| Eochair | Cineál | Cur síos |
|---|---|---|
$lifetime_orders | uimhir | Líon na n-orduithe críochnaithe. |
$lifetime_revenue | uimhir | Caiteachas iomlán. |
$aov | uimhir | Meánluach an ordaithe. |
$last_purchase | ISO8601 | An ceannach rathúil is déanaí. |
$first_purchase | ISO8601 | An chéad cheannach rathúil. |
$cart_abandoned_count | uimhir | Líon iomlán na dtréigean ciseáin. |
Meáin
Socraigh é seo má fhoilsíonn tú ábhar.
| Eochair | Cineál | Cur síos |
|---|---|---|
$content_tier | teaghrán | free / premium / paid. |
$subscribed_categories | Teaghrán CSV nó eagar | Catagóirí a leanann an t-úsáideoir. |
$watch_time_total | uimhir | An t-am faire iomlán i soicindí. |
$last_played | ISO8601 | An tús athsheinm is déanaí. |
Margadh
Socraigh é seo más ardán déthaobhach thú.
| Eochair | Cineál | Cur síos |
|---|---|---|
$seller_tier | teaghrán | Slug na sraithe ar thaobh an díoltóra. |
$buyer_tier | teaghrán | Slug leibhéil ar thaobh an cheannaitheora. |
$listings_count | uimhir | Liostuithe gníomhacha atá ag an úsáideoir. |
$reviews_count | uimhir | Na léirmheasanna a fuair an t-úsáideoir. |
$verified | boole | Stádas KYC. |
Dílseacht
Socraigh é seo do chláir rannpháirtíochta agus luaíochtaí.
| Eochair | Cineál | Cur síos |
|---|---|---|
$loyalty_points | uimhir | Iarmhéid reatha pointí infhuascailte. |
$vip_level | teaghrán | Slug sraithe VIP. |
$referral_count | uimhir | Atreoruithe rathúla curtha i leith an úsáideora seo. |
Leid
Nach bhfeiceann tú do phatrún? Úsáid eochracha loma do thréithe saincheaptha. Beidh siad le feiceáil i bpainéal Custom Traits na deaise gan colúin an phróifíle a thruailliú. Is buillí tuairime iad na 5 phacáiste ingearacha thuas faoi na cruthanna B2B is coitianta — fanann téarmaíocht atá sonrach don chustaiméir (m.sh. shipping_plan) lom.
Sár-airíonna
Péirí eochrach/luacha in aghaidh an tseisiúin a ghabhann go huathoibríoch le gach imeacht amach. Tá siad difriúil ó thréithe identify (a chuireann síos ar an aitheantas); cuireann sár-airíonna síos ar chomhthéacs an tseisiúin — malairt ghníomhach A/B, cineál build, bratacha gné ar roghnaíodh isteach iontu. Coimeádtar iad in UserDefaults trasna seoltaí; glantar iad ar reset(). Bíonn properties in aghaidh an imeachta ar track i réim i gcónaí má thagann eochracha salach ar a chéile.
Kixo.setSuperProperty("build_flavor", value: "beta")
Kixo.setSuperProperties([
"ab_variant": "B",
"referrer_campaign": "autumn-launch",
])
// Sugar for A/B tracking — keys as 'experiment_<id>'.
Kixo.setExperimentVariant("checkout_v2", variant: "variant_a")
Kixo.unsetSuperProperty("build_flavor")
Kixo.clearSuperProperties()Rianú scáileáin SwiftUI
Déantar amhairc scáileáin SwiftUI a rianú go huathoibríoch nuair is féidir leis an SDK ainm amhairc a réiteach. Le haghaidh smacht níos mine nó ainmneacha saincheaptha, úsáid an modhnóir amhairc .kixoScreen():
struct HomeView: View {
var body: some View {
VStack { Text("Welcome") }
.kixoScreen("HomeView")
}
}Athsheinm seisiúin
Atógann Athsheinm an méid a chonaic an t-úsáideoir i ndáiríre — gabhann an SDK frámaí picteilíní den scáileán (ionchódaithe le HEIC) mar aon le léargas struchtúrach den ordlathas amhairc, agus fuaileann seinnteoir an phainéil le chéile iad ina athsheinm inscroite taobh leis an amlíne imeachtaí. Cumraigh Athsheinm don tionscadal in Deais → Socruithe → Athsheinm seisiúin; léann an SDK an polasaí sin go huathoibríoch agus déanann sé é a athnuachan fad is atá an aip ag rith.
Kixo.configure(
projectId: "YOUR_PROJECT_ID",
apiKey: "YOUR_API_KEY"
)Rialaíonn an painéal cibé acu atá Athsheinm cumasaithe, an mhascáil, na modhanna gabhála, agus cibé acu is ceadmhach d’Athsheinm dhúchasach uaslódáil thar líonra ceallach. Má tá uaslódáil cheallach díchumasaithe, is féidir frámaí a ghabháil fós i maolán teoranta ar an ngléas; fanann an uaslódáil go mbeidh líonra ceadaithe ar fáil.
Gabhann an SDK na sonraí atá cumasaithe i do thionscadal, chomh maith leis na himeachtaí agus na hairíonna a sheolann d’aip.
Mascáil agus príobháideacht
Ós rud é go ngabhann athsheinm picteilíní, tarlaíonn ceilt sonraí ar an ngléas roimh sula n-ionchódaítear fráma ar bith riamh. Aimsítear pasfhocail agus réimsí íogaire eile go huathoibríoch agus ceiltítear iad, agus téann an téacs a ghabhtar sa léargas struchtúrach trí scagaire PII. Chun aon rud saincheaptha a cheilt — snáithe teachtaireachtaí príobháideacha, iarmhéid cuntais, dréachtscáileán — socraigh kxRedact ar an amharc. Déanann Kixo dronuilleog dhaingean a rastarú thar theorainneacha an amhairc sin roimh ionchódú HEIC, mar sin ní fhágann a chuid picteilíní an gléas riamh.
balanceLabel.kxRedact = true
cardNumberField.kxRedact = trueLeid
Cuireann tapálacha a ghabhtar ar scáileáin athsheinnte leis an heatmap soghluaiste ar an bpainéal freisin, ionas go bhfeiceann tú cá dtéann úsáideoirí i dteagmháil le gach scáileán gan aon socrú breise SDK. Tá Athsheinm faoi réir phlean do thionscadail; nuair nach bhfuil gabháil frámaí ar fáil, taifeadann an SDK meiteashonraí an tseisiúin fós gan sruth na bhfrámaí a uaslódáil.
Fógraí push
Suiteálann an SDK seachfhreastalaí AppDelegate ag am rite ar Kixo.configure — gabhtar brúfhógraí ciúine (content-available: 1) agus brúfhógraí infheicthe a sheachadtar sa chúlra go huathoibríoch. Níl aon chód ag teastáil i do AppDelegate. Leanann na cur i bhfeidhm UNUserNotificationCenterDelegate atá agat cheana ag rith mar is gnách; fillteann Kixo timpeall orthu.
Cláraigh comhartha an ghléis tríd an ngnáth-didRegisterForRemoteNotificationsWithDeviceToken:
func application(
_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data
) {
let token = deviceToken.map { String(format: "%02x", $0) }.joined()
Kixo.setPushToken(token)
}Má úsáideann an aip Firebase Messaging, cuir a chomhartha clárúcháin ar aghaidh le provider: .firebase. Stórálann Kixo an soláthraí sin agus seachadann sé trí FCM HTTP v1; cumraigh cuntas seirbhíse Firebase na haipe in Kixo sula seolann tú feachtais.
func messaging(_ messaging: Messaging, didReceiveRegistrationToken token: String?) {
guard let token else { return }
Kixo.setPushToken(token, provider: .firebase)
}Seachadadh agus iompar as líne
Cuireann an SDK imeachtaí i scuaine go háitiúil, seolann sé i mbaisceanna iad, agus déanann sé iarracht eile ar theipeanna sealadacha le backoff. Má chuirtear an bailiúchán ar sos ó shocruithe an tionscadail, ní sheolfar imeachtaí nua go dtí go gcumasófar an bailiúchán arís.
Diagnóisic
Léargas sláinte inléite amháin. Úsáideach ar scáileáin dífhabhtaithe nó i smoke tests — freagraíonn sé “cén fáth nach bhfuil mo chuid imeachtaí ag sreabhadh?” gan dífhabhtóir.
let diag = Kixo.diagnostics()
print(diag.queue.bufferedEventCount) // events waiting to flush
print(diag.paused) // collection paused state
print(diag.environment) // configured environment
print(diag.apiHost) // configured ingest hostFórsaigh flush (le haghaidh tástálacha)
Leagan sioncrónach a chuireann blocáil suas le timeout soicind fad is atá flush á chríochnú. Deartha do fhixiúir XCTest — ná glaoigh air seo ón bpríomhshnáithe riamh.
func testEventLanded() {
Kixo.track("test_event")
let landed = Kixo.flush(timeout: 5.0)
XCTAssertTrue(landed)
}Athshocraigh
Glan an t-aitheantas, na sár-airíonna agus an scuaine bhuan. Glaoigh air seo ar logáil amach ionas nach gcuirfear imeachtaí ina dhiaidh sin i leith an úsáideora roimhe seo.
Kixo.reset()