Firebase In-App Messaging به شما امکان ایجاد، پیکربندی و هدفگیری تعاملات غنی با کاربر را میدهد و از قابلیتهای Google Analytics خارج از جعبه استفاده میکند تا رویدادهای پیامرسانی را با ویژگیها، فعالیتها و انتخابهای واقعی کاربر مرتبط کند. با ادغام SDK Firebase In-App Messaging ، میتوانید رفتار پیامهای درونبرنامه را حتی بیشتر تنظیم کنید، در هنگام تعامل کاربران با پیامها پاسخ دهید، رویدادهای پیام خارج از چارچوب Analytics را راهاندازی کنید، و به کاربران اجازه دهید اشتراکگذاری دادههای شخصی مربوط به خود را کنترل کنند. به تعاملات پیام رسانی
وقتی کاربران با پیامهای درونبرنامه تعامل دارند، پاسخ دهید
با کنشها میتوانید از پیامهای درونبرنامه خود برای هدایت کاربران به یک وبسایت یا صفحه خاصی در برنامه خود استفاده کنید.
کد شما میتواند به تعاملات اولیه (کلیکها و رد کردن)، به نمایشها (نماهای تأیید شده از پیامهای شما)، و نمایش خطاهای ثبتشده و تأیید شده توسط SDK پاسخ دهد. به عنوان مثال، زمانی که پیام شما به صورت کارتی ساخته می شود، ممکن است بخواهید ردیابی و پیگیری کنید که کاربر کدام یک از دو URL را روی کارت کلیک کرده است.
برای مدیریت تعاملات کارت، یک DisplayDelegate پیاده سازی کنید
میتوانید یک نماینده نمایش پیامرسان درونبرنامه را ثبت کنید که هر زمان که با پیام درونبرنامهای تعامل داشت، با او تماس گرفته میشود. برای انجام این کار، یک کلاس را در پروتکل InAppMessagingDisplayDelegate
پیاده سازی کنید و آن را به عنوان ویژگی delegate در نمونه InAppMessaging
تنظیم کنید.
مجدداً فرض کنید که می خواهید ردیابی کنید که کاربر روی کدام پیوند روی یک پیام به سبک کارت کلیک کرده است، کلاسی را تعریف کنید که متد messageClicked
را در پروتکل DisplayDelegate
پیاده سازی می کند و در نتیجه دسترسی شما را به پیوندی که کاربر کلیک کرده است را فراهم می کند.
سویفت
برای مجموعه روشهای پاسخ به تماس قابل پیادهسازی و پارامترهای آنها، از جمله 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
برای مجموعه روشهای برگشت تماس قابل پیادهسازی و پارامترهای آنها، از جمله 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 In-App Messaging SDK فعال کنید.
در آهنگساز کمپین پیامرسانی درونبرنامه، یک کمپین جدید ایجاد کنید یا یک کمپین موجود را انتخاب کنید، و در مرحله زمانبندی گردش کار آهنگساز، شناسه رویداد یک رویداد پیامرسانی جدید ایجاد شده یا موجود را یادداشت کنید. پس از یادداشت، برنامه خود را برای راه اندازی رویداد با شناسه آن ابزار کنید.
سویفت
…
// somewhere in the app's code
InAppMessaging.inAppMessaging().triggerEvent("exampleTrigger");
هدف-C
…
// somewhere in the app's code
[[FIRInAppMessaging inAppMessaging] triggerEvent:@"exampleTrigger"];
از ابرداده های سفارشی کمپین استفاده کنید
در کمپین های خود، می توانید داده های سفارشی را در یک سری جفت کلید/مقدار مشخص کنید. هنگامی که کاربران با پیامها تعامل دارند، این دادهها برای مثال برای نمایش یک کد تبلیغاتی در دسترس شما هستند.
سویفت
class CardActionFiamDelegate : NSObject, InAppMessagingDisplayDelegate {
func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage) {
// Get data bundle from the inapp message
let appData = inAppMessage.appData
// ...
}
}
هدف-C
@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 برای شناسایی برنامه هر کاربر استفاده میکند. این بدان معناست که In-App Messaging باید دادههای سرویس گیرنده را که به شناسه نصب مرتبط هستند، به سرورهای Firebase ارسال کند. اگر میخواهید به کاربران کنترل بیشتری بر دادههایی که ارسال میکنند بدهید، جمعآوری خودکار دادهها را غیرفعال کنید و به آنها فرصت دهید تا اشتراکگذاری دادهها را تأیید کنند.
برای انجام این کار، باید مقداردهی اولیه خودکار را برای 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
تنظیم کنید.