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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance