הפניה למחלקת TAGמנהל


סקירה כללית

מחלקה שמשמשת כהטמעה בנייד של Google Tag Manager (GTM).

דוגמה לשימוש:

      TAGContainer *container =
          [[TAGManager instance] openContainerById:myContainerId];
      NSString *value = [container stringForKey:@"myKey"];
      TAGDataLayer *dataLayer =
          [[TAGManager instance] dataLayer];
      [dataLayer push:@{@"event": @"openScreen",
                        @"screenName": @"Main Page"}];

מאגר הוא אוסף של פקודות מאקרו, כללים ותגים. הוא נוצר באפליקציית GTM (http://www.google.com/tagmanager), ושמוקצה לו מזהה מאגר. מזהה מאגר התגים הזה הוא המזהה שנמצא בשימוש ב-API הזה.

המחלקה TAGContainer מספקת שיטות לאחזור ערכי מאקרו בהתאם לשם המאקרו. התרחישים booleanForKey: (TAGContainer), doubleForKey: (TAGContainer), int64ForKey: (TAGContainer), stringForKey: (TAGContainer) מחזירים את הערך הנוכחי של שם המאקרו של אוסף הערכים, בהתאם לכללים שמשויכים למאקרו הזה במאגר.

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

     [container longForKey:@"speed"]
 

תחזיר 32 אם השפה הנוכחית של המכשיר היא אנגלית, או 45 אחרת.

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

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

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

מאגר התגים שהורד נשמר באופן מקומי. כאשר תתבצע קריאה ל-openContainerById:callback: (TAGManager), המערכת תטען תחילה את מאגר התגים שמוגדר כברירת מחדל, ולאחר מכן תטען באופן אסינכרוני כל מאגר תגים שנשמר. אם לא נמצאה אף גרסה, או אם היא ישנה יותר מ-12 שעות, המערכת תנסה לאחזר גרסה חדשה יותר מהרשת. כדי למצוא את הסטטוס של הטעינה האסינכרונית האלה, יש להעביר TAGContainerCallback אל openContainerById:callback: (TAGManager).

לפעמים כדאי לחסום עד שמאגר תגים שאינו מוגדר כברירת מחדל יהיה זמין, או עד שמאגר חדש רענן מהזמן האחרון. כדי לעשות זאת, אפשר להשתמש בקריאות חוזרות (callback) ב-openContainerById:callback: (TAGManager) או להשתמש ב-TAGContainerOpener.

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

פונקציות של חברי ציבור

(TAGContainer *)- openContainerById:callback:
 מחזירה קונטיינר.
(TAGContainer *)- getContainerById:
 מחזירה את הקונטיינר המשויך ל-containerId הנתון; מחזירה nil אם המאגר עדיין לא פתוח.
(BOOL) - previewWithUrl:
 הצגת האפליקציה בתצוגה מקדימה עם כתובת ה-URL לקלט.
(void) - שליחה
 שולח את כל התנועה הממתינה ברשת שנוצרה על ידי תגים (פיקסלים שרירותיים, משׂואות רשת (beacon) וכו').
(void) - dispatchWithCompletionHandler:
 שולח את תנועת הרשת הממתינה הבאה בתור, וקורא ל-CompleteHandler כאשר הבקשה נשלחה (מוחזרת kTAGDispatchGood) או שהתקבלה שגיאה (החזרת kTAGDispatchError).

פונקציות סטטיות של חברים ציבוריים

(TAGManager *)+ מכונה
 הפונקציה מקבלת את מופע ה-Singleton של המחלקה TAGManager, ויוצרת אותה במקרה הצורך.

נכסים

id< TAGLogger >logger
 יומן הרישום שבו יש להשתמש עבור SDK של מנהל התגים של Google.
TAGRefreshModerefreshMode
 מצב הרענון שבו נעשה שימוש ב-SDK של מנהל התגים של Google.
TAGDataLayerdataLayer
 שיטת push: (TAGDataLayer) קריאה לדחיפת אירועים ונתונים אחרים.
NSTimeIntervaldispatchInterval
 אם הערך הזה חיובי, פרטי המעקב יישלחו באופן אוטומטי כל שניות לאחר מכן.

תיעוד לגבי פונקציות חברים

- (TAGContainer *) openContainerById: (NSString *) containerId
קריאה חוזרת (callback): (id< TAGContainerCallback >) התקשרות חזרה

מחזירה קונטיינר.

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

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

אם openContainerById:callback: מופעל פעם שנייה ב-containerId נתון, הערך nil יוחזר אלא אם המאגר הקודם שנפתח כבר נסגר.

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

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

- (BOOL) previewWithUrl: (NSURL *) כתובת URL

הצגת האפליקציה בתצוגה מקדימה עם כתובת ה-URL לקלט.

כתובת URL חוקית חייבת להתחיל ב:

 tagmanager.c.<app_name>://preview/p?id=

כאשר <app_name> הוא שם האפליקציה.

פרמטרים:
כתובת אתרכתובת ה-URL של התצוגה המקדימה.
החזרות:
כן אם כתובת ה-URL היא כתובת URL חוקית לתצוגה מקדימה של tagmanager.

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

החזרות:
מופע ה-Singleton של TAGManager.
- (ריק) שליחה

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

- (בטל) dispatchWithCompletionHandler: (TAG תוצאות השליחה) completionHandler

שולח את תנועת הרשת הממתינה הבאה בתור, וקורא ל-CompleteHandler כאשר הבקשה נשלחה (מוחזרת kTAGDispatchGood) או שהתקבלה שגיאה (החזרת kTAGDispatchError).

אם אין חיבור לרשת או שאין נתונים לשליחה, מוחזר kTAGDispatchNoData.

קריאה לשיטה הזו עם nil completeHandler זהה לקריאה לשגר.

ניתן להשתמש בשיטה הזו לאחזור נתוני רקע ב-iOS 7.0 ואילך.

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


מסמכי תיעוד לגבי הנכס

- (id<TAGLogger>) logger [read, write, assign]

יומן הרישום שבו יש להשתמש עבור SDK של מנהל התגים של Google.

כברירת מחדל, מערכת Google Tag Manager מתעדת הודעות שגיאה/אזהרה ומתעלמת מהודעות מידע/ניפוי באגים/הודעות מילוליות. ניתן להשתמש ביומן האישי שלך על ידי הגדרת המאפיין הזה.

- (TAGRefreshMode) refreshMode [read, write, assign]

מצב הרענון שבו נעשה שימוש ב-SDK של מנהל התגים של Google.

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

- (TAGDataLayer*) dataLayer [read, assign]

שיטת push: (TAGDataLayer) קריאה לדחיפת אירועים ונתונים אחרים.

- (NSTimeInterval) dispatchInterval [read, write, assign]

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

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

ערך ברירת המחדל הוא '120', כלומר פרטי המעקב יישלחו באופן אוטומטי כל 120 שניות.