PushizoDocs
SDK rehberleri

Kotlin Multiplatform

com.pushizo:pushizo-kmp — ortak Kotlin kodundan yerel Android SDK'sını çağırır. Android hedefi hazır; iOS hedefi ve Maven Central yayını hazırlanıyor.

Kaynak: sdk/kmp-mobile, örnek: examples/kmp-app. Paket mantığı yeniden yazmaz, her platformda yerel SDK'ya devreder; teslimat, kuyruk, oturum ve in-app çizimi yerel SDK'da kalır.

Durum: Android hedefi hazır. iOS hedefi henüz yok, iOS SDK'nın Objective-C köprüsünü bekliyor. Paket iOS hedefiyle birlikte Maven Central'a çıkacak; o zamana kadar kaynaktan kullanılır.

Sunucudan bildirim göndermek için bu paket değil, sunucu istemcisi kullanılır.

Kurulum (kaynaktan)

settings.gradle.kts:

includeBuild("../pushizo/sdk/kmp-mobile")

Ortak modülün build.gradle.kts dosyası:

kotlin {
    sourceSets {
        commonMain.dependencies {
            api("com.pushizo:pushizo-kmp:0.1.0")
        }
    }
}

Android tarafında FCM kurulumu yerel SDK ile aynıdır: google-services.json ve com.google.gms.google-services eklentisi (Android).

Kullanım

Başlatma Application.onCreate içinde yapılır; PushizoContext Android'de Context türüdür:

Pushizo.initialize(context, "app_…", PushizoOptions())

Bundan sonraki çağrılar ortak koddan yapılabilir:

Pushizo.login("user_42")
Pushizo.User.addTags(mapOf("plan" to "pro"))
Pushizo.User.addEmail("ali@ornek.com")
Pushizo.Session.sendEvent("purchase", mapOf("sku" to "a1"), value = 49.9)
Pushizo.InAppMessages.addTrigger("level", "gold")

val clicks = Pushizo.Notifications.addClickListener { event ->
    println(event.notification.title)
}
clicks.remove()

Bildirim izni

İzin istemi platform nesnesi ister; PushizoPermissionHost Android'de Activity türüdür. Android'de sonuç ayrıca bildirilir, yoksa abonelik ve izin gözlemcileri güncellenmez:

Pushizo.Notifications.requestPermission(activity)

override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults)
    Pushizo.Notifications.onPermissionResult()
}

Kapsam

Ortak API: başlatma, gizlilik onayı, login / logout, JWT yenileme, etiket, takma ad, dil, e-posta ve SMS, push aboneliği, bildirim izni, tıklama ve ön plan dinleyicileri, olaylar, in-app tetikleri ve konum paylaşımı.

Bildirim kutusu, tercih merkezi, canlı sohbet ve özel in-app çizici ortak API'de yok. Android'de androidMain içinden com.pushizo.sdk.Pushizo ile doğrudan çağrılır.

Bu sayfada