Google יוצרת פלטפורמה במכשיר שמארגנת את המשתמשים אפליקציות לפי ענף ומאפשר חוויה סוחפת חדשה לצריכת תוכן מותאם אישית באפליקציות ועל הגילוי. החוויה הזו במסך מלא מספקת למפתחים לשותפים הזדמנות להציג את התוכן העשיר הטוב ביותר שלהם בערוץ ייעודי מחוץ ל- של האפליקציה שלהם.המדריך הזה כולל הוראות לשותפי מפתחים לשלב את תוכן ההיכרויות שלהם ולהשתמש ב-Engage SDK כדי לאכלס לפני השטח.
פרטי השילוב
טרמינולוגיה
השילוב הזה כולל את שלושת סוגי האשכולות הבאים: המלצה, מוצגות והמשך.
באשכולות של המלצות מוצגות הצעות לדייטים בהתאמה אישית משותף מפתחים יחיד. ההמלצות האלה יכולות להיות בהתאמה אישית למשתמש.
- אפשר ליצור אשכול המלצות מהסוגים
ArticleEntity
,PersonEntity
, אוEventEntity
, אבל לא שילוב של סוגי ישויות שונים.
ההמלצות שלכם בנויות באופן הבא:
אשכול המלצות: תצוגה של ממשק משתמש שמכילה קבוצה של מאותו מפתח שותף.
ישות: אובייקט שמייצג פריט יחיד באשכול. הזה מציע ישויות מסוימות שיופיעו באמצעות אשכול המלצות:
ArticleEntity: ArticleEntity מייצג המלצה לגבי תוכן מבוסס-טקסט שקשור לדייטים. פריט ArticleEntity מאפשר למפתחים לספק מגוון של תוכן טקסט ותמונות עם יותר מטא-נתונים שמוצגים באופן ברור למשתמשים.
EntityEntity: האדם מייצג אדם. ההמלצות יכולות להיות להדגיש אדם בדייטים לקוחות פוטנציאליים.
EventEntity: EventEntity מייצג אירוע שמתרחש העתידי. שעת ההתחלה של האירוע היא מידע קריטי צריך להעביר את המסר הזה למשתמשים.
- אפשר ליצור אשכול המלצות מהסוגים
באשכול המשך מוצג תוכן שנוסף לאחרונה על ידי משתמשים מ- מספר שותפים של מפתחים בקיבוץ יחיד של ממשק המשתמש. כל שותף מפתחים יורשו לשדר עד 10 ישויות אשכול.
תוכן ההמשך יכול להיות במבנה הבא:
ArticleEntity: ArticleEntity מייצג המלצה לגבי תוכן מבוסס-טקסט שקשור לדייטים. אפשר להשתמש בישות הזו כדי: מייצגים כתבות לא גמורה או תוכן אחר שהמשתמש כמו להמשיך לצרוך מהמקום שבו הם השאירו אותו.
EventOrderEntity: Event reservationEntity מייצג הזמנה לאירוע, ועוזרת למשתמשים לעקוב אחרי אירועים קרובים או קיימים והזמנות לאירועי היכרויות ומפגשים.
האשכול מוצגים הוא תצוגת ממשק משתמש שבה מוצגים הגיבור שנבחר
GenericFeaturedEntity
משותפי מפתחים רבים בקיבוץ אחד של ממשק המשתמש. יש אשכול אחד של המלצות, שמוצג ליד החלק העליון של ממשק משתמש, עם מיקום בעדיפות מעל כל אשכולות ההמלצות. כל אחד שותף למפתחים מורשה לשדר ישות אחת של ישות נתמכת מקלידים 'מומלצים', עם ישויות רבות (עשויות להיות מסוגים שונים) מספר מפתחי אפליקציות באשכול המוצג.GeneralFeaturedEntity: GeneralFeaturedEntity שונה מ- יש להשתמש בפריט המלצה אחד באותו פריט מוצג של מפתחים, והוא צריך לייצג את שיהיה מעניין ורלוונטי למשתמשים.
הכנה לעבודה
רמת API מינימלית: 19
מוסיפים את הספרייה com.google.android.engage:engage-core
לאפליקציה:
dependencies {
// Make sure you also include that repository in your project's build.gradle file.
implementation 'com.google.android.engage:engage-core:1.5.2'
}
סיכום
התכנון מבוסס על הטמעה של שירות משלוחים.
הנתונים שלקוח יכול לפרסם כפופים למגבלות הבאות סוגי אשכולות:
סוג האשכול | מגבלות של אשכולות | מגבלות מינימליות לישויות באשכול | תקרות של ישויות באשכול |
---|---|---|---|
אשכולות של המלצות | 5 לכל היותר | 5 לפחות | 25 לכל היותר (ArticleEntity , PersonEntity , או
EventEntity ) |
אשכול המשך | 1 לכל היותר | לפחות אחד | 10 לכל היותר (ArticleEntity , או
EventReservationEntity ) |
אשכול נבחר | 1 לכל היותר | לפחות אחד | 10 לכל היותר (GenericFeaturedEntity ) |
שלב 1: מסירת נתוני הישות
ב-SDK הוגדרו ישויות שונות שמייצגות כל סוג פריט. אנחנו תומכים הישויות הבאות בקטגוריה 'היכרויות':
GenericFeaturedEntity
ArticleEntity
PersonEntity
EventEntity
EventReservationEntity
בתרשימים הבאים מפורטים המאפיינים והדרישות הזמינים לכל סוג.
GenericFeaturedEntity
מאפיין | דרישה | תיאור | פורמט |
---|---|---|---|
URI של פעולה | חובה |
קישור עומק לישות באפליקציית הספק. הערה: אפשר להשתמש בקישורי עומק לצורך שיוך. אפשר לעיין בשאלות הנפוצות האלה |
URI |
תמונות של פוסטר | חובה | נציג רק תמונה אחת אם יסופקו כמה תמונות. יחס הגובה-רוחב המומלץ הוא 16:9 הערה:אם סופקו תג, יש לוודא שהמקום הבטוח הוא 24 dps גם בחלק העליון וגם בחלק התחתון של התמונה |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
כותרת | אופציונלי | השם של הישות. | טקסט חופשי גודל טקסט מומלץ: 50 תווים |
תיאור | אופציונלי | פסקה אחת של טקסט לתיאור הישות. הערה: התיאור או רשימת הכתוביות יהיו שמוצגות למשתמש, לא גם וגם. |
טקסט חופשי גודל טקסט מומלץ: 180 תווים |
רשימת כתוביות | אופציונלי | עד 3 כתוביות, כאשר כל כותרת משנה היא שורת טקסט אחת. הערה: התיאור או רשימת הכתוביות יהיו שמוצגות למשתמש, לא גם וגם. |
טקסט חופשי גודל טקסט מומלץ לכל כותרת משנה: מקסימום 50 תווים |
תגים | אופציונלי | כל תג הוא טקסט חופשי (עד 15 תווים) או תמונה קטנה. טיפול מיוחד בחוויית המשתמש מעל תמונה או סרטון, למשל כתג כשכבת-על בתמונה
|
|
תג – טקסט | אופציונלי | שם התג הערה: כדי לקבל את התג צריך להזין טקסט או תמונה |
טקסט חופשי גודל טקסט מומלץ: עד 15 תווים |
תג – תמונה | אופציונלי | תמונה קטנה טיפול מיוחד בחוויית המשתמש, למשל כשכבת-על של תג בתמונה או בסרטון התמונה הממוזערת. הערה: כדי לקבל את התג צריך להזין טקסט או תמונה |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
קטגוריות תוכן | אופציונלי | צריך לתאר את קטגוריית התוכן בישות. | רשימת טיפוסים בני מנייה (enum) לעיון בקטע 'קטגוריית תוכן' לקבלת הנחיות. |
ArticleEntity
מאפיין | דרישה | תיאור | פורמט |
---|---|---|---|
URI של פעולה | חובה |
קישור עומק לישות באפליקציית הספק. הערה: אפשר להשתמש בקישורי עומק לצורך שיוך. אפשר לעיין בשאלות הנפוצות האלה |
URI |
כותרת | חובה | השם של הישות. | טקסט חופשי גודל טקסט מומלץ: עד 50 תווים |
תמונות של פוסטר | אופציונלי | נציג רק תמונה אחת אם יסופקו כמה תמונות. יחס הגובה-רוחב המומלץ הוא 16:9 הערה: מומלץ מאוד להוסיף תמונה. אם התג הוא יש לוודא שיש מרווח בטוח של 24dps גם בחלק העליון וגם בחלק התחתון של קובץ אימג' |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
מקור – שם | אופציונלי | שם המחבר, הארגון או הכתב | טקסט חופשי גודל טקסט מומלץ: פחות מ-25 תווים |
מקור – תמונה | אופציונלי | תמונה של המקור, למשל: המחבר, הארגון והכתב | לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
תיאור | אופציונלי | פסקה אחת של טקסט לתיאור הישות. הערה: התיאור או רשימת הכתוביות יהיו שמוצגות למשתמש, לא גם וגם. |
טקסט חופשי גודל טקסט מומלץ: 180 תווים |
רשימת כתוביות | אופציונלי | עד 3 כתוביות, כאשר כל כותרת משנה היא שורת טקסט אחת. הערה: התיאור או רשימת הכתוביות יהיו שמוצגות למשתמש, לא גם וגם. |
טקסט חופשי גודל טקסט מומלץ לכל כותרת משנה: מקסימום 50 תווים |
תגים | אופציונלי | כל תג הוא טקסט חופשי (עד 15 תווים) או תמונה קטנה. טיפול מיוחד בחוויית המשתמש מעל תמונה או סרטון, למשל כתג כשכבת-על בתמונה
|
|
תג – טקסט | אופציונלי | שם התג הערה: כדי לקבל את התג צריך להזין טקסט או תמונה |
טקסט חופשי גודל טקסט מומלץ: עד 15 תווים |
תג – תמונה | אופציונלי | תמונה קטנה טיפול מיוחד בחוויית המשתמש, למשל כשכבת-על של תג בתמונה או בסרטון התמונה הממוזערת. הערה: כדי לקבל את התג צריך להזין טקסט או תמונה |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
שעת פרסום התוכן | אופציונלי | זוהי חותמת הזמן של תקופה של זמן מערכת (epoch) באלפיות השנייה שבה התוכן פורסם / עודכן באפליקציה. | חותמת זמן של תקופה מסוימת באלפיות השנייה |
מועד האינטראקציה האחרונה | נדרש באופן מותנה | חותמת הזמן של תקופה של זמן מערכת (epoch) באלפיות השנייה שבה המשתמש ביצע אינטראקציה את הישות הזאת בפעם האחרונה. הערה: השדה הזה הוא חובה אם הישות הזו היא חלק את אשכול ההמשך. |
חותמת זמן של תקופה מסוימת באלפיות השנייה |
אחוז התקדמות | נדרש באופן מותנה | האחוז מהתוכן המלא שהמשתמש צרך עד היום. הערה: השדה הזה הוא חובה אם הישות הזו היא חלק את אשכול ההמשך. |
ערך int בין 0 ל-100, כולל. |
קטגוריות תוכן | אופציונלי | צריך לתאר את קטגוריית התוכן בישות. | רשימת טיפוסים בני מנייה (enum) לעיון בקטע 'קטגוריית תוכן' לקבלת הנחיות. |
PersonEntity
מאפיין | דרישה | תיאור | פורמט |
---|---|---|---|
URI של פעולה | חובה |
קישור עומק לישות באפליקציית הספק. הערה: אפשר להשתמש בקישורי עומק לצורך שיוך. אפשר לעיין בשאלות הנפוצות האלה |
URI |
פרופיל - שם | חובה | שם הפרופיל, המזהה או הכינוי שלו, למשל 'ישראלי', ' @TeamPixel' וכו' | מחרוזת גודל טקסט מומלץ: עד 50 תווים |
פרופיל - דמות | חובה |
תמונת הפרופיל או תמונת דמות של המשתמש. הערה: התמונה צריכה להיות ריבועית ביחס של 1:1. |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
פרופיל – טקסט נוסף | אופציונלי | טקסט חופשי, כמו הכינוי של הפרופיל. | טקסט חופשי גודל טקסט מומלץ: עד 15 תווים |
פרופיל – תמונה נוספת | אופציונלי | תמונה קטנה כמו תג מאומת. | לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
תמונת כותרת | אופציונלי |
מייצג את תמונת הכותרת. התמונה צריכה להיות שונה מתמונת הפרופיל. אפשר להשתמש באפשרות הזו אם יש תמונה נוספת שעוזרת להדגיש את אוהבים את העבודה שלהם. הערה:התמונה חייבת להיות ביחס של 16:9. אם סופק תג, חשוב להבטיח שטח בטוח של 24dps בחלק העליון והתחתון של התמונה |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
פופולריות – מספר | אופציונלי |
יש לציין את מספר העוקבים או את ערך הפופולריות, לדוגמה - "3.7M." הערה: אם תספקו גם את ערך הספירה וגם את ערך הספירה, המערכת תשתמש בספירה |
מחרוזת גודל טקסט מומלץ: עד 20 תווים לספירה + התווית משולב |
פופולריות – ערך המספר | אופציונלי | מספר העוקבים או ערך הפופולריות. הערה: צריך לציין ערך ספירה אם האפליקציה לא מחליפה את היעד הזה כדי לטפל בלוגיקה לגבי האופן שבו צריך לבצע אופטימיזציה של מספר גדול בגדלים שונים של תצוגה. אם ציינתם גם ערך ספירה וגם ערך ספירה, המספר מוצג למשתמשים. |
ארוך |
פופולריות – תווית | אופציונלי | יש לציין את התווית 'פופולריות'. לדוגמה – 'לייקים'. | מחרוזת גודל טקסט מומלץ: עד 20 תווים לספירה + התווית משולב |
פופולריות – תוכן ויזואלי | אופציונלי |
מציינים למה מיועדת האינטראקציה. לדוגמה – תמונה מוצגת סמל של לייקים, אמוג'י. אפשר להוסיף יותר מתמונה אחת, אבל לא בטוח שכולן יוצגו בכל התמונות גורמי צורה. הערה: התמונה חייבת להיות ריבועית ביחס של 1:1 |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
דירוג – ערך מקסימלי | חובה | הערך המקסימלי של סולם הדירוג. חובה לציין אם גם ערך הדירוג הנוכחי הוא שניתנו. |
מספר >= 0.0 |
דירוג - ערך נוכחי | חובה | הערך הנוכחי של סולם הדירוג. חובה לציין אם ערך הדירוג המקסימלי הוא גם שניתנו. |
מספר >= 0.0 |
דירוג – מספר | אופציונלי | מספר הדירוגים של הישות. הערה: צריך למלא את השדה הזה אם האפליקציה מבקשת קובעים איך המידע הזה יוצג למשתמשים. צריך להזין את המחרוזת התמציתית שיכול להופיע בפני המשתמש. לדוגמה, אם הספירה היא 1,000,000, שקלו להשתמש בקיצורים כמו 1M, כדי שהוא לא יהיה נחתך במסכים קטנים יותר. |
מחרוזת |
דירוג - ערך ספירה | אופציונלי | מספר הדירוגים של הישות. הערה: אם אתם לא רוצים לטפל בשדה הזה, צריך להזין את השדה הזה את לוגיקת הקיצור של התצוגה עצמה. אם גם סופרים וגם ערכי ספירה קיימים, נשתמש בספירה כדי להציג אותם למשתמשים |
ארוך |
מיקום – מדינה | אופציונלי | המדינה שבה האדם נמצא או מספק שירות. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – עיר | אופציונלי | העיר שבה האדם נמצא או מספק שירות. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – כתובת לתצוגה | אופציונלי | הכתובת שבה האדם נמצא או פועל למשתמש. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום - רחוב | אופציונלי | הרחוב (אם רלוונטי) שבו האדם נמצא, או להצגת מודעות. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – מדינה | אופציונלי | המדינה (אם רלוונטי) שבה האדם נמצא או מספק שירות. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – מיקוד | אופציונלי | המיקוד (אם רלוונטי) שבו האדם נמצא או מספק שירות. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – שכונה | אופציונלי | השכונה (אם רלוונטי) שבה האדם נמצא או מספק שירות. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
תגים | אופציונלי |
כל תג הוא טקסט חופשי (עד 15 תווים) או תמונה קטנה. |
|
תג – טקסט | אופציונלי | שם התג הערה: כדי לקבל את התג צריך להזין טקסט או תמונה |
טקסט חופשי גודל טקסט מומלץ: עד 15 תווים |
תג – תמונה | אופציונלי | תמונה קטנה טיפול מיוחד בחוויית המשתמש, למשל כשכבת-על של תג בתמונה או בסרטון התמונה הממוזערת. הערה: כדי לקבל את התג צריך להזין טקסט או תמונה |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
תיאור | אופציונלי | פסקה אחת של טקסט לתיאור הישות. הערה: התיאור או רשימת הכתוביות יהיו שמוצגות למשתמש, לא גם וגם. |
טקסט חופשי גודל טקסט מומלץ: 180 תווים |
רשימת כתוביות | אופציונלי | עד 3 כתוביות, כאשר כל כותרת משנה היא שורת טקסט אחת. הערה: התיאור או רשימת הכתוביות יהיו שמוצגות למשתמש, לא גם וגם. |
טקסט חופשי גודל טקסט מומלץ לכל כותרת משנה: מקסימום 50 תווים |
קטגוריות תוכן | אופציונלי | צריך לתאר את קטגוריית התוכן בישות. | רשימת מספרים שעומדים בדרישות
לעיון בקטע 'קטגוריית תוכן' לקבלת הנחיות. |
EventEntity
מאפיין | דרישה | תיאור | פורמט |
---|---|---|---|
URI של פעולה | חובה |
קישור עומק לישות באפליקציית הספק. הערה: אפשר להשתמש בקישורי עומק לצורך שיוך. אפשר לעיין בשאלות הנפוצות האלה |
URI |
כותרת | חובה | השם של הישות. | מחרוזת גודל טקסט מומלץ: עד 50 תווים |
שעת התחלה | חובה |
חותמת הזמן של התקופה שבה האירוע צפוי להתחיל. הערה: הערך הזה יוצג באלפיות שנייה. |
חותמת זמן של תקופה מסוימת באלפיות השנייה |
מצב אירוע | חובה | שדה שמציין אם האירוע יהיה וירטואלי, פנים-אל-פנים או ובשניהם. |
דוגמאות: VIRTUAL, IN_PERSON או HYBRID |
תמונות של פוסטר | חובה | נציג רק תמונה אחת אם יסופקו כמה תמונות. יחס הגובה-רוחב המומלץ הוא 16:9 הערה: מומלץ מאוד להוסיף תמונה. אם התג הוא יש לוודא שיש מרווח בטוח של 24dps גם בחלק העליון וגם בחלק התחתון של קובץ אימג' |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
מיקום – מדינה | נדרש באופן מותנה | המדינה שבה האירוע מתרחש. הערה: ההגדרה הזו נדרשת לאירועים מסוג IN_PERSON או היברידים |
טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – עיר | נדרש באופן מותנה | העיר שבה מתקיים האירוע. הערה: ההגדרה הזו נדרשת לאירועים מסוג IN_PERSON או היברידים |
טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – כתובת לתצוגה | נדרש באופן מותנה | הכתובת או שם המקום שבהם יתקיים האירוע, והם צריכים להיות יוצגו למשתמש. הערה: ההגדרה הזו נדרשת לאירועים מסוג IN_PERSON או היברידים |
טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום - רחוב | אופציונלי | הרחוב (אם רלוונטי) של המיקום שבו האירוע מתקיים להתארח. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – מדינה | אופציונלי | המדינה או המחוז (אם רלוונטי) שבהם האירוע מתרחש מתארח. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – מיקוד | אופציונלי | המיקוד (אם רלוונטי) של המיקום שבו האירוע מתרחש מתארח. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – שכונה | אופציונלי | השכונה (אם רלוונטי) שבה האירוע מתארח. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
שעת סיום | אופציונלי |
חותמת הזמן של התקופה שבה האירוע צפוי להסתיים. הערה: הערך הזה יוצג באלפיות שנייה. |
חותמת זמן של תקופה מסוימת באלפיות השנייה |
תיאור | אופציונלי | פסקה אחת של טקסט לתיאור הישות. הערה: התיאור או רשימת הכתוביות יהיו שמוצגות למשתמש, לא גם וגם. |
טקסט חופשי גודל טקסט מומלץ: 180 תווים |
רשימת כתוביות | אופציונלי | עד 3 כתוביות, כאשר כל כותרת משנה היא שורת טקסט אחת. הערה: התיאור או רשימת הכתוביות יהיו שמוצגות למשתמש, לא גם וגם. |
טקסט חופשי גודל טקסט מומלץ לכל כותרת משנה: מקסימום 50 תווים |
תגים | אופציונלי |
כל תג הוא טקסט חופשי (עד 15 תווים) או תמונה קטנה. |
|
תג – טקסט | אופציונלי | שם התג הערה: כדי לקבל את התג צריך להזין טקסט או תמונה |
טקסט חופשי גודל טקסט מומלץ: עד 15 תווים |
תג – תמונה | אופציונלי | תמונה קטנה טיפול מיוחד בחוויית המשתמש, למשל כשכבת-על של תג בתמונה או בסרטון התמונה הממוזערת. הערה: כדי לקבל את התג צריך להזין טקסט או תמונה |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
מחיר – מחיר נוכחי | נדרש באופן מותנה |
המחיר הנוכחי של הכרטיס לאירוע. יש לציין אם צוין מחיר עם קו חוצה. |
טקסט חופשי |
מחיר – StrikethroughPrice | אופציונלי | המחיר המקורי של הכרטיס לאירוע. | טקסט חופשי |
הסבר על המחיר | אופציונלי | הסבר על מחיר להצגה של פרומו, אירוע או הנחה לחברי מועדון, אם יש כאלה. | טקסט חופשי גודל טקסט מומלץ: פחות מ-45 תווים (הטקסט ארוך מדי יכול להיות שיוצגו שלוש נקודות) |
קטגוריות תוכן | אופציונלי | צריך לתאר את קטגוריית התוכן בישות. | רשימת מספרים שעומדים בדרישות
לעיון בקטע 'קטגוריית תוכן' לקבלת הנחיות. |
EventReservationEntity
מאפיין | דרישה | תיאור | פורמט |
---|---|---|---|
URI של פעולה | חובה |
קישור עומק לישות באפליקציית הספק. הערה: אפשר להשתמש בקישורי עומק לצורך שיוך. אפשר לעיין בשאלות הנפוצות האלה |
URI |
כותרת | חובה | השם של הישות. | מחרוזת גודל טקסט מומלץ: עד 50 תווים |
שעת התחלה | חובה |
חותמת הזמן של התקופה שבה האירוע צפוי להתחיל. הערה: הערך הזה יוצג באלפיות שנייה. |
חותמת זמן של תקופה מסוימת באלפיות השנייה |
מצב אירוע | חובה | שדה שמציין אם האירוע יהיה וירטואלי, פנים-אל-פנים או ובשניהם. |
דוגמאות: VIRTUAL, IN_PERSON או HYBRID |
מיקום – מדינה | נדרש באופן מותנה | המדינה שבה האירוע מתרחש. הערה: ההגדרה הזו נדרשת לאירועים מסוג IN_PERSON או היברידים |
טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – עיר | נדרש באופן מותנה | העיר שבה מתקיים האירוע. הערה: ההגדרה הזו נדרשת לאירועים מסוג IN_PERSON או היברידים |
טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – כתובת לתצוגה | נדרש באופן מותנה | הכתובת או שם המקום שבהם יתקיים האירוע, והם צריכים להיות יוצגו למשתמש. הערה: ההגדרה הזו נדרשת לאירועים מסוג IN_PERSON או היברידים |
טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום - רחוב | אופציונלי | הרחוב (אם רלוונטי) של המיקום שבו האירוע מתקיים להתארח. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – מדינה | אופציונלי | המדינה או המחוז (אם רלוונטי) שבהם האירוע מתרחש מתארח. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – מיקוד | אופציונלי | המיקוד (אם רלוונטי) של המיקום שבו האירוע מתרחש מתארח. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
מיקום – שכונה | אופציונלי | השכונה (אם רלוונטי) שבה האירוע מתארח. | טקסט חופשי גודל טקסט מומלץ: עד 20 תווים |
תמונות של פוסטר | אופציונלי | נציג רק תמונה אחת אם יסופקו כמה תמונות. יחס הגובה-רוחב המומלץ הוא 16:9 הערה: מומלץ מאוד להוסיף תמונה. אם התג הוא יש לוודא שיש מרווח בטוח של 24dps גם בחלק העליון וגם בחלק התחתון של קובץ אימג' |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
שעת סיום | אופציונלי |
חותמת הזמן של התקופה שבה האירוע צפוי להסתיים. הערה: הערך הזה יוצג באלפיות שנייה. |
חותמת זמן של תקופה מסוימת באלפיות השנייה |
ספק שירות – שם | אופציונלי |
השם של ספק השירות. הערה: צריך להוסיף לשירות טקסט או תמונה ספק. |
טקסט חופשי. לדוגמה, השם של מארגן האירוע או הסיור שלו |
ספק שירות – תמונה | אופציונלי |
הלוגו או התמונה של ספק השירות. הערה: צריך להוסיף לשירות טקסט או תמונה ספק. |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
תיאור | אופציונלי | פסקה אחת של טקסט לתיאור הישות. הערה: התיאור או רשימת הכתוביות יהיו שמוצגות למשתמש, לא גם וגם. |
טקסט חופשי גודל טקסט מומלץ: 180 תווים |
רשימת כתוביות | אופציונלי | עד 3 כתוביות, כאשר כל כותרת משנה היא שורת טקסט אחת. הערה: התיאור או רשימת הכתוביות יהיו שמוצגות למשתמש, לא גם וגם. |
טקסט חופשי גודל טקסט מומלץ לכל כותרת משנה: מקסימום 50 תווים |
תגים | אופציונלי |
כל תג הוא טקסט חופשי (עד 15 תווים) או תמונה קטנה. |
|
תג – טקסט | אופציונלי | שם התג הערה: כדי לקבל את התג צריך להזין טקסט או תמונה |
טקסט חופשי גודל טקסט מומלץ: עד 15 תווים |
תג – תמונה | אופציונלי | תמונה קטנה טיפול מיוחד בחוויית המשתמש, למשל כשכבת-על של תג בתמונה או בסרטון התמונה הממוזערת. הערה: כדי לקבל את התג צריך להזין טקסט או תמונה |
לקבלת הנחיות, אפשר לעיין במפרטי תמונות. |
מזהה הזמנה | אופציונלי | מזהה ההזמנה של האירוע. | טקסט חופשי |
מחיר – מחיר נוכחי | נדרש באופן מותנה |
המחיר הנוכחי של הכרטיס לאירוע. יש לציין אם צוין מחיר עם קו חוצה. |
טקסט חופשי |
מחיר – StrikethroughPrice | אופציונלי | המחיר המקורי של הכרטיס לאירוע. | טקסט חופשי |
הסבר על המחיר | אופציונלי | הסבר על מחיר להצגה של פרומו, אירוע או הנחה לחברי מועדון, אם יש כאלה. | טקסט חופשי גודל טקסט מומלץ: פחות מ-45 תווים (הטקסט ארוך מדי יכול להיות שיוצגו שלוש נקודות) |
דירוג – ערך מקסימלי | אופציונלי | הערך המקסימלי של סולם הדירוג. חובה לציין אם גם ערך הדירוג הנוכחי הוא שניתנו. |
מספר >= 0.0 |
דירוג - ערך נוכחי | אופציונלי | הערך הנוכחי של סולם הדירוג. חובה לציין אם ערך הדירוג המקסימלי הוא גם שניתנו. |
מספר >= 0.0 |
דירוג – מספר | אופציונלי | ספירת הדירוגים של האירוע. הערה: צריך למלא את השדה הזה אם האפליקציה מבקשת קובעים איך המידע הזה יוצג למשתמשים. צריך להזין את המחרוזת התמציתית שיכול להופיע בפני המשתמש. לדוגמה, אם הספירה היא 1,000,000, שקלו להשתמש בקיצורים כמו 1M, כדי שהוא לא יהיה נחתך במסכים קטנים יותר. |
מחרוזת |
דירוג - ערך ספירה | אופציונלי | ספירת הדירוגים של האירוע. הערה: אם אתם לא רוצים לטפל בשדה הזה, צריך להזין את השדה הזה את לוגיקת הקיצור של התצוגה עצמה. אם גם סופרים וגם ערכי ספירה קיימים, נשתמש בספירה כדי להציג אותם למשתמשים |
ארוך |
קטגוריות תוכן | אופציונלי | צריך לתאר את קטגוריית התוכן בישות. | רשימת מספרים שעומדים בדרישות
לעיון בקטע 'קטגוריית תוכן' לקבלת הנחיות. |
מפרט לתמונות
המפרטים הנדרשים לנכסי תמונות מפורטים בטבלה הזו:
יחס גובה-רוחב | מספר פיקסלים מינימלי | מספר פיקסלים מומלץ |
---|---|---|
תמונה ריבועית: (1X1) מועדף |
300x300 | 1,200x1,200 |
תמונה לרוחב (1.91X1) | 600x314 | 1,200x628 |
לאורך (4x5) | 480x600 | 960 x 1,200 |
התמונות נדרשות להתארח ברשתות CDN ציבוריות כדי ש-Google תוכל לגשת אותם.
פורמטים של קבצים
PNG, JPG, GIF סטטי, WebP
גודל קובץ מקסימלי
5,120KB
המלצות נוספות
- האזור הבטוח של התמונות: צריך למקם את התוכן החשוב ב-80% המרכזיים של תמונה.
- השתמשו ברקע שקוף כדי שניתן יהיה להציג את התמונה כראוי הגדרות של עיצוב כהה ועיצוב בהיר.
קטגוריית תוכן
קטגוריית התוכן מאפשרת לאפליקציות לפרסם תוכן ששייך למספר קטגוריות. הפעולה הזו ממפה את התוכן באמצעות כמה מהקטגוריות המוגדרות מראש, כלומר:
TYPE_EDUCATION
TYPE_SPORTS
TYPE_MOVIES_AND_TV_SHOWS
TYPE_BOOKS
TYPE_AUDIOBOOKS
TYPE_MUSIC
TYPE_DIGITAL_GAMES
TYPE_TRAVEL_AND_LOCAL
TYPE_HOME_AND_AUTO
TYPE_BUSINESS
TYPE_NEWS
TYPE_FOOD_AND_DRINK
TYPE_SHOPPING
TYPE_HEALTH_AND_FITENESS
TYPE_MEDICAL
TYPE_PARENTING
TYPE_DATING
התמונות נדרשות להתארח ברשתות CDN ציבוריות כדי ש-Google תוכל לגשת אותם.
הנחיות לשימוש בקטגוריות התוכן
- ישויות מסוימות, כמו ArticleEntity ו-GeneralFeaturedEntity כשיר להשתמש בכל אחת מקטגוריות התוכן. לגבי ישויות אחרות, EventEntity, EventOrderEntity, UserEntity, רק קבוצת משנה מהקטגוריות האלה הן כשירות. לרשימת הקטגוריות האפשריות סוג ישות לפני אכלוס הרשימה.
שימוש בסוג הישות הספציפי בחלק מקטגוריות התוכן בשילוב עם שילוב של הישויות הכלליות והקטגוריה ContentCategory:
- TYPE_MOVIES_AND_TV_SHOWS – לצפייה הישויות מ- מומלץ לצפות במדריך ההטמעה לפני השימוש של ישויות כלליות.
- TYPE_BOOKS - נסה את EbookEntity לפני השימוש של ישויות כלליות.
- TYPE_AUDIOBOOKS - כדאי לבדוק AudiobookEntity לפני באמצעות הישויות הגנריות.
- TYPE_SHOPPING - עזיבה ShoppingEntity לפני באמצעות הישויות הגנריות.
- TYPE_FOOD_AND_DRINK - סימון ישויות מ- לפני שמשתמשים במדריך לשילוב מוצרי Google של ישויות כלליות.
השדה ContentCategory הוא אופציונלי ויש להשאיר אותו ריק אם התוכן אינו שייך לאף אחת מהקטגוריות הרשומות למעלה.
אם תספקו כמה קטגוריות תוכן, יש לציין אותן לפי הסדר רלוונטיות לתוכן שבו נמצאת קטגוריית התוכן הרלוונטית ביותר הראשונה ברשימה.
שלב 2: מספקים נתוני אשכול
מומלץ לבצע את משימת פרסום התוכן ברקע (לדוגמה, באמצעות WorkManager) והם מתוזמנים על בסיס קבוע או על בסיס אירוע (לדוגמה, בכל פעם שהמשתמש פותח את האפליקציה או רק כשהוא הוסיף משהו לעגלת הקניות).
AppEngagePublishClient
אחראי לפרסום אשכולות.
יש ממשקי ה-API הבאים לפרסום אשכולות בלקוח:
isServiceAvailable
publishRecommendationClusters
publishFeaturedCluster
publishContinuationCluster
publishUserAccountManagementRequest
updatePublishStatus
deleteRecommendationsClusters
deleteFeaturedCluster
deleteContinuationCluster
deleteUserManagementCluster
deleteClusters
isServiceAvailable
ה-API הזה משמש כדי לבדוק אם השירות זמין לשילוב, אם ניתן להציג את התוכן במכשיר.
Kotlin
client.isServiceAvailable.addOnCompleteListener { task -> if (task.isSuccessful) { // Handle IPC call success if(task.result) { // Service is available on the device, proceed with content publish // calls. } else { // Service is not available, no further action is needed. } } else { // The IPC call itself fails, proceed with error handling logic here, // such as retry. } }
Java
client.isServiceAvailable().addOnCompleteListener(task - > { if (task.isSuccessful()) { // Handle success if(task.getResult()) { // Service is available on the device, proceed with content publish // calls. } else { // Service is not available, no further action is needed. } } else { // The IPC call itself fails, proceed with error handling logic here, // such as retry. } });
publishRecommendationClusters
ה-API הזה משמש לפרסום רשימה של RecommendationCluster
אובייקטים.
Kotlin
client.publishRecommendationClusters( PublishRecommendationClustersRequest.Builder() .addRecommendationCluster( RecommendationCluster.Builder() .addEntity(entity1) .addEntity(entity2) .setTitle("Top Picks For You") .build() ) .build() )
Java
client.publishRecommendationClusters( new PublishRecommendationClustersRequest.Builder() .addRecommendationCluster( new RecommendationCluster.Builder() .addEntity(entity1) .addEntity(entity2) .setTitle("Top Picks For You") .build()) .build());
כשהשירות מקבל את הבקשה, הפעולות הבאות מתרחשות בתוך עסקה אחת:
- הנתונים הקיימים של
RecommendationCluster
מהשותף למפתחים יוסרו. - הנתונים מהבקשה מנותחים ונשמרים בהמלצה המעודכנת אשכול.
במקרה של שגיאה, הבקשה כולה נדחית והמצב הקיים מתוחזקת.
publishFeaturedCluster
ה-API הזה משמש לפרסום רשימה של FeaturedCluster
אובייקטים.
Kotlin
client.publishFeaturedCluster( PublishFeaturedClusterRequest.Builder() .setFeaturedCluster( FeaturedCluster.Builder() .addEntity(entity1) .addEntity(entity2) .build()) .build())
Java
client.publishFeaturedCluster( new PublishFeaturedClustersRequest.Builder() .addFeaturedCluster( new FeaturedCluster.Builder() .addEntity(entity1) .addEntity(entity2) .build()) .build());
כשהשירות מקבל את הבקשה, הפעולות הבאות מתרחשות בתוך עסקה אחת:
- הנתונים הקיימים של
FeaturedCluster
מהשותף למפתחים יוסרו. - הנתונים מהבקשה מנותחים ונשמרים באשכול המעודכן.
במקרה של שגיאה, הבקשה כולה נדחית והמצב הקיים מתוחזקת.
publishContinuationCluster
ה-API הזה משמש לפרסום אובייקט ContinuationCluster
.
Kotlin
client.publishContinuationCluster( PublishContinuationClusterRequest.Builder() .setContinuationCluster( ContinuationCluster.Builder() .addEntity(entity1) .addEntity(entity2) .build()) .build())
Java
client.publishContinuationCluster( new PublishContinuationClusterRequest.Builder() .setContinuationCluster( new ContinuationCluster.Builder() .addEntity(entity1) .addEntity(entity2) .build()) .build());
כשהשירות מקבל את הבקשה, הפעולות הבאות מתרחשות בתוך עסקה אחת:
- הנתונים הקיימים של
ContinuationCluster
מהשותף למפתחים יוסרו. - נתונים מהבקשה מנותחים ונשמרים במצב המשך המעודכן אשכול.
במקרה של שגיאה, הבקשה כולה נדחית והמצב הקיים מתוחזקת.
publishUserAccountManagementRequest
ממשק ה-API הזה משמש לפרסום כרטיס כניסה . פעולת הכניסה מפנה משתמשים אל דף הכניסה של האפליקציה, כדי שהאפליקציה תוכל לפרסם תוכן (או לספק עוד תוכן בהתאמה אישית)
המטא-נתונים הבאים הם חלק מכרטיס הכניסה –
מאפיין | דרישה | תיאור |
---|---|---|
URI של פעולה | חובה | קישור עומק לפעולה (כלומר מעבר לדף הכניסה לאפליקציה) |
תמונה | אופציונלי – אם לא מציינים כותרת, יש להזין כותרת |
תמונה שמוצגת בכרטיס תמונות ביחס גובה-רוחב של 16x9 עם רזולוציה של 1264x712 |
כותרת | אופציונלי – אם אין תמונה, חובה לספק תמונה | כותרת על הכרטיס |
טקסט פעולה | אופציונלי | טקסט שמוצג בקריאה לפעולה (כלומר, כניסה לחשבון) |
כותרת משנה | אופציונלי | כתוביות אופציונליות בכרטיס |
Kotlin
var SIGN_IN_CARD_ENTITY = SignInCardEntity.Builder() .addPosterImage( Image.Builder() .setImageUri(Uri.parse("http://www.x.com/image.png")) .setImageHeightInPixel(500) .setImageWidthInPixel(500) .build()) .setActionText("Sign In") .setActionUri(Uri.parse("http://xx.com/signin")) .build() client.publishUserAccountManagementRequest( PublishUserAccountManagementRequest.Builder() .setSignInCardEntity(SIGN_IN_CARD_ENTITY) .build());
Java
SignInCardEntity SIGN_IN_CARD_ENTITY = new SignInCardEntity.Builder() .addPosterImage( new Image.Builder() .setImageUri(Uri.parse("http://www.x.com/image.png")) .setImageHeightInPixel(500) .setImageWidthInPixel(500) .build()) .setActionText("Sign In") .setActionUri(Uri.parse("http://xx.com/signin")) .build(); client.publishUserAccountManagementRequest( new PublishUserAccountManagementRequest.Builder() .setSignInCardEntity(SIGN_IN_CARD_ENTITY) .build());
כשהשירות מקבל את הבקשה, הפעולות הבאות מתרחשות בתוך עסקה אחת:
- הנתונים הקיימים של
UserAccountManagementCluster
מהשותף למפתחים הם הוסר. - הנתונים מהבקשה מנותחים ונשמרים אשכול אשכול UserAccountManagement.
במקרה של שגיאה, הבקשה כולה נדחית והמצב הקיים מתוחזקת.
updatePublishStatus
אם מסיבה עסקית פנימית כלשהי לא מתפרסם אף אחד מהאשכולות, מומלץ מאוד לעדכן את סטטוס הפרסום באמצעות ממשק API של updatePublishStatus. זה חשוב מהסיבות הבאות :
- הצגת הסטטוס בכל התרחישים, גם כשהתוכן פורסם (STATUS == PUBLISHED) הוא קריטי לאכלוס מרכזי בקרה שמשתמשים בכך סטטוס מפורש כדי להעביר את התקינות ומדדים אחרים של השילוב שלך.
- אם לא מתפרסם תוכן, אבל סטטוס השילוב לא פגום (STATUS == NOT_PUBLISHED), Google יכולה להימנע מהפעלת התראות באפליקציה לוחות בקרה בנושאי בריאות. היא מאשרת שהתוכן לא פורסם עקב הצפוי מבחינת הספק.
- הוא עוזר למפתחים לספק תובנות לגבי מועד הפרסום של הנתונים, לעומת לא.
- Google עשויה להשתמש בקודי הסטטוס כדי לעודד את המשתמש לבצע פעולות מסוימות את האפליקציה כדי שיוכלו לראות את התוכן של האפליקציה או להתגבר עליו.
רשימת קודי הסטטוסים הכשירים לפרסום היא :
// Content is published
AppEngagePublishStatusCode.PUBLISHED,
// Content is not published as user is not signed in
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN,
// Content is not published as user is not subscribed
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SUBSCRIPTION,
// Content is not published as user location is ineligible
AppEngagePublishStatusCode.NOT_PUBLISHED_INELIGIBLE_LOCATION,
// Content is not published as there is no eligible content
AppEngagePublishStatusCode.NOT_PUBLISHED_NO_ELIGIBLE_CONTENT,
// Content is not published as the feature is disabled by the client
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_FEATURE_DISABLED_BY_CLIENT,
// Content is not published as the feature due to a client error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_CLIENT_ERROR,
// Content is not published as the feature due to a service error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_SERVICE_ERROR,
// Content is not published due to some other reason
// Reach out to engage-developers@ before using this enum.
AppEngagePublishStatusCode.NOT_PUBLISHED_OTHER
אם התוכן לא מתפרסם בגלל שמשתמש לא מחובר, Google מומלץ לפרסם את כרטיס הכניסה. אם מסיבה כלשהי הספקים לא יכולים כדי לפרסם את כרטיס הכניסה, מומלץ להפעיל את ממשק API updatePublishStatus עם קוד הסטטוס NOT_PUBLISHED_REQUIRES_SIGN_IN
Kotlin
client.updatePublishStatus( PublishStatusRequest.Builder() .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN) .build())
Java
client.updatePublishStatus( new PublishStatusRequest.Builder() .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN) .build());
deleteRecommendationClusters
ה-API הזה משמש למחיקת התוכן של אשכולות המלצות.
Kotlin
client.deleteRecommendationClusters()
Java
client.deleteRecommendationClusters();
כשהשירות מקבל את הבקשה, הוא מסיר את הנתונים הקיימים אשכולות של המלצות. במקרה של שגיאה, הבקשה כולה נדחית המצב הקיים נשמר.
deleteFeaturedCluster
ה-API הזה משמש למחיקת התוכן של אשכול מומלץ.
Kotlin
client.deleteFeaturedCluster()
Java
client.deleteFeaturedCluster();
כשהשירות מקבל את הבקשה, הוא מסיר את הנתונים הקיימים אשכול מוצג. במקרה של שגיאה, הבקשה כולה נדחית המצב הקיים נשמר.
deleteContinuationCluster
ה-API הזה משמש למחיקת התוכן של אשכול ההמשך.
Kotlin
client.deleteContinuationCluster()
Java
client.deleteContinuationCluster();
כשהשירות מקבל את הבקשה, הוא מסיר את הנתונים הקיימים אשכול המשך. במקרה של שגיאה, הבקשה כולה נדחית המצב הקיים נשמר.
deleteUserManagementCluster
ה-API הזה משמש למחיקת התוכן של אשכול UserAccountManagement.
Kotlin
client.deleteUserManagementCluster()
Java
client.deleteUserManagementCluster();
כשהשירות מקבל את הבקשה, הוא מסיר את הנתונים הקיימים אשכול UserAccountManagement. במקרה של שגיאה, הבקשה כולה נדחה והמצב הקיים נשמר.
deleteClusters
ה-API הזה משמש למחיקת התוכן של סוג אשכול נתון.
Kotlin
client.deleteClusters( DeleteClustersRequest.Builder() .addClusterType(ClusterType.TYPE_CONTINUATION) .addClusterType(ClusterType.TYPE_FEATURED) .addClusterType(ClusterType.TYPE_RECOMMENDATION) .build())
Java
client.deleteClusters( new DeleteClustersRequest.Builder() .addClusterType(ClusterType.TYPE_CONTINUATION) .addClusterType(ClusterType.TYPE_FEATURED) .addClusterType(ClusterType.TYPE_RECOMMENDATION) .build());
כשהשירות מקבל את הבקשה, הוא מסיר את הנתונים הקיימים מכל אשכולות שתואמים לסוגי האשכולות שצוינו. הלקוחות יכולים לבחור להעביר הרבה סוגים של אשכולות. במקרה של שגיאה, הבקשה כולה נדחית המצב הקיים נשמר.
טיפול בשגיאות
מומלץ מאוד להאזין לתוצאת המשימה מממשקי ה-API לפרסום, שניתן לבצע פעולת המשך כדי לשחזר משימה מוצלחת ולשלוח אותה מחדש.
Kotlin
client.publishRecommendationClusters( PublishRecommendationClustersRequest.Builder() .addRecommendationCluster(..) .build()) .addOnCompleteListener { task -> if (task.isSuccessful) { // do something } else { val exception = task.exception if (exception is AppEngageException) { @AppEngageErrorCode val errorCode = exception.errorCode if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) { // do something } } } }
Java
client.publishRecommendationClusters( new PublishRecommendationClustersRequest.Builder() .addRecommendationCluster(...) .build()) .addOnCompleteListener( task -> { if (task.isSuccessful()) { // do something } else { Exception exception = task.getException(); if (exception instanceof AppEngageException) { @AppEngageErrorCode int errorCode = ((AppEngageException) exception).getErrorCode(); if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) { // do something } } } });
השגיאה מוחזרת בתור AppEngageException
עם הסיבה
קוד שגיאה.
קוד שגיאה | הערה |
---|---|
SERVICE_NOT_FOUND |
השירות לא זמין במכשיר הנתון. |
SERVICE_NOT_AVAILABLE |
השירות זמין במכשיר הנתון, אבל הוא לא זמין בזמן השיחה (לדוגמה, האפשרות מושבתת באופן מפורש). |
SERVICE_CALL_EXECUTION_FAILURE |
ביצוע המשימה נכשל עקב בעיות בשרשור. במקרה הזה, יכול להיות ניסיון חוזר. |
SERVICE_CALL_PERMISSION_DENIED |
המתקשר לא מורשה לבצע את שיחת השירות. |
SERVICE_CALL_INVALID_ARGUMENT |
הבקשה מכילה נתונים לא חוקיים (לדוגמה, יותר מהמותר מספר האשכולות). |
SERVICE_CALL_INTERNAL |
יש שגיאה בצד השירות. |
SERVICE_CALL_RESOURCE_EXHAUSTED |
הקריאה לשירות מתבצעת לעיתים קרובות מדי. |
שלב 3: טיפול בכוונות שידור
בנוסף לביצוע קריאות לפרסום Content API באמצעות משימה, מדובר גם
נדרשות כדי להגדיר
BroadcastReceiver
כדי לקבל
את הבקשה לפרסום תוכן.
המטרה של כוונות שידור היא בעיקר הפעלה מחדש של האפליקציה ואילוץ נתונים לסנכרן כוונת שידור לא מיועדת לשליחה בתדירות גבוהה מאוד. זה רק מופעלות כאשר שירות Engage קובע שהתוכן עשוי להיות מיושן (עבור למשל, לפני שבוע). כך, יש יותר ביטחון שהמשתמש יכול לספק חוויית תוכן חדשה, גם אם האפליקציה לא הופעלה הרבה זמן.
צריך להגדיר את BroadcastReceiver
בשתי הדרכים הבאות:
- רישום באופן דינמי של מופע של המחלקה
BroadcastReceiver
באמצעותContext.registerReceiver()
. כך מתאפשרת תקשורת מאפליקציות שעדיין קיימים בזיכרון.
Kotlin
class AppEngageBroadcastReceiver : BroadcastReceiver(){ // Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast // is received // Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received // Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is // received } fun registerBroadcastReceivers(context: Context){ var context = context context = context.applicationContext // Register Recommendation Cluster Publish Intent context.registerReceiver(AppEngageBroadcastReceiver(), IntentFilter(Intents.ACTION_PUBLISH_RECOMMENDATION)) // Register Featured Cluster Publish Intent context.registerReceiver(AppEngageBroadcastReceiver(), IntentFilter(Intents.ACTION_PUBLISH_FEATURED)) // Register Continuation Cluster Publish Intent context.registerReceiver(AppEngageBroadcastReceiver(), IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION)) }
Java
class AppEngageBroadcastReceiver extends BroadcastReceiver { // Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast // is received // Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received // Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is // received } public static void registerBroadcastReceivers(Context context) { context = context.getApplicationContext(); // Register Recommendation Cluster Publish Intent context.registerReceiver(new AppEngageBroadcastReceiver(), new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION)); // Register Featured Cluster Publish Intent context.registerReceiver(new AppEngageBroadcastReceiver(), new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED)); // Register Continuation Cluster Publish Intent context.registerReceiver(new AppEngageBroadcastReceiver(), new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION)); }
- הצהרה סטטית על יישום עם התג
<receiver>
ב- קובץAndroidManifest.xml
. ההרשאה הזו מאפשרת לאפליקציה לקבל שידור את ה-Intent כאשר הוא לא פועל, וגם מאפשרת לאפליקציה לפרסם את התוכן.
<application>
<receiver
android:name=".AppEngageBroadcastReceiver"
android:exported="true"
android:enabled="true">
<intent-filter>
<action android:name="com.google.android.engage.action.PUBLISH_RECOMMENDATION" />
</intent-filter>
<intent-filter>
<action android:name="com.google.android.engage.action.PUBLISH_FEATURED" />
</intent-filter>
<intent-filter>
<action android:name="com.google.android.engage.action.PUBLISH_CONTINUATION" />
</intent-filter>
</receiver>
</application>
הכוונות הבאות נשלחות על ידי service:
com.google.android.engage.action.PUBLISH_RECOMMENDATION
מומלץ כדי להתחיל קריאתpublishRecommendationClusters
כאשר מקבלים את הכוונה הזו.com.google.android.engage.action.PUBLISH_FEATURED
מומלץ להתחיל קריאתpublishFeaturedCluster
כאשר מקבלים את הכוונה הזו.com.google.android.engage.action.PUBLISH_CONTINUATION
מומלץ להתחיל קריאתpublishContinuationCluster
כאשר מקבלים את הכוונה הזו.
תהליך עבודה של שילוב
למדריך מפורט על אימות השילוב לאחר השלמתו, אפשר לעיין במאמר ליצור מעורבות בתהליך העבודה של השילוב למפתחים.
שאלות נפוצות
ניתן לעיין בשאלות נפוצות בנושא Engage SDK בנושא שאלות נפוצות.
יצירת קשר
פרטים ליצירת קשר engagement-developers@google.com, אם יש בזמן תהליך ההטמעה.
השלבים הבאים
לאחר השלמת השילוב, השלבים הבאים הם:
- שליחת אימייל אל engagement-developers@google.com וגם לצרף את ה-APK המשולב שמוכן לבדיקה על ידי Google.
- Google מבצעת אימות ובדיקות פנימיות כדי לוודא פועל כמצופה. אם יהיה צורך בשינויים, Google תיצור איתך קשר את כל הפרטים הנדרשים.
- כשהבדיקה תסתיים ואין צורך בשינויים, Google תיצור איתך קשר כדי תודיע לך שאתה יכול להתחיל לפרסם את ה-APK המעודכן והמשולב אל חנות Play.
- לאחר ש-Google אישרה שה-APK המעודכן פורסם חנות Play, המלצה, מוצגת והמשך ייתכן שאשכולות יפורסמו ויהיו גלויים למשתמשים.