Catch up on highlights from Firebase at Google I/O 2023. Learn more

Firebase Uygulama İçi Mesajlaşma mesajlarınızı özelleştirin

Firebase Uygulama İçi Mesajlaşma, varsayılan bir görünüm ve hisle önceden yapılandırılmış kullanışlı bir dizi davranış ve mesaj türü sağlar, ancak bazı durumlarda davranışları ve mesaj içeriğini genişletmek isteyebilirsiniz. Uygulama İçi Mesajlaşma, mesajlara eylemler eklemenize ve mesajın görünümünü ve hissini özelleştirmenize olanak tanır.

Mesajınıza bir işlem ekleyin

Eylemlerle, 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, eylemleri 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 Uygulama İçi Mesajlaşma başka bir kurulum yapmadan bunu kullanabilir. Henüz bir işleyiciniz yoksa Firebase Dynamic Links'i kullanabilirsiniz. Daha fazla bilgi edinmek için iOS'ta Dinamik Bağlantılar Oluşturun bölümünü okuyun.

Firebase konsolunu kullanarak eylemi mesajınıza ekleyin

Uygulamanızın bir bağlantı işleyicisi olduğunda, eylem içeren bir kampanya oluşturmaya hazırsınız demektir. Firebase konsolunu Messaging'e açın ve yeni bir kampanya başlatın veya mevcut bir kampanyayı düzenleyin. Bu kampanyada, eylemin alakalı bir derin bağlantı olduğu bir Kart , Düğme metni ve Düğme eylemi , bir Resim işlemi veya bir Afiş işlemi sağlayın.

Eylemin biçimi, seçtiğiniz mesaj düzenine bağlıdır. Modal'lar, özelleştirilebilir düğme metin içeriği, metin rengi ve arka plan rengi ile işlem düğmeleri alır. Öte yandan, görseller ve üst başlıklar etkileşimli hale gelir ve dokunulduğunda belirtilen eylemi başlatır.

Mesaj görünümünü ve hissini değiştirin

Firebase Uygulama İçi Mesajlaşma, uygulamanızın mesajların düzenini, yazı tipi stillerini, düğme şekillerini ve diğer ayrıntıları işleme şeklini değiştirmek için mesaj görünümlerini özelleştirmenize olanak tanır. Mesaj görüntülerini değiştirmenin iki yolu vardır: varsayılan Firebase Uygulama İçi Mesajlaşma ekranlarını değiştirin veya sıfırdan kendi mesaj görüntüleme kitaplığınızı oluşturun.

Not: Bu ürün macOS, Mac Catalyst, App Clip veya watchOS hedeflerinde mevcut değildir.

Varsayılan ekranları değiştir

Mesajlarınızı özelleştirmenin en basit yolu, Firebase Uygulama İçi Mesajlaşma'nın varsayılan mesaj görüntüleme kodunu oluşturmaktı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 mesaj türlerini seçin

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

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

Tip başlıkMetin gövde metni metinRengi arka plan rengi görüntü verisi eylemDüğmesi ikincilAksiyonDüğmesi
Kart
modal
Afiş
Yalnızca Görüntü

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

Mesaj türü sınırlamalarını göz önünde bulundurarak, bunları istediğiniz gibi değiştirmekte özgürsünüz. Uygulamanızın alt kısmında görüntülenen bir şerit oluşturabilir, bir moddaki işlem düğmesini hareket ettirebilir, uygulama içi mesajı bir kullanıcının akışına gömebilir veya mesajların görünüşünü ve hissini uygulamanıza uygun hale getirecek başka herhangi bir değişiklik yapabilirsiniz. .

Mesaj görüntülerini değiştirirken dikkat edilmesi gereken iki ana şey vardır:

  • İleti türü dizinleri: Her ileti türünün, o türün mantığını belirleyen dosyaları içeren ayrı bir dizini vardır:
  • Storyboard: InAppMessaging kitaplığında ayrıca, üç mesaj türünün tümü için kullanıcı arabirimini tanımlamaya yardımcı olan bir .storyboard dosyası bulunur:

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

Değiştirilmiş InAppMessaging kodunuzu kullanmak için pod 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, özelleştirilmiş InAppMessaging kitaplığınızı kullanmak üzere pod dosyanızı 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
Bunu yaptıktan sonra bölmelerinizi güncelleyebilir, uygulamanızı yeniden oluşturabilir ve yeni, özelleştirilmiş mesaj ekranlarınızı görebilirsiniz.

Kendi mesaj görüntüleme kitaplığınızı oluşturun

Mesajları görüntülemek için bir kullanıcı arabirimi oluşturmak üzere InAppMessaging kitaplığından çalışmakla sınırlı değilsiniz. Kendi kodunuzu sıfırdan da yazabilirsiniz.

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

Firebase Uygulama İçi Mesajlaşma, 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örüntülemek 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ğına ilişkin belgeler, InAppMessaging kitaplığının FIRInAppMessagingDisplay.h dosyasındadır.

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

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 nesnesine ayarlayın, böylece Firebase Uygulama İçi Mesajlaşma, mesajları işlemek için kitaplığınızı kullanmayı bilir:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance