Firebase Uygulama İçi Mesajlaşma, çok az kodlama veya hiç kodlama yapmadan zengin kullanıcı etkileşimleri oluşturmanıza, yapılandırmanıza ve hedeflemenize olanak tanır. Bu sayede, mesajlaşma etkinliklerini gerçek kullanıcı özelliklerine, etkinliklerine ve seçimlerine bağlamak için Google Analytics'ün hazır özelliklerinden yararlanabilirsiniz. Bazı ek Firebase In-App Messaging SDK entegrasyonlarıyla, uygulama içi mesajların davranışını daha da özelleştirebilir, kullanıcılar mesajlarla etkileşime geçtiğinde yanıt verebilir, Analytics çerçevesinin dışında mesaj etkinlikleri tetikleyebilir ve kullanıcıların mesajlaşma etkileşimleriyle ilgili kişisel verilerinin paylaşımını kontrol etmelerine olanak tanıyabilirsiniz.
Kullanıcılar uygulama içi mesajlarla etkileşime geçtiğinde yanıt verme
İşlemler sayesinde, kullanıcıları bir web sitesine veya uygulamanızdaki belirli bir ekrana yönlendirmek için uygulama içi mesajlarınızı kullanabilirsiniz.
Kodunuz temel etkileşimlere (tıklamalar ve kapatmalar), gösterimlere (iletilerinizin doğrulanmış görüntülemeleri) ve SDK tarafından kaydedilen ve onaylanan hataları görüntülemeye yanıt verebilir. Örneğin, mesajınız Kart modülü olarak oluşturulduğunda, kullanıcının Kart'ta iki URL'den hangisini tıkladığını izlemek ve takip etmek isteyebilirsiniz.
Kart etkileşimlerini işlemek için bir DisplayDelegate uygulayın
Uygulama içi mesajla etkileşim olduğunda çağrılacak bir uygulama içi mesaj görüntüleme temsilcisi kaydedebilirsiniz. Bunu yapmak için InAppMessagingDisplayDelegate
protokolüne göre bir sınıf uygulayın ve bu sınıfı InAppMessaging
örneğinde temsilci mülk olarak ayarlayın.
Bir kullanıcının kart stilindeki bir mesajda hangi bağlantıyı tıkladığını izlemek istediğinizi varsayalım. DisplayDelegate
protokolüne göre messageClicked
yöntemini uygulayan bir sınıf tanımlayarak kullanıcının tıkladığı bağlantıya erişebilirsiniz.
Swift
InAppMessagingAction dahil olmak üzere uygulanabilecek geri çağırma yöntemleri ve bunların parametreleri için Swift görüntüleme temsilcisi referansına bakın.
// In CardActionFiamDelegate.swift
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// ...
}
func messageDismissed(_ inAppMessage: InAppMessagingDisplayMessage,
dismissType: FIRInAppMessagingDismissType) {
// ...
}
func impressionDetected(for inAppMessage: InAppMessagingDisplayMessage) {
// ...
}
func displayError(for inAppMessage: InAppMessagingDisplayMessage, error: Error) {
// ...
}
}
// In AppDelegate.swift
// Register the delegate with the InAppMessaging instance
let myFiamDelegate = CardActionFiamDelegate()
InAppMessaging.inAppMessaging().delegate = myFiamDelegate;
Objective-C
FIRInAppMessagingDisplayMessage dahil olmak üzere uygulanabilecek geri çağırma yöntemleri ve parametreleri için Objective-C görüntüleme temsilcisi referansını inceleyin.
// In CardActionFiamDelegate.h
@interface CardActionFiamDelegate : NSObject <FIRInAppMessagingDisplayDelegate>
@end
// In CardActionFiamDelegate.m
@implementation CardActionFiamDelegate
- (void)displayErrorForMessage:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage
error:(nonnull NSError *)error {
// ...
}
- (void)impressionDetectedForMessage:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
// ...
}
- (void)messageClicked:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
// ...
}
- (void)messageDismissed:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage
dismissType:(FIRInAppMessagingDismissType)dismissType {
// ...
}
@end
// In AppDelegate.m
CardActionFiamDelegate *myFiamDelegate = [CardActionFiamDelegate new];
[FIRInAppMessaging inAppMessaging].delegate = myFiamDelegate;
Uygulama içi mesajları programatik olarak tetikleme
Firebase In-App Messaging, varsayılan olarak ek entegrasyon olmadan Firebase için Google Analytics etkinlikleriyle uygulama içi mesajları tetiklemenize olanak tanır. Ayrıca, Firebase In-App Messaging SDK'sının programatik tetikleyicileriyle etkinlikleri programatik olarak manuel olarak da tetikleyebilirsiniz.
Uygulama içi mesajlaşma kampanyası derleyicisinde yeni bir kampanya oluşturun veya mevcut bir kampanyayı seçin. Derleyici iş akışının Planlama adımında, yeni oluşturulan veya mevcut bir mesajlaşma etkinliğinin etkinlik kimliğini not edin. Not ettikten sonra, uygulamanızı etkinliği kimliğine göre tetikleyecek şekilde donatın.
Swift
…
// somewhere in the app's code
InAppMessaging.inAppMessaging().triggerEvent("exampleTrigger");
Objective-C
…
// somewhere in the app's code
[[FIRInAppMessaging inAppMessaging] triggerEvent:@"exampleTrigger"];
Kampanya özel meta verilerini kullanma
Kampanyalarınızda bir dizi anahtar/değer çiftinde özel veriler belirtebilirsiniz. Kullanıcılar mesajlarla etkileşime geçtiğinde bu verileri kullanarak örneğin promosyon kodu gösterebilirsiniz.
Swift
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// Get data bundle from the inapp message
let appData = inAppMessage.appData
// ...
}
}
Objective-C
@implementation CardActionFiamDelegate
- (void)messageClicked:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
appData = inAppMessage.appData
// ...
}
@end
Uygulama içi mesajları geçici olarak devre dışı bırakma
Varsayılan olarak Firebase In-App Messaging, bir uygulamanın mevcut durumundan bağımsız olarak, tetikleyici koşul sağlandığında mesajları oluşturur. Mesajların gösterilmesini herhangi bir nedenle engellemek istiyorsanız (ör. ödeme işleme ekranlarının sırasını kesintiye uğratmamak için) SDK'nın messageDisplaySuppressed
mülkünü burada gösterildiği gibi Objective-C'te kullanın:
[FIRInAppMessaging inAppMessaging].messageDisplaySuppressed = YES;
Mülkün YES
olarak ayarlanması Firebase In-App Messaging'un mesaj göstermesini engellerken NO
, mesaj göstermeyi yeniden etkinleştirir. SDK, uygulama yeniden başlatılırken mülkü NO
olarak sıfırlar. Engellenen iletiler SDK tarafından yoksayılır. Firebase In-App Messaging'ün bunları gösterebilmesi için, engelleme devre dışıyken tetikleyici koşullarının tekrar karşılanması gerekir.
Mesajları devre dışı bırakma seçeneğini etkinleştirme
Varsayılan olarak Firebase In-App Messaging, mesajlaşma kampanyalarında hedeflediğiniz tüm uygulama kullanıcılarına otomatik olarak mesaj gönderir. Bu mesajları yayınlamak için Firebase In-App Messaging SDK'sı, her kullanıcının uygulamasını tanımlamak amacıyla Firebase yükleme kimliklerini kullanır. Bu, In-App Messaging'nin yükleme kimliğine bağlı istemci verilerini Firebase sunucularına göndermesi gerektiği anlamına gelir. Kullanıcılara gönderdikleri veriler üzerinde daha fazla kontrol vermek istiyorsanız otomatik veri toplamayı devre dışı bırakın ve kullanıcılara veri paylaşımını onaylama fırsatı verin.
Bunun için Firebase In-App Messaging için otomatik başlatmayı devre dışı bırakmanız ve hizmeti etkinleştiren kullanıcılar için manuel olarak başlatmanız gerekir:
Info.plist
dosyanızda yeni bir anahtarla otomatik başlatmayı devre dışı bırakma:- Anahtar:
FirebaseInAppMessagingAutomaticDataCollectionEnabled
- Değer:
NO
- Anahtar:
Seçili kullanıcılar için Firebase In-App Messaging'ü manuel olarak başlatın:
// Only needed if FirebaseInAppMessagingAutomaticDataCollectionEnabled is set to NO // in Info.plist [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;
automaticDataCollectionEnabled
değeriniYES
olarak ayarladıktan sonra bu değer, uygulama yeniden başlatılırken devam eder veInfo.plist
değerinizi geçersiz kılar. Örneğin, bir kullanıcı daha sonra veri toplamayı devre dışı bırakırsa özelliğiNO
olarak ayarlayarak ilk başlatmayı tekrar devre dışı bırakabilirsiniz.