התאמה אישית של הודעות בתוך האפליקציה ב-Firebase


Firebase In-App Messaging מספק קבוצה שימושית של סוגים של הודעות והתנהגויות שהוגדרו מראש, עם מראה וסגנון ברירת מחדל. עם זאת, במקרים מסוימים כדאי להרחיב את ההתנהגויות ואת תוכן ההודעות. התכונה 'הודעות באפליקציה' מאפשרת לכם להוסיף פעולות להודעות ולהתאים אישית את המראה והסגנון שלהן.

הוספת פעולה להודעה

באמצעות פעולות, תוכלו להשתמש בהודעות בתוך האפליקציה כדי להפנות משתמשים לאתר או למסך ספציפי באפליקציה.

Firebase In-App Messaging משתמש במטפלי קישורים כדי לעבד פעולות. ה-SDK יכול להשתמש במספר מנהלים, כך שאם כבר יש לאפליקציה שלכם מנהל, ה-Firebase In-App Messaging יכול להשתמש בו בלי הגדרה נוספת. אם עדיין אין לכם טיפול, תוכלו להשתמש ב-Firebase Dynamic Links. למידע נוסף, קראו את המאמר יצירת קישורים דינמיים ב-iOS.

הוספת הפעולה להודעה באמצעות מסוף Firebase

כאשר לאפליקציה יש handler של קישורים, אתם מוכנים ליצור קמפיין עם פעולה. פותחים את מסוף Firebase בקטע Messaging, ומתחילים קמפיין חדש או עורכים קמפיין קיים. בקמפיין הזה, מספקים כרטיס, טקסט של לחצן ופעולת לחצן, פעולה על תמונה או פעולה במודעת באנר, כאשר הפעולה היא קישור עומק רלוונטי.

הפורמט של הפעולה תלוי בפריסה של ההודעה שבחרתם. בחלונות קופצים מופיעים לחצני פעולה עם תוכן טקסט של לחצן, צבע טקסט וצבע רקע שניתן להתאמה אישית. לעומת זאת, תמונות ומודעות באנר בחלק העליון הופכות לאינטראקטיביות ומפעילות את הפעולה שצוינה כשלוחצים עליהן.

שינוי המראה והסגנון של ההודעה

Firebase In-App Messaging מאפשרת להתאים אישית את תצוגת ההודעות כדי לשנות את האופן שבו האפליקציה מייצגת את הפרטים הבאים בהודעות: הפריסה, סגנונות הגופן, צורות הלחצנים ופרטים נוספים. יש שתי דרכים לשנות את תצוגת ההודעות: לשנות את תצוגות Firebase In-App Messaging שמוגדרות כברירת מחדל או ליצור מאפס ספרייה משלכם של תצוגות הודעות.

הערה: המוצר הזה לא זמין ביעדים macOS,‏ Mac Catalyst,‏ App Clip או watchOS.

שינוי תצוגות ברירת המחדל

הדרך הפשוטה ביותר להתאים אישית את ההודעות היא להתבסס על קוד ברירת המחדל של Firebase In-App Messaging להצגת הודעות.

שכפול של המאגר firebase-ios-sdk

כדי להתחיל, מעתיקים את הגרסה העדכנית של המאגר firebase-ios-sdk ופותחים את הספרייה InAppMessaging.

בוחרים את סוגי ההודעות שרוצים לשנות

אחרי שתעקפו את המאגר, תוכלו לשנות כל אחד מסוגי ההודעות של Firebase In-App Messaging או את כולם: Card,‏ Modal,‏ Banner ו-ImageOnly. כל סוג תואם לפריסת ההודעה בתהליך יצירת הקמפיין Firebase In-App Messaging.

בהתאם, לכל סוג יש גישה לקבוצה שונה של נתונים, בהתאם לאפשרויות ההתאמה האישית של הקמפיין במסוף Firebase:

סוג titleText bodyText textColor backgroundColor imageData actionButton לחצן פעולה משנית
כרטיס
מודאלי
באנר
תמונה בלבד

שינוי קוד הרינדור של הצגת ההודעה

תוך התחשבות במגבלות על סוגי ההודעות, אתם יכולים לשנות אותן כרצונכם. אתם יכולים ליצור באנר שיוצג בתחתית האפליקציה, להזיז את לחצן הפעולה בחלון קופץ, להטמיע את ההודעה באפליקציה בפיד של המשתמש או לבצע כל שינוי אחר שיגרום להודעות להיראות ולהרגיש כמו חלק מהאפליקציה.

יש שני דברים שחשוב לשים לב אליהם כשמשנים את תוכן ההודעות:

  • ספריות של סוגי הודעות: לכל סוג הודעה יש ספרייה נפרדת עם קבצים שקובעים את הלוגיקה של אותו סוג:
  • תסריט: בספרייה InAppMessaging יש גם קובץ .storyboard שעוזר להגדיר את ממשק המשתמש של כל שלושת סוגי ההודעות:

כדי ליצור תצוגות של הודעות בהתאמה אישית, משנים קבצים בספריות של סוגי ההודעות המועדפים עליכם ובקטעים המתאימים ב-.storyboard.

מעדכנים את קובץ ה-podfile כך שישתמש בקוד InAppMessaging ששונה

כדי לגרום ל-Firebase In-App Messaging להשתמש בהודעות עם השינוי במקום בתצוגות ברירת המחדל, צריך לעדכן את קובץ הפודקאסטים לשימוש בספריית InAppMessaging המותאמת אישית:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'YourProject' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!

# Pods for YourProject
pod 'Firebase'

# Remove the default InAppMessaging pod:
# pod 'Firebase/InAppMessaging'

# Overwrite it with a version that points to your local copy:
pod `FirebaseInAppMessaging', :path => '~/Path/To/The/Cloned/Repo/'

end
אחרי שתעשו את זה תוכלו לעדכן את קבוצות המודעות, לבנות מחדש את האפליקציה ולראות את ההודעות החדשות שמותאמות אישית.

יצירת ספרייה משלכם להצגת הודעות

לא צריך לעבוד רק מהספרייה של InAppMessaging כדי ליצור ממשק משתמש להצגת הודעות. אתם יכולים גם לכתוב קוד מאפס משלכם.

פיתוח מחלקה שמטמיעה את הפרוטוקול InAppMessagingDisplay

Firebase In-App Messaging משתמש בכיתה InAppMessaging כדי לטפל בתקשורת בין שרתי Firebase לבין האפליקציה. הכיתה הזו, מצידה, משתמשת בפרוטוקול InAppMessagingDisplay כדי להציג את ההודעות שהיא מקבלת. כדי ליצור ספריית תצוגה משלכם, עליכם לכתוב מחלקה שמטמיעה את הפרוטוקול.

הגדרת הפרוטוקול והתיעוד לגבי התאימות שלו נמצאים בקובץ FIRInAppMessagingDisplay.h בספריית InAppMessaging.

מגדירים את messageDisplayComponent כך שישתמש בספריית התצוגה של ההודעות

InAppMessaging משתמש במאפיין messageDisplayComponent כדי לקבוע באיזה אובייקט להשתמש כשמציגים הודעות. מגדירים את המאפיין הזה כאובייקט של מחלקה של תצוגת הודעות מותאמת אישית, כדי ש-Firebase In-App Messaging ידע להשתמש בספרייה כדי לעבד הודעות:

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance