Firebase uygulama içi mesajlaşma, varsayılan görünüm ve tarzda önceden yapılandırılmış bir dizi faydalı davranış ve mesaj türü sunar. Ancak bazı durumlarda davranışları ve mesaj içeriğini genişletmek isteyebilirsiniz. Uygulama içi mesajlaşma özelliği, iletilere işlem eklemenize ve iletilerin görünümünü özelleştirmenize olanak tanır.
İletinize işlem ekleme
İşlemler sayesinde, uygulama içi mesajlarınızı kullanarak kullanıcıları bir web sitesine veya uygulamanızdaki belirli bir ekrana yönlendirebilirsiniz.
Derin bağlantı işleyici uygulama
Firebase In-App Messaging, işlemleri işlemek için bağlantı işleyicileri kullanır. SDK, bir dizi işleyici kullanabilir. Bu nedenle, uygulamanızda zaten bir işleyici varsa Firebase In-App Messaging, başka bir kurulum yapmadan bu işleyiciyi kullanabilir. Henüz bir işleyiciniz yoksa Firebase Dynamic Links kullanabilirsiniz. Daha fazla bilgi için iOS'te Dinamik Bağlantılar Oluşturma başlıklı makaleyi inceleyin.
Firebase konsolunu kullanarak mesajınıza işlemi ekleyin.
Uygulamanızda bir bağlantı işleyici olduğunda, işlem içeren bir kampanya oluşturmaya hazırsınız demektir.
Firebase konsolunda DevOps & Engagement (DevOps ve Etkileşim) > Messaging (Mesajlaşma) bölümüne gidin.
Yeni bir kampanya oluşturmak için iş akışını başlatın:
Bu ilk kampanyanızsa:
- İlk kampanyanızı oluşturun'u tıklayın.
- Firebase uygulama içi mesajları'nı seçip Oluştur'u tıklayın.
Daha önce kampanya oluşturduysanız:
- Kampanyalar sekmesinde Yeni kampanya'yı tıklayın.
- Uygulama İçi Mesajlaşma'yı seçin.
Kampanyayı oluşturmak için ekrandaki talimatları uygulayın.
İşlemin alakalı bir derin bağlantı olduğu Kart, Düğme metni ve Düğme işlemi, Resim işlemi veya Banner işlemi sağlayın.
İşlemin biçimi, seçtiğiniz mesaj düzenine bağlıdır. Modallara, özelleştirilebilir düğme metni içeriği, metin rengi ve arka plan rengi içeren işlem düğmeleri eklenir. Bununla birlikte, resimler ve üst banner'lar etkileşimli hale gelir ve dokunulduğunda belirtilen işlemi başlatır.
İletinin görünümünü ve tarzını değiştirme
Firebase In-App Messaging, mesaj görüntülerini özelleştirmenize olanak tanıyarak uygulamanızın mesajların düzenini, yazı tipi stillerini, düğme şekillerini ve diğer ayrıntılarını oluşturma şeklini değiştirir. Mesaj gösterimlerini değiştirmenin iki yolu vardır: Varsayılan Firebase In-App Messaging gösterimleri değiştirebilir veya kendi mesaj gösterim kitaplığınızı sıfırdan oluşturabilirsiniz.
Varsayılan görüntüleri değiştirme
Mesajlarınızı özelleştirmenin en basit yolu, Firebase In-App Messaging'nın varsayılan mesaj görüntüleme kodunu temel almaktır.
firebase-ios-sdk deposunu klonlayın
Başlamak için firebase-ios-sdk deposunun en son sürümünü klonlayın ve InAppMessaging dizinini açın.
Değiştirilecek ileti türlerini seçin
Depo klonlandıktan sonra Firebase In-App Messaging mesaj türlerinin herhangi birini veya tümünü değiştirebilirsiniz:
Card, Modal, Banner ve ImageOnly. Her tür, Firebase In-App Messaging kampanya oluşturma akışındaki bir mesaj düzenine karşılık gelir.
Dolayısıyla her tür, Firebase konsolundaki kampanya özelleştirme seçenekleriyle belirlenen farklı bir veri grubuna erişebilir:
| Tür | titleText | bodyText | textColor | backgroundColor | imageData | actionButton | secondaryActionButton |
|---|---|---|---|---|---|---|---|
| Kart | |||||||
| Kalıcı | |||||||
| Banner | |||||||
| ImageOnly |
İleti görüntüleme oluşturma kodunu değiştirme
Mesaj türü sınırlamalarını göz önünde bulundurarak bunları istediğiniz gibi değiştirebilirsiniz. Uygulamanızın alt kısmında gösterilen bir banner oluşturabilir, bir modal üzerindeki işlem düğmesini hareket ettirebilir, uygulama içi mesajı kullanıcının feed'ine yerleştirebilir veya mesajların görünümünü ve tarzını uygulamanıza uygun hale getirecek başka bir değişiklik yapabilirsiniz.
İleti gösterimlerini değiştirirken dikkat etmeniz gereken iki ana nokta vardır:
- Mesaj türü dizinleri: Her mesaj türünün, bu türün mantığını belirleyen dosyaların bulunduğu ayrı bir dizini vardır:
- Görsel senaryo:
InAppMessagingkitaplığında, üç mesaj türünün tümü için kullanıcı arayüzünü tanımlamaya yardımcı olan bir.storyboarddosyası da bulunur:
Tercih ettiğiniz mesaj türlerinin dizinlerindeki ve .storyboard'nın ilgili bölümlerindeki dosyaları değiştirerek özel mesaj gösterimlerinizi oluşturun.
Değiştirilmiş InAppMessaging kodunuzu kullanmak için pod dosyanızı güncelleyin
Firebase In-App Messaging'nın varsayılan gösterimler yerine değiştirilmiş mesaj gösterimlerinizi kullanması için pod dosyanızı özelleştirilmiş InAppMessaging kitaplığınızı kullanacak şekilde güncelleyin:
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'YourProject' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! # Pods for YourProject pod 'Firebase' # Remove the default InAppMessaging pod: # pod 'Firebase/InAppMessaging' # Overwrite it with a version that points to your local copy: pod `FirebaseInAppMessaging', :path => '~/Path/To/The/Cloned/Repo/' end
Kendi mesaj görüntüleme kitaplığınızı oluşturma
Mesajları görüntülemek için kullanıcı arayüzü oluştururken InAppMessaging kitaplığından çalışmakla sınırlı değilsiniz. Dilerseniz kendi kodunuzu da sıfırdan yazabilirsiniz.
InAppMessagingDisplay protokolünü uygulayan bir sınıf oluşturun.
Firebase In-App Messaging, Firebase sunucuları ile uygulamanız arasındaki iletişimi yönetmek için InAppMessaging sınıfını kullanır. Bu sınıf da aldığı mesajları göstermek için InAppMessagingDisplay protokolünü kullanır.
Kendi ekran kitaplığınızı oluşturmak için protokolü uygulayan bir sınıf yazın.
Protokol tanımı ve buna nasıl uyulacağıyla ilgili dokümanlar, InAppMessaging kitaplığının FIRInAppMessagingDisplay.h dosyasında yer alır.
Mesaj görüntüleme kitaplığınızı kullanmak için messageDisplayComponent uygulamasını ayarlama
InAppMessaging, mesajları gösterirken hangi nesnenin kullanılacağını belirlemek için messageDisplayComponent özelliğini kullanır. Bu özelliği, özel mesaj görüntüleme sınıfınızın bir nesnesi olarak ayarlayın. Böylece Firebase In-App Messaging, mesajları oluşturmak için kitaplığınızı kullanacağını bilir:
InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance