הפניה לכיתה של TAGContainerOpener

הפניה לכיתה של TAGContainerOpener

סקירה כללית

כיתת עזר לפתיחת קונטיינרים.

זוהי wrapper סביב השיטה openContainerById:callback: (TAGManager) למתקשרים, שמספקת תמיכה בזמן הקצוב לתפוגה.

למטה מוצגת טעימה של המתנה של עד 0.1 שניות לטעינת המאגר לפני חזרה למאגר ברירת המחדל:

     NSTimeInterval timeout = 0.1;
     TagManager *tagManager = [TagManager instance];
     TAGContainerFuture *future =
         [TAGContainerOpener openContainerWithId:@"GTM-XXXX"
                                      tagManager:tagManager
                                        openType:kTAGOpenTypePreferNonDefault
                                         timeout:&timeout];
     TAGContainer *container = [future get];
 

אם המתקשר רוצה לקבל הודעה אסינכרונית כשהמאגר זמין אבל רוצה לציין באופן ידני את הזמן הקצוב לתפוגה של 0.5 שניות, עליו לתת סיווג משנה ל-TAGContainerOpenerNotifier, לבצע את הקריאה ל-openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) ולהגדיר את הזמן הקצוב לתפוגה של 0.5, ולהוסיף את ההטמעה ל-containerOpenerAvailable.

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

(id< TAGContainerFuture >)+ openContainerWithId:tagManager:openType:timeout:
 בהמתנה של עד timeout שניות לטעינת מאגר (לא ברירת המחדל או רענון בהתאם ל-openType שצוין) ומחזירה TAGContainerFuture.
(void) + openContainerWithId:tagManager:openType:timeout:notifier:
 המערכת ממתינה עד timeout שניות לטעינת מאגר (לא ברירת המחדל או רענון בהתאם ל-openType שצוין) וקוראת למיידע כשמאגר התגים זמין.
(NSTimeInterval)+ defaultTimeout
 מחזירה את הזמן הקצוב לתפוגה שמוגדר כברירת מחדל לבקשת המאגר.

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

+ (id<TAGContainerFuture>) openContainerWithId: (NSString *) containerId
Tag Manager: (TAGManager *) tagManager
openType: (TAGOpenType) openType
פסק זמן: (NSTimeInterval *) timeout (זמן קצוב לתפוגה)

בהמתנה של עד timeout שניות לטעינת מאגר (לא ברירת המחדל או רענון בהתאם ל-openType שצוין) ומחזירה TAGContainerFuture.

אם הסוג הפתוח הוא kTAGOpenTypePreferNonDefault, נטען מאגר תגים שאינו מוגדר כברירת מחדל (נשמר או אוחזר מהרשת), והחסימה של TAGContainerFuture מבוטלת ברגע שמתרחש אחד מהמצבים הבאים:

  • נטען קונטיינר שמור.
  • אם לא קיים מאגר תגים שמור, נטען מאגר רשת או שמתרחשת שגיאת רשת.
  • תסתיים הטיימר.

אם מתרחשת שגיאת רשת או שתוקף הטיימר פג, get (TAGContainerFuture-p) עשוי להחזיר מאגר ברירת מחדל.

אם הסוג הפתוח הוא kTAGOpenTypePreferFresh, נטען קונטיינר חדש (נשמר או אוחזר מהרשת) והחסימה של TAGContainerFuture מבוטלת ברגע שמתרחשת אחת מהפעולות הבאות:

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

אם מתרחשת שגיאת רשת או שתוקף הטיימר פג, הפקודה get (TAGContainerFuture-p) עשויה להכיל ברירות מחדל או מאגר לא פעיל שנשמר.

אם תתבצע קריאה שנייה לאחת משיטות OpenContainer עם containerId נתון, יוחזר TAGContainerFuture שה-get (TAGContainerFuture-p) יחזיר את אותו קונטיינר כמו הקריאה הראשונה.

פרמטרים:
containerIdהמזהה של המאגר שצריך לטעון.
tagManagerה-TAGManager לקבלת המאגר.
פסק זמןמספר השניות המקסימלי שצריך להמתין לטעינת המאגר מהחנות השמורה. אם הערך הוא nil, ייעשה שימוש ב-defaultTimeout.
openTypeהבחירה כיצד לפתוח את הקונטיינר.
החזרות:
TAGContainerFuture שימתין עד timeout ויחזיר את המאגר כשהוא יהיה זמין.
+ (void) openContainerWithId: (NSString *) containerId
Tag Manager: (TAGManager *) tagManager
openType: (TAGOpenType) openType
פסק זמן: (NSTimeInterval *) זמן קצוב לתפוגה
שירות הודעות: (id< TAGContainerOpenerNotifier >) שירות הודעות

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

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

  • נטען קונטיינר שמור.
  • אם לא קיים מאגר תגים שמור, נטען מאגר רשת או שמתרחשת שגיאת רשת.
  • תסתיים הטיימר.

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

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

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

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

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

פרמטרים:
containerIdהמזהה של המאגר שצריך לטעון.
tagManagerה-TAGManager ששימש להורדת המאגר.
openTypeהבחירה כיצד לפתוח את הקונטיינר.
פסק זמןמספר השניות המקסימלי שצריך להמתין לטעינת המאגר מהחנות השמורה. אם הערך הוא nil, ייעשה שימוש ב-defaultTimeout.
שירות הודעותשירות הודעות אופציונלי שייקרא כשהמאגר יהיה זמין. הוא יופעל באמצעות מאגר התגים החדש, אם הוא זמין ונטען לפני הזמן הקצוב לתפוגה. אחרת, הוא יופעל באמצעות מאגר שאינו עדכני. לתשומת ליבכם: יכול להיות שהשירות של שירות ההודעות יופעל משרשור אחר.
+ (NSTimeInterval) defaultTimeout

מחזירה את הזמן הקצוב לתפוגה שמוגדר כברירת מחדל לבקשת המאגר.

החזרות:
הזמן הקצוב לתפוגה שמוגדר כברירת מחדל בשניות.