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

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

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

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

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

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

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

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

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

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

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

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

InAppMessaging.inAppMessaging().messageDisplayComponent = yourInAppMessagingRenderingInstance