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

Firebase Uygulama İçi Mesajlaşma, varsayılan görünüm ve tarza sahip, önceden yapılandırılmış bir dizi davranış ve mesaj türü sunar. Ancak bazı durumlarda davranışları ve mesaj içeriğini genişletmek isteyebilirsiniz. Uygulama İçi Mesajlaşma, mesajlara işlem eklemenizi ve mesajın görünümünü ve tarzını özelleştirmenizi sağlar.

İletinize işlem ekleyin

İşlemlerle, kullanıcıları bir web sitesine veya uygulamanızdaki belirli bir ekrana yönlendirmek için uygulama içi mesajlarınızı kullanabilirsiniz.

Firebase Uygulama İçi Mesajlaşma, işlemleri işlemek için bağlantı işleyicileri kullanır. SDK'da çeşitli işleyiciler kullanılabilir. Bu nedenle, uygulamanızda zaten bir işleyici varsa Firebase Uygulama İçi Mesajlaşma bunu başka herhangi bir kurulum gerekmeden kullanabilir. Henüz işleyiciniz yoksa Firebase Dynamic Links'i kullanabilirsiniz. Daha fazla bilgi için iOS'te Dinamik Bağlantılar Oluşturma konusunu okuyun.

Firebase konsolunu kullanarak işlemi mesajınıza ekleyin.

Uygulamanızda 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 Kart, Düğme metni ve Düğme işlemi, Resim işlemi veya Banner işlemi sağlayın. Bu işlemde işlem alakalı bir derin bağlantı olur.

İşlemin biçimi, seçtiğiniz mesaj düzenine bağlıdır. Kalıcı öğeler; özelleştirilebilir düğme metin içeriği, metin rengi ve arka plan rengi içeren işlem düğmeleri alır. Öte yandan, resimler ve üst kısımdaki banner'lar etkileşimli hale gelir ve dokunulduğunda belirtilen işlemi çağırır.

İletinin görünümünü ve tarzını değiştirme

Firebase Uygulama İçi Mesajlaşma sayesinde mesaj ekranlarını, uygulamanızın mesajların düzenini, yazı tipi stillerini, düğme şekillerini ve diğer ayrıntıları oluşturma şeklini değiştirecek şekilde özelleştirebilirsiniz. Mesaj ekranlarını değiştirmenin iki yolu vardır: varsayılan Firebase Uygulama İçi Mesajlaşma ekranlarını değiştirebilir veya sıfırdan kendi mesaj görüntüleme kitaplığınızı oluşturabilirsiniz.

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

Varsayılan ekranları değiştir

Mesajlarınızı özelleştirmenin en dolaysız yolu, Firebase Uygulama İçi Mesajlaşma'nın varsayılan mesaj görüntüleme kodunu temel almaktır.

firebase-ios-sdk deposunu klonlama

Başlamak için firebase-ios-sdk deposunun en son sürümünü klonlayın ve InAppMessaging dizinini açın.

Değiştirilecek mesaj türlerini seçin

Depo klonlandıktan sonra Firebase Uygulama İçi Mesajlaşma mesaj türlerinden herhangi birini veya tümünü değiştirebilirsiniz: Card, Modal, Banner ve ImageOnly. Her tür, Firebase Uygulama İçi Mesajlaşma kampanyası oluşturma akışında bir mesaj düzenine karşılık gelir.

Buna göre her türün, Firebase konsolundaki kampanya özelleştirme seçenekleriyle belirlenen farklı bir veri kümesine erişimi vardır:

Tür başlıkMetin bodyText metin Rengi arka plan Rengi resimVerisi işlemdüğmesi ikincilİşlemDüğmesi
Kart
Kalıcı
Banner
Yalnızca Resim

Mesaj görüntüleme oluşturma kodunu değiştirme

Mesaj türüyle ilgili sınırlamaları göz önünde bulundurarak bunları istediğiniz gibi değiştirebilirsiniz. Uygulamanızın alt kısmında görüntülenen bir banner oluşturabilir, kalıcı öğedeki işlem düğmesinin etrafında hareket edebilir, uygulama içi mesajı bir kullanıcının feed'ine yerleştirebilir veya mesajların görünümünü ve tarzını uygulamanıza uygun hâle getirecek başka bir değişiklik yapabilirsiniz.

İleti görüntülerini değiştirirken dikkat edilmesi gereken iki ana husus vardır:

  • İleti türü dizinleri: Her ileti türü, söz konusu türün mantığını belirleyen dosyaların bulunduğu ayrı bir dizine sahiptir:
  • Resimli taslak: InAppMessaging kitaplığında, üç mesaj türü için de kullanıcı arayüzünün tanımlanmasına yardımcı olan bir .storyboard dosyası bulunur:

Özel mesajınızı oluşturmak için tercih ettiğiniz mesaj türlerinin dizinlerindeki ve .storyboard'nin ilgili bölümlerindeki dosyaları değiştirin.

Değiştirilmiş InAppMessaging kodunuzu kullanmak için Podfile dosyanızı güncelleyin

Firebase Uygulama İçi Mesajlaşma'nın varsayılan ekranlar yerine değiştirilmiş mesaj ekranlarınızı 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
Ardından kapsüllerinizi güncelleyebilir, uygulamanızı yeniden oluşturabilir ve yeni, özelleştirilmiş mesaj görüntülerinizi 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şturmak üzere InAppMessaging kitaplığından çalışmayla sınırlı değilsiniz. Sıfırdan kendi kodunuzu da yazabilirsiniz.

InAppMessagingDisplay protokolünü uygulayan bir sınıf oluşturun

Firebase Uygulama İçi Mesajlaşma, Firebase sunucuları ve uygulamanız arasındaki iletişimi yönetmek için InAppMessaging sınıfını kullanır. Ayrıca bu sınıf, aldığı mesajları görüntülemek için InAppMessagingDisplay protokolünü kullanır. Kendi görüntü 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ındadır.

messageDisplayComponent uygulamasını, mesaj görüntüleme kitaplığınızı kullanacak şekilde ayarlama

InAppMessaging, mesajları görüntülerken 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 Uygulama İçi Mesajlaşma, mesajları oluşturmak için kitaplığınızı kullanacağını bilir:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance