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


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

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

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

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

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

אחרי שתוסיפו לאפליקציה טיפול בקישור, תוכלו ליצור קמפיין עם פעולה. פותחים את מסוף 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 secondaryActionButton
כרטיס
מודאל
באנר
ImageOnly

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

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

יש שני דברים עיקריים שצריך לשים לב אליהם כשמשנים את תצוגת ההודעות:

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

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

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

כדי לגרום ל-Firebase In-App Messaging להשתמש בתצוגות ההודעות ששיניתם במקום בתצוגות ברירת המחדל, מעדכנים את קובץ ה-podfile כך שישתמש בספריית 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
לאחר מכן תוכלו לעדכן את ה-pods, ליצור מחדש את האפליקציה ולראות את ההודעות החדשות בהתאמה אישית.

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

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

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

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

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

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

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

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance