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

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

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

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

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

רוצה ליצור ספרייה משלך להצגת הודעות?

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

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

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

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

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

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

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance