Firebase In-App Messaging, çok az kodlama çabasıyla 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 kullanıma hazır özelliklerdenGoogle Analytics yararlanabilirsiniz. Bazı ek Firebase In-App Messaging SDK entegrasyonuyla, kullanıcılar iletilerle etkileşimde bulunduğunda yanıt vererek, Analytics çerçevesi dışında ileti etkinliklerini tetikleyerek ve kullanıcıların mesajlaşma etkileşimleriyle ilgili kişisel verilerinin paylaşımını kontrol etmesine izin vererek uygulama içi iletilerin davranışını daha da özelleştirebilirsiniz.
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ünümleri) ve SDK tarafından kaydedilip onaylanan görüntüleme hatalarına yanıt verebilir. Örneğin, mesajınız Kart modalı olarak oluşturulduğunda kullanıcının Kart'ta hangi URL'yi tıkladığını izlemek ve takip etmek isteyebilirsiniz.
Kart etkileşimlerini işlemek için DisplayDelegate'i uygulayın
Uygulama içi mesajlarla 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.
Bir kullanıcının Kart tarzı mesajda hangi bağlantıyı tıkladığını izlemek istediğinizi varsayarsak messageClicked
yöntemini DisplayDelegate
protokolüne göre 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 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 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çi mesajlaşma kampanyası 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 aldıktan 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"];
Kampanya özel meta verilerini kullanma
Kampanyalarınızda, bir dizi anahtar/değer çiftiyle özel veriler belirtebilirsiniz. Kullanıcılar mesajlarla etkileşim kurduğunda bu veriler, örneğin bir 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, bir uygulamanın mevcut durumundan bağımsız olarak, tetikleyici bir koşul karşılandığında iletileri oluşturur. Herhangi bir nedenle mesaj gösterimlerini bastırmak istiyorsanız (ör. bir ödeme işleme ekranı dizisinin kesintiye uğramasını önlemek için) SDK'nın messageDisplaySuppressed
özelliğini Objective-C'de burada gösterildiği gibi kullanın:
[FIRInAppMessaging inAppMessaging].messageDisplaySuppressed = YES;
Mülkün YES
olarak ayarlanması, Firebase In-App Messaging öğesinin mesaj göstermesini engellerken NO
mesaj gösterimini yeniden etkinleştirir. SDK, uygulama yeniden başlatıldığında özelliği NO
olarak sıfırlar. Bastırılmış iletiler SDK tarafından yok sayılır. Firebase In-App Messaging, bu öğeleri gösterebilmek için, devre dışı bırakma özelliği kapalıyken tetikleme koşullarının tekrar karşılanması gerekir.
Kullanıcıların e-posta listesinden çıkma mesajlarının gönderilmesini etkinleştirme
Firebase In-App Messaging, varsayılan olarak mesajlaşma kampanyalarında hedeflediğiniz tüm uygulama kullanıcılarına mesajları otomatik olarak iletir. Bu mesajları iletmek için Firebase In-App Messaging SDK'sı, her kullanıcının uygulamasını tanımlamak üzere yükleme kimliklerini kullanır. Bu nedenle In-App Messaging, yükleme kimliğiyle bağlantılı istemci verilerini Firebase sunucularına göndermek zorundadır.Firebase 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.
Bunu yapmak için Firebase In-App Messaging için otomatik başlatmayı devre dışı bırakmanız ve hizmeti, etkinleştirmeyi tercih eden kullanıcılar için manuel olarak başlatmanız gerekir:
Info.plist
dosyanızda yeni bir anahtarla 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'ı 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ığınızda değer, uygulama yeniden başlatıldığında korunur veInfo.plist
dosyanızdaki değeri geçersiz kılar. Başlatmayı tekrar devre dışı bırakmak isterseniz (ör. bir kullanıcı daha sonra veri toplamayı devre dışı bırakırsa) özelliğiNO
olarak ayarlayın.