זהו יישום של 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"));
המחלקה Container מספקת שיטות לאחזור ערכים שניתנים למפתח.
התרחישים getBoolean(String), getDouble(String)
getLong(String), getString(String) מחזירה את הערך הנוכחי
למפתח של מאקרו של אוסף ערכים,
בהתאם לכללים שמשויכים למאגר התגים.
לדוגמה, אם הקונטיינר כולל מאקרו של אוסף ערכים עם מפתח speed,
הוא 32, וכלל ההפעלה הוא Language הוא 'en'. ואוסף ערכים נוסף
מאקרו עם מפתח speed שהערך שלו הוא 45, וכלל ההפעלה הוא
Language אינו "en", ולאחר מכן מבצע את הקריאה הבאה:
container.getLong("speed")
שכבת הנתונים היא מפה שמכילה מידע כללי על האפליקציה.
המחלקה 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 | |
| מאגר תגים | |
| ריק | |
| ריק |
שיטות ציבוריות
ציבורי מאגר תגים getContainer (מחרוזת containerId)
הפונקציה מחזירה את המאגר הפתוח שמשויך ל-containerId;
הפונקציה מחזירה את הערך null אם הקונטיינר עדיין לא פתוח.
ציבורי הקשר getContext ()
מחזירה את ההקשר השמור שמשויך לאובייקט הזה.
ציבורי סטטי TagManager getInstance (הקשר הקשר)
מקבלים את מופע ה-Singleton של המחלקה TagManager, ואם צריך, יוצרים אותו.
ציבורי TagManager.RefreshMode getRefreshMode ()
הפונקציה מחזירה את מצב הרענון שבו נעשה שימוש בכל הקונטיינרים.
ציבורי מאגר תגים openContainer (מחרוזת containerId, Container.Callback callback)
מחזירה מאגר. תתבצע קריאה חוזרת (callback) כי קורים דברים שונים מאגר התגים. לכל הפחות, openContainer ינסה לטעון גרסה שמורה של מאגר תגים. אם אין גרסה שמורה, או אם הגרסה השמורה לא עדכנית, אפשר לנסות עשוי להיטען מהרשת.
בדרך כלל, המאגר המוחזר יהיה ריק, אבל הטעינה תבוצע במאגר נפרד כך שהמאגר המוחזר עשוי לעבור רענון לפני שהוא מוחזר, לאחר שהוא מוחזר, או שלעולם לא יתבצע רענון (אם, לדוגמה, אין חיבור לרשת במהלך כל משך החיים של המשתמש של המאגר).
אם תתקשר אל openContainer פעם שנייה לcontainerId נתון,
תופיע הודעת חריג.
פרמטרים
| containerId | המזהה של מאגר התגים שצריך לפתוח |
| קריאה חוזרת (callback) | אובייקט שהשיטות השונות שלו ייקראו במהלך חלקים של הטעינה
תהליך האימות. הערה: ייתכן שהקריאות ל-methods יהיו משרשורים שונים. בנוסף, הן עשויות
תישלח קריאה לפני החזרה של openContainer.
|