رفتار پیام‌های پیام‌رسانی درون‌برنامه Firebase را تغییر دهید

Firebase In-App Messaging به شما امکان ایجاد، پیکربندی و هدف‌گیری تعاملات غنی با کاربر را می‌دهد و از قابلیت‌های Google Analytics خارج از جعبه استفاده می‌کند تا رویدادهای پیام‌رسانی را با ویژگی‌ها، فعالیت‌ها و انتخاب‌های واقعی کاربر مرتبط کند. با ادغام SDK پیام‌رسانی درون‌برنامه‌ای Firebase، می‌توانید رفتار پیام‌های درون‌برنامه را حتی بیشتر تنظیم کنید، در هنگام تعامل کاربران با پیام‌ها پاسخ دهید، رویدادهای پیام خارج از چارچوب Analytics را راه‌اندازی کنید، و به کاربران اجازه دهید اشتراک‌گذاری داده‌های شخصی مربوط به خود را کنترل کنند. به تعاملات پیام رسانی

وقتی کاربران با پیام‌های درون‌برنامه تعامل دارند، پاسخ دهید

با کنش‌ها می‌توانید از پیام‌های درون‌برنامه خود برای هدایت کاربران به یک وب‌سایت یا صفحه خاصی در برنامه خود استفاده کنید.

کد شما می‌تواند به تعاملات اولیه (کلیک‌ها و رد کردن)، به نمایش‌ها (نماهای تأیید شده از پیام‌های شما)، و نمایش خطاهای ثبت‌شده و تأیید شده توسط SDK پاسخ دهد. به عنوان مثال، زمانی که پیام شما به صورت کارتی ساخته می شود، ممکن است بخواهید ردیابی و پیگیری کنید که کاربر کدام یک از دو URL را روی کارت کلیک کرده است.

برای مدیریت تعاملات کارت، یک DisplayDelegate پیاده سازی کنید

می‌توانید یک نماینده نمایش پیام‌رسان درون‌برنامه را ثبت کنید که هر زمان که با پیام درون‌برنامه‌ای تعامل داشت، با او تماس گرفته می‌شود. برای انجام این کار، یک کلاس را در پروتکل InAppMessagingDisplayDelegate پیاده سازی کنید و آن را به عنوان ویژگی delegate در نمونه InAppMessaging تنظیم کنید.

مجدداً فرض کنید که می خواهید ردیابی کنید که کاربر روی کدام پیوند روی یک پیام به سبک کارت کلیک کرده است، کلاسی را تعریف کنید که متد messageClicked را در پروتکل DisplayDelegate پیاده سازی می کند و در نتیجه دسترسی شما را به پیوندی که کاربر کلیک کرده است را فراهم می کند.

سریع

توجه: این محصول برای اهداف macOS، Mac Catalyst، App Clip یا watchOS موجود نیست.

برای مجموعه روش‌های پاسخ به تماس قابل پیاده‌سازی و پارامترهای آنها، از جمله InAppMessagingAction، به مرجع نمایندگی نمایش Swift مراجعه کنید.


// 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;

هدف-C

توجه: این محصول برای اهداف macOS، Mac Catalyst، App Clip یا watchOS موجود نیست.

برای مجموعه روش‌های برگشت تماس قابل پیاده‌سازی و پارامترهای آنها، از جمله FIRINAppMessagingDisplayMessage، به مرجع نماینده نمایش Objective-C مراجعه کنید.


// 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 Analytics برای رویدادهای Firebase راه‌اندازی کنید، بدون اینکه یکپارچه‌سازی اضافی انجام شود. همچنین می‌توانید به‌صورت دستی رویدادها را به‌صورت برنامه‌ریزی با راه‌اندازهای برنامه‌ای Firebase Messaging SDK فعال کنید.

در آهنگساز کمپین پیام‌رسانی درون‌برنامه، یک کمپین جدید ایجاد کنید یا یک کمپین موجود را انتخاب کنید، و در مرحله زمان‌بندی گردش کار آهنگساز، شناسه رویداد یک رویداد پیام‌رسانی جدید ایجاد شده یا موجود را یادداشت کنید. پس از یادداشت، برنامه خود را برای راه اندازی رویداد با شناسه آن ابزار کنید.

سریع

توجه: این محصول برای اهداف macOS، Mac Catalyst، App Clip یا watchOS موجود نیست.
…
// somewhere in the app's code
InAppMessaging.inAppMessaging().triggerEvent("exampleTrigger");

هدف-C

توجه: این محصول برای اهداف macOS، Mac Catalyst، App Clip یا watchOS موجود نیست.
…
// somewhere in the app's code
[[FIRInAppMessaging inAppMessaging] triggerEvent:@"exampleTrigger"];

از ابرداده های سفارشی کمپین استفاده کنید

در کمپین های خود، می توانید داده های سفارشی را در یک سری جفت کلید/مقدار مشخص کنید. هنگامی که کاربران با پیام‌ها تعامل دارند، این داده‌ها برای مثال برای نمایش یک کد تبلیغاتی در دسترس شما هستند.

سریع

توجه: این محصول برای اهداف macOS، Mac Catalyst، App Clip یا watchOS موجود نیست.
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {

    func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
	// Get data bundle from the inapp message
	let appData = inAppMessage.appData
	// ...
    }
}

هدف-C

توجه: این محصول برای اهداف macOS، Mac Catalyst، App Clip یا watchOS موجود نیست.
@implementation CardActionFiamDelegate

- (void)messageClicked:(nonnull FIRInAppMessagingDisplayMessage *)inAppMessage {
	appData = inAppMessage.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 به‌طور خودکار پیام‌ها را به همه کاربران برنامه‌ای که در کمپین‌های پیام‌رسانی هدف قرار می‌دهید، ارسال می‌کند. برای ارائه آن پیام‌ها، Firebase In-App Messaging SDK از شناسه‌های نصب Firebase برای شناسایی برنامه هر کاربر استفاده می‌کند. این بدان معناست که پیام‌رسانی درون‌برنامه‌ای باید داده‌های سرویس گیرنده را که به شناسه نصب مرتبط هستند، به سرورهای Firebase ارسال کند. اگر می‌خواهید به کاربران کنترل بیشتری بر داده‌هایی که ارسال می‌کنند بدهید، جمع‌آوری خودکار داده‌ها را غیرفعال کنید و به آنها فرصت دهید تا اشتراک‌گذاری داده‌ها را تأیید کنند.

برای انجام این کار، باید مقداردهی اولیه خودکار را برای Firebase In-App Messaging غیرفعال کنید و سرویس را به صورت دستی برای کاربرانی که انتخاب می‌کنند، راه‌اندازی کنید:

  1. مقداردهی اولیه خودکار را با یک کلید جدید در فایل Info.plist خود خاموش کنید:

    • کلید: FirebaseInAppMessagingAutomaticDataCollectionEnabled
    • ارزش: NO
  2. پیام رسانی درون برنامه ای Firebase را برای کاربران منتخب به صورت دستی راه اندازی کنید:

    // Only needed if FirebaseInAppMessagingAutomaticDataCollectionEnabled is set to NO
    // in Info.plist
    [FIRInAppMessaging inAppMessaging].automaticDataCollectionEnabled = YES;
    
    

    هنگامی که automaticDataCollectionEnabled را روی YES تنظیم کردید، این مقدار از طریق راه اندازی مجدد برنامه باقی می ماند و مقدار Info.plist شما را نادیده می گیرد. اگر می‌خواهید مجدداً مقداردهی اولیه را غیرفعال کنید، برای مثال اگر کاربر بعداً از مجموعه انصراف داد، ویژگی را روی NO تنظیم کنید.