باستخدام ميزة "الرسائل داخل التطبيق" في Firebase، يمكنك إنشاء تفاعلات غنية مع المستخدمين وتحديدها واستهدافها، وذلك بالاستفادة من إمكانات Google Analytics الجاهزة لربط أحداث المراسلة بخصائص المستخدمين وأنشطتهم وخياراتهم الفعلية، وذلك بدون الحاجة إلى بذل الكثير من الجهد في كتابة الرموز البرمجية أو عدم بذل أي جهد. من خلال دمج حزمة تطوير البرامج (SDK) لخدمة Firebase In-App Messaging، يمكنك تخصيص سلوك الرسائل داخل التطبيق بشكل أكبر، والردّ عندما يتفاعل المستخدمون مع الرسائل، وتفعيل أحداث الرسائل خارج إطار عمل Analytics ، والسماح للمستخدمين بالتحكّم في مشاركة بياناتهم الشخصية المتعلقة بتفاعلات المراسلة.
الردّ عندما يتفاعل المستخدمون مع الرسائل داخل التطبيق
باستخدام الإجراءات، يمكنك استخدام الرسائل داخل التطبيق لتوجيه المستخدمين إلى موقع إلكتروني أو شاشة معيّنة في تطبيقك.
يمكن أن يستجيب الرمز البرمجي للتفاعلات الأساسية (النقرات وعمليات الرفض)، ومرّات الظهور (مرّات المشاهدة التي تم التحقّق منها لرسائلك)، وأخطاء العرض التي سجّلتها حزمة تطوير البرامج (SDK) وأكّدتها. على سبيل المثال، عندما يتم إنشاء رسالتك كنموذج بطاقة، قد تريد تتبُّع عنوانَي URL اللذين نقر عليهما المستخدم في البطاقة ومتابعة ذلك.
تنفيذ DisplayDelegate للتعامل مع تفاعلات البطاقة
يمكنك تسجيل مفوّض عرض للمراسلة داخل التطبيق يتم استدعاؤه عند حدوث أي تفاعل مع رسالة داخل التطبيق. لإجراء ذلك، نفِّذ
فئة وفقًا لبروتوكول InAppMessagingDisplayDelegate واضبطها كخاصية
المفوّض في مثيل InAppMessaging.
بافتراض مرة أخرى أنّك تريد تتبُّع الرابط الذي نقر عليه المستخدم في رسالة بنمط البطاقة، حدِّد فئة تنفّذ طريقة messageClicked وفقًا لبروتوكول DisplayDelegate، ما يمنحك إمكانية الوصول إلى الرابط الذي نقر عليه المستخدم.
Swift
راجِع مرجع مفوّض العرض في Swift للاطّلاع على مجموعة طرق معاودة الاتصال التي يمكن تنفيذها ومَعلماتها، بما في ذلك InAppMessagingAction.
// 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
راجِع مرجع مفوّض العرض في Objective-C للاطّلاع على مجموعة طرق معاودة الاتصال التي يمكن تنفيذها ومَعلماتها، بما في ذلك FIRInAppMessagingDisplayMessage.
// 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;
تفعيل الرسائل داخل التطبيق آليًا
Firebase In-App Messaging تتيح لك تلقائيًا تفعيل الرسائل داخل التطبيق باستخدام أحداث "إحصاءات Google لبرنامج Firebase"، بدون الحاجة إلى إجراء أي عملية دمج إضافية. يمكنك أيضًا تفعيل الأحداث يدويًا آليًا باستخدام عوامل التفعيل الآلية في حزمة تطوير البرامج (SDK) لـ Firebase In-App Messaging البرامج.
في أداة إنشاء حملات المراسلة داخل التطبيق، أنشئ حملة جديدة أو اختَر حملة حالية، وفي خطوة "الجدولة" من سير عمل أداة الإنشاء، سجِّل رقم تعريف حدث مراسلة تم إنشاؤه حديثًا أو حدث مراسلة حالي. بعد تسجيل رقم التعريف، قم بقياس حالة تطبيقك لتفعيل الحدث باستخدام رقم تعريفه.
Swift
…
// somewhere in the app's code
InAppMessaging.inAppMessaging().triggerEvent("exampleTrigger");
Objective-C
…
// somewhere in the app's code
[[FIRInAppMessaging inAppMessaging] triggerEvent:@"exampleTrigger"];
استخدام البيانات الوصفية المخصّصة للحملة
في حملاتك، يمكنك تحديد بيانات مخصّصة في سلسلة من أزواج المفاتيح/القيم. عندما يتفاعل المستخدمون مع الرسائل، تكون هذه البيانات متاحة لك، على سبيل المثال، لعرض رمز ترويجي.
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
إيقاف الرسائل داخل التطبيق مؤقتًا
تلقائيًا، Firebase In-App Messaging تعرض الرسائل متى استوفيت شرط التفعيل
، بغض النظر عن الحالة الحالية للتطبيق. إذا أردت منع عرض الرسائل لأي سبب، مثلاً لتجنُّب مقاطعة سلسلة من شاشات معالجة الدفع، استخدِم خاصية messageDisplaySuppressed في حزمة تطوير البرامج (SDK) كما هو موضّح هنا في Objective-C:
[FIRInAppMessaging inAppMessaging].messageDisplaySuppressed = YES;
يؤدي ضبط الخاصية على YES إلى منع Firebase In-App Messaging من عرض الرسائل،
بينما يؤدي ضبطها على NO إلى إعادة تفعيل عرض الرسائل. تعيد حزمة تطوير البرامج (SDK) ضبط الخاصية على NO
عند إعادة تشغيل التطبيق. تتجاهل حزمة تطوير البرامج (SDK) الرسائل التي تم منع عرضها. يجب استيفاء شروط التفعيل
مرة أخرى أثناء إيقاف ميزة منع العرض قبل أن تتمكّن خدمة Firebase In-App Messaging من
عرضها.
تفعيل إمكانية عدم تلقّي الرسائل
تلقائيًا، تُرسِل Firebase In-App Messaging الرسائل تلقائيًا إلى جميع مستخدمي التطبيق الذين تستهدفهم في حملات المراسلة. لإرسال هذه الرسائل، تستخدم حزمة تطوير البرامج (SDK) لخدمة المراسلة داخل التطبيق من Firebase أرقام تعريف عمليات التثبيت في Firebase للتعرّف على تطبيق كل مستخدم. ويعني ذلك أنّه على خدمة المراسلة داخل التطبيق إرسال بيانات العميل المرتبطة برقم تعريف عملية التثبيت إلى خوادم Firebase.Firebase In-App MessagingFirebaseIn-App Messaging إذا أردت منح المستخدمين مزيدًا من التحكّم في البيانات التي يرسلونها، أوقِف عملية جمع البيانات التلقائية وامنحهم فرصة الموافقة على مشاركة البيانات.
لإجراء ذلك، عليك إيقاف عملية الإعداد التلقائي لـ Firebase In-App Messaging، و إعداد الخدمة يدويًا للمستخدمين الذين يوافقون على تلقّيها:
أوقِف عملية الإعداد التلقائي باستخدام مفتاح جديد في ملف
Info.plist:- المفتاح:
FirebaseInAppMessagingAutomaticDataCollectionEnabled - القيمة:
NO
- المفتاح:
ابدأ خدمة Firebase In-App Messaging يدويًا لمستخدمين محدّدين:
// Only needed if FirebaseInAppMessagingAutomaticDataCollectionEnabled is set to NO // in Info.plist [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;بعد ضبط
automaticDataCollectionEnabledعلىYES، تظل القيمة محفوظة عند إعادة تشغيل التطبيق، ما يؤدي إلى إلغاء القيمة في ملفInfo.plist. إذا أردت إيقاف عملية الإعداد مرة أخرى، مثلاً إذا أوقف أحد المستخدمين عملية الجمع لاحقًا، اضبط الخاصية علىNO.