Firebase Uygulama İçi Mesajlaşma, çok az kodlama çabasıyla veya hiç kodlama yapmadan, mesajlaşma etkinliklerini gerçek kullanıcı özelliklerine, etkinliklerine ve seçimlerine bağlamak için Google Analytics özelliklerinden yararlanarak zengin kullanıcı etkileşimleri oluşturmanıza, yapılandırmanıza ve hedeflemenize olanak tanır. 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ş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 kalıbı 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 mesaj görüntüleme temsilcisi kaydedebilirsiniz. Bunun 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 varsayılan olarak 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 mesajların gösterilmesini engellemek istiyorsanız (ör. ödeme işlemi ekranları dizisinin kesintiye uğramasını önlemek için) SDK'nın messageDisplaySuppressed özelliğini kullanın. Bu özellik, Objective-C'de şu şekilde gösterilir:
[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, kaydolma 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 hizmetini 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 isterseniz (ör. bir kullanıcı daha sonra veri toplamayı devre dışı bırakırsa) özelliğiNOolarak ayarlayın.