Firebase Uygulama İçi Mesajlaşma, çok az kodlama gerektirerek veya hiç kodlama gerektirmeden zengin kullanıcı etkileşimleri oluşturmanıza, yapılandırmanıza ve hedeflemenize olanak tanır. Mesajlaşma etkinliklerini gerçek kullanıcı özelliklerine, etkinliklerine ve tercihlerine bağlamak için Google Analytics özelliklerinden yararlanır. Ek Firebase In-App Messaging SDK entegrasyonuyla uygulama içi mesajların davranışını daha da özelleştirebilir, kullanıcılar mesajlarla etkileşim kurduğunda yanıt verebilir, Analytics çerçevesi dışında mesaj etkinliklerini tetikleyebilir ve kullanıcıların mesajlaşma etkileşimleriyle ilgili kişisel verilerinin paylaşımını kontrol etmesine olanak tanıyabilirsiniz.
Kullanıcılar uygulama içi mesajlarla etkileşim kurduğunda yanıt verme
İşlemler sayesinde, uygulama içi mesajlarınızı kullanarak kullanıcıları bir web sitesine veya uygulamanızdaki belirli bir ekrana yönlendirebilirsiniz.
Kodunuz temel etkileşimlere (tıklamalar ve kapatmalar), gösterimlere (mesajlarınızın doğrulanmış görüntülemeleri) ve SDK tarafından günlüğe kaydedilip onaylanan görüntüleme hatalarına yanıt verebilir. Örneğin, mesajınız kart modülü olarak oluşturulduğunda kullanıcının kartta tıkladığı iki URL'den hangisini izlemek ve takip etmek isteyebilirsiniz.
Kart etkileşimlerini işlemek için DisplayDelegate uygulayın.
Uygulama içi mesajla herhangi bir etkileşim olduğunda çağrılacak bir uygulama içi mesajlaşma görüntüleme temsilcisi kaydedebilirsiniz. Bunu yapmak için InAppMessagingDisplayDelegate protokolüne göre bir sınıf uygulayın ve bunu InAppMessaging örneğinde temsilci özelliği olarak ayarlayın.
Yine kullanıcının kart tarzı 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ımlayın. Böylece kullanıcının tıkladığı bağlantıya erişebilirsiniz.
Swift
Uygulanabilecek geri çağırma yöntemleri ve bunların parametreleri (InAppMessagingAction dahil) 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: InAppMessagingDismissType) {
// ...
}
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
Uygulanabilecek geri çağırma yöntemleri ve bunların parametreleri (FIRInAppMessagingDisplayMessage dahil) için Objective-C görüntüleme temsilcisi referansına bakın.
// 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, 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 şekilde tetikleyebilirsiniz.
Uygulama İçi Mesajlaşma kampanya oluşturucusunda yeni bir kampanya oluşturun veya mevcut bir kampanyayı seçin. Oluşturucu 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 ayarlayın.
Swift
…
// somewhere in the app's code
InAppMessaging.inAppMessaging().triggerEvent("exampleTrigger");
Objective-C
…
// somewhere in the app's code
[[FIRInAppMessaging inAppMessaging] triggerEvent:@"exampleTrigger"];
Kampanyaya özel meta verileri kullanma
Kampanyalarınızda, bir dizi anahtar/değer çiftinde özel veriler belirtebilirsiniz. Kullanıcılar mesajlarla etkileşim kurduğunda bu veriler, örneğin promosyon kodu göstermeniz için kullanılabilir.
Swift
class CardActionDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// Get data bundle from the inapp message
let appData = inAppMessage.appData
// ...
}
}
Objective-C
@implementation ExampleCardActionDelegate
- (void)messageClicked:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
NSDictionary *appData = inAppMessage.appData;
NSLog(@"Message data: %@", appData);
// ...
}
@end
Uygulama içi mesajları geçici olarak devre dışı bırakma
Varsayılan olarak Firebase In-App Messaging, uygulamanın mevcut durumundan bağımsız olarak tetikleyici bir koşul karşılandığında mesajları oluşturur. Herhangi bir nedenle mesaj gösterimlerini engellemek istiyorsanız (ör. ödeme işlemi ekranları dizisinin kesintiye uğramasını önlemek için) SDK'nın messageDisplaySuppressed özelliğini Objective-C'de gösterildiği şekilde kullanın:
[FIRInAppMessaging inAppMessaging].messageDisplaySuppressed = YES;
Özelliği YES olarak ayarlamak Firebase In-App Messaging uygulamasının mesaj göstermesini engeller, NO ise mesaj göstermeyi yeniden etkinleştirir. SDK, uygulama yeniden başlatıldığında özelliği NO olarak sıfırlar. Engellenen mesajlar SDK tarafından yoksayılır. Firebase In-App Messaging tarafından gösterilebilmeleri için, gizleme devre dışıyken tetikleyici koşullarının tekrar karşılanması gerekir.
Kapsamı dışında kalmayı seçme mesajı yayınlamayı etkinleştirme
Firebase In-App Messaging, mesajlaşma kampanyalarında hedeflediğiniz tüm uygulama kullanıcılarına mesajları varsayılan olarak otomatik şekilde gönderir. Firebase In-App Messaging SDK'sı, bu mesajları iletmek için her kullanıcının uygulamasını tanımlamak üzere Firebase yükleme kimliklerini kullanır. Bu nedenle In-App Messaging, yükleme kimliğine bağlı istemci verilerini Firebase sunucularına göndermelidir. Kullanıcılara gönderdikleri veriler üzerinde daha fazla kontrol imkanı tanımak istiyorsanız otomatik veri toplamayı devre dışı bırakın ve veri paylaşımını onaylama seçeneği sunun.
Bunu yapmak için Firebase In-App Messaging için otomatik başlatmayı devre dışı bırakmanız ve hizmeti, kaydolan kullanıcılar için manuel olarak ilk kullanıma hazırlamanız gerekir:
Info.plistdosyanızda yeni bir anahtar kullanarak otomatik başlatmayı devre dışı bırakın:- Tuş:
FirebaseInAppMessagingAutomaticDataCollectionEnabled - Değer:
NO
- Tuş:
Seçili kullanıcılar için Firebase In-App Messaging özelliğini manuel olarak başlatın:
// Only needed if FirebaseInAppMessagingAutomaticDataCollectionEnabled is set to NO // in Info.plist [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;automaticDataCollectionEnableddeğeriniYESolarak ayarladıktan sonra, uygulama yeniden başlatıldığında değer korunur veInfo.plistdosyanızdaki değer geçersiz kılınır. Başlatmayı tekrar devre dışı bırakmak istiyorsanız (örneğin, bir kullanıcı daha sonra veri toplamayı devre dışı bırakırsa) özelliğiNOolarak ayarlayın.