TagManager

כיתה ציבורית TagManager

זהו יישום של Google Tag Manager (GTM) במכשירים ניידים. דוגמאות לשימוש:

 Container container = TagManager.getInstance(context).openContainer(myContainerId);
 String value = container.getString("myKey");

 DataLayer dataLayer = TagManager.getInstance(context).getDataLayer();
 dataLayer.push(DataLayer.mapOf("event", "openScreen", "screenName", "Main Page"));
מאגר תגים הוא אוסף של פקודות מאקרו, תגים וכללים. הוא נוצר בתוך אפליקציית GTM, ומוקצה לה מזהה מאגר תגים. מזהה מאגר התגים הזה הוא המזהה שנעשה בו שימוש ב-API הזה.

המחלקה Container מספקת שיטות לאחזור ערכים שניתנים למפתח. התרחישים getBoolean(String), getDouble(String) getLong(String), getString(String) מחזירה את הערך הנוכחי למפתח של מאקרו של אוסף ערכים, בהתאם לכללים שמשויכים למאגר התגים.

לדוגמה, אם הקונטיינר כולל מאקרו של אוסף ערכים עם מפתח speed, הוא 32, וכלל ההפעלה הוא Language הוא 'en'. ואוסף ערכים נוסף מאקרו עם מפתח speed שהערך שלו הוא 45, וכלל ההפעלה הוא Language אינו "en", ולאחר מכן מבצע את הקריאה הבאה:

 container.getLong("speed")
יחזיר את הערך 32 אם השפה הנוכחית של המכשיר היא אנגלית, או 45 אם לא.

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

גרסה ראשונית של מאגר התגים מצורפת לאפליקציה. הוא צריך להיות מוצב כנכס עם שם tagmanager/containerId, כאשר containerId זהה מזהה מאגר התגים שבו משתמשים במסגרת ה-API הזה. כשקוראים לפונקציה openContainer(String, Container.Callback), המאגר יוחזרו עם אותם כללים/פקודות מאקרו. יוצרים את מאגר התגים בממשק המשתמש ומשתמשים בלחצן ההורדה כדי להוריד אותו.

אפשר לשנות את המאגר בממשק המשתמש ולפרסם גרסה חדשה. במקרה כזה, בפעם הבאה האפליקציה לנייד מעדכנת את המאגר מהרשת (כרגע כל 12 שעות), הוא יקבל את הגרסה החדשה. אחרי ש מפעילים את אחד מהתרחישים 'get...', הערך יחושב באמצעות הכללים העדכניים ביותר.

הקונטיינר שהורדתם נשמר באופן מקומי. כשתתבצע שיחה אל openContainer(String, Container.Callback), טוענת את מאגר ברירת המחדל, ולאחר מכן תטען באופן אסינכרוני כל מאגר תגים שנשמר. אם לא קיים נמצאה, או אם חלפו יותר מ-12 שעות, הוא ינסה לאחזר גרסה חדשה יותר מהרשת. כדי למצוא את הסטטוס של הטעינות האסינכרוניות האלה, מעבירים Container.Callback עד openContainer(String, Container.Callback).

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

כשמסיימים להשתמש במאגר, קוראים ל-close().

סיכום כיתה בתוך כיתה

משופר TagManager.Logger ממשק פשוט לרישום שגיאות/אזהרה/מידע/ניפוי באגים/מידע מפורט.
טיפוסים בני מנייה (enum) TagManager.RefreshMode מצב לרענון מאגר התגים.

סיכום השיטה הציבורית

מאגר תגים
getContainer(מחרוזת containerId)
הקשר
DataLayer
סטטי TagManager
getInstance(הקשר context)
יומן רישום
TagManager.RefreshMode
מאגר תגים
openContainer(מחרוזת containerId, Container.Callback קריאה חוזרת)
ריק
setLogger(Logger logger)
ריק

שיטות ציבוריות

ציבורי מאגר תגים getContainer (מחרוזת containerId)

הפונקציה מחזירה את המאגר הפתוח שמשויך ל-containerId; הפונקציה מחזירה את הערך null אם הקונטיינר עדיין לא פתוח.

ציבורי הקשר getContext ()

מחזירה את ההקשר השמור שמשויך לאובייקט הזה.

ציבורי DataLayer getDataLayer ()

מחזירה את אובייקט שכבת הנתונים שבו משתמש Tag Manager.

ציבורי סטטי TagManager getInstance (הקשר הקשר)

מקבלים את מופע ה-Singleton של המחלקה TagManager, ואם צריך, יוצרים אותו.

ציבורי יומן רישום getLogger ()

מחזירה את יומן הרישום שמשמש את Tag Manager.

ציבורי TagManager.RefreshMode getRefreshMode ()

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

ציבורי מאגר תגים openContainer (מחרוזת containerId, Container.Callback callback)

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

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

אם תתקשר אל openContainer פעם שנייה לcontainerId נתון, תופיע הודעת חריג.

פרמטרים
containerId המזהה של מאגר התגים שצריך לפתוח
קריאה חוזרת (callback) אובייקט שהשיטות השונות שלו ייקראו במהלך חלקים של הטעינה תהליך האימות. הערה: ייתכן שהקריאות ל-methods יהיו משרשורים שונים. בנוסף, הן עשויות תישלח קריאה לפני החזרה של openContainer.

ציבורי ריק setLogger (רישום ביומן יומן)

מחליפה את כלי הרישום הקיים שמשמש את Tag Manager.

ציבורי ריק setRefreshMode (TagManager.RefreshMode מצב)

הגדרת מצב הרענון שמשמש את כל הקונטיינרים.