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


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

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

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

Firebase In-App Messaging משתמש במטפלי קישורים כדי לעבד פעולות. ערכת ה-SDK יכול להשתמש במספר handlerים, כך שאם לאפליקציה כבר יש אחד – Firebase In-App Messaging יכולים להשתמש בו ללא צורך בהגדרות נוספות. אם עדיין לא עשיתם זאת יש handler, אפשר להשתמש ב-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 טקסט צבע טקסט backgroundColor imageData actionButton secondaryActionButton
כרטיס
מודאלי
באנר
ImageOnly

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

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

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

  • ספריות של סוגי הודעות: לכל סוג הודעה יש ספרייה נפרדת עם קבצים שקובעים את הלוגיקה של אותו סוג:
  • Storyboard: גם בספרייה 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