סקירה כללית
כיתת עזר לפתיחת קונטיינרים.
זוהי 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 |
מחזירה את הזמן הקצוב לתפוגה שמוגדר כברירת מחדל לבקשת המאגר.
- החזרות:
- הזמן הקצוב לתפוגה שמוגדר כברירת מחדל בשניות.