Firebase uygulama içi mesajlaşma mesajlarınızı özelleştirin


Firebase Uygulama İçi Mesajlaşma, varsayılan görünüm ve tarzda önceden yapılandırılmış kullanışlı bir davranış ve mesaj türleri grubu sunar. Ancak bazı durumlarda davranışları ve mesaj içeriğini genişletmek isteyebilirsiniz. Uygulama içi mesajlaşma, mesajlara işlem eklemenize ve mesajların 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.

Firebase In-App Messaging işlemleri işlemek için bağlantı işleyicileri kullanır. SDK, çeşitli işleyicileri 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 herkese açık kullanıcı adınız yoksa Firebase Dynamic Links kullanabilirsiniz. Daha fazla bilgi edinmek için iOS'te Dinamik Bağlantılar oluşturma başlıklı makaleyi okuyun.

Firebase konsolunu kullanarak işlemi iletinize ekleyin.

Uygulamanızda bir bağlantı işleyici olduğunda, işlem içeren bir kampanya oluşturmaya hazırsınız demektir. Firebase konsolunu açıp Mesajlaşma'ya gidin ve yeni bir kampanya başlatın veya mevcut bir kampanyayı düzenleyin. Bu kampanyada, işlemin alakalı bir derin bağlantı olduğu bir 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 rengine sahip 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ştirerek 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ştirmenize olanak tanır. 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.

Not: Bu ürün macOS, Mac Catalyst, App Clip veya watchOS hedeflerinde kullanılamaz.

Varsayılan gösterimleri değiştirme

İletilerinizi özelleştirmenin en kolay yolu, Firebase In-App Messaging'nın varsayılan ileti 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

Klonlanan depoda 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ün erişebileceği veri grubu farklıdır ve Firebase konsolundaki kampanya özelleştirme seçenekleriyle belirlenir:

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, modal üzerindeki işlem düğmesini taşıyabilir, 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 temel 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: InAppMessaging kitaplığında, üç mesaj türünün tümü için kullanıcı arayüzünü tanımlamaya yardımcı olan bir .storyboard dosyası 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ını sağlamak 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
Bu işlem tamamlandıktan sonra kapsüllerinizi güncelleyebilir, uygulamanızı yeniden oluşturabilir ve yeni, özelleştirilmiş mesaj görüntülemelerinizi görebilirsiniz.

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. 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 görüntüleme 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 belgeler, InAppMessaging kitaplığının FIRInAppMessagingDisplay.h dosyasında yer alır.

messageDisplayComponent uygulamasını, mesaj görüntüleme kitaplığınızı kullanacak şekilde 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