نظرة عامة
فئة مساعدة لفتح الحاويات
هذا برنامج تضمين حول طريقة 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 ، وأضِف التنفيذ إلى الحاوية متوفر_للحاوية: (TAG)
دوال الأعضاء العامة الثابتة | |
(المعرّف< TAGContainerFuture >) | + openContainerWithId:tagManager:openType:timeout: |
تنتظر حتى timeout ثانية لكي يتم تحميل الحاوية (غير تلقائية أو جديدة استنادًا إلى openType محدّد)، وتعرض TAGContainerFuture . | |
(void) | + openContainerWithId:tagManager:openType:timeout:notifier: |
تنتظر ما يصل إلى timeout ثانية إلى أن يتم تحميل الحاوية (غير تلقائية أو جديدة استنادًا إلى openType محدّد)، ثم يتم استدعاء تنبيه عندما تكون الحاوية متاحة. | |
(NSTimeInterval) | + defaultTimeout |
تعرِض المهلة التلقائية لطلب الحاوية. |
وثائق وظائف الأعضاء
+ (id<TAGContainerFuture>) openContainerWithId: | (NSString *) | containerId | |
إدارة العلامات: | (TAGManager *) | tagManager | |
openType: | (TAGOpenType) | openType | |
المهلة: | (NSTimeInterval *) | timeout | |
تنتظر حتى timeout
ثانية لكي يتم تحميل الحاوية (غير تلقائية أو جديدة استنادًا إلى openType
محدّد)، وتعرض TAGContainerFuture
.
إذا كان النوع المفتوح هو kTAGOpenTypePreferNonDefault
، يتم تحميل حاوية غير تلقائية (تم حفظها أو استردادها من الشبكة) وستتم إزالة حظر TAGContainerFuture
فور حدوث أي مما يلي:
- تحميل حاوية محفوظة.
- إذا لم تكن هناك حاوية محفوظة، يتم تحميل حاوية شبكة أو يحدث خطأ في الشبكة.
- تنتهي صلاحية الموقّت.
في حالة حدوث خطأ في الشبكة أو انتهاء صلاحية الموقّت، قد تعرض get (TAGContainerFuture-p) حاوية تلقائية.
إذا كان النوع المفتوح هو kTAGOpenTypePreferFresh
، يتم تحميل حاوية جديدة (محفوظة أو مُستردَّة من الشبكة) وتتم إزالة حظر TAGContainerFuture فور حدوث أي مما يلي:
- يتم تحميل حاوية جديدة محفوظة.
- إذا لم تكن هناك حاوية محفوظة أو أي حاوية محفوظة قديمة، يتم تحميل حاوية شبكة أو حدوث خطأ في الشبكة.
- تنتهي صلاحية الموقّت.
إذا حدث خطأ في الشبكة أو انتهت صلاحية الموقّت، قد يحتوي الخيار (TAGContainerFuture-p) على القيم التلقائية أو حاوية محفوظة قديمة.
إذا استدعيت إحدى طرق openContainer في المرة الثانية باستخدام containerId
محدّد، سيتم عرض TAGContainerFuture
وستعرِض دالة get (TAGContainerFuture-p) الحاوية نفسها التي ستعرضها الاستدعاء الأول.
- المَعلمات:
-
containerId رقم تعريف الحاوية المطلوب تحميلها tagManager TAGManager للحصول على الحاوية. وقت مستقطع الحد الأقصى لعدد الثواني التي يجب الانتظار خلالها لتحميل الحاوية من المتجر المحفوظ. وإذا لم تكن هناك قيمة، سيتم استخدام defaultTimeout. openType اختيار كيفية فتح الحاوية.
- المرتجعات:
- TAGContainerFuture ستنتظر حتى
timeout
وتعيد الحاوية عندما تكون متاحة.
+ (void) openContainerWithId: | (NSString *) | containerId | |
إدارة العلامات: | (TAGManager *) | tagManager | |
openType: | (TAGOpenType) | openType | |
المهلة: | (NSTimeInterval *) | مهلة | |
جهاز التنبيه: | (المعرّف< TAGContainerOpenerNotifier >) | مُرسِل الإشعار | |
تنتظر ما يصل إلى timeout
ثانية إلى أن يتم تحميل الحاوية (غير تلقائية أو جديدة استنادًا إلى openType
محدّد)، ثم يتم استدعاء تنبيه عندما تكون الحاوية متاحة.
إذا كان النوع المفتوح هو kTAGOpenTypePreferNonDefault
، يتم تحميل حاوية غير تلقائية (يتم حفظها أو استردادها من الشبكة) وتمريرها إلى جهاز الإشعار. يتم استدعاء جهاز التنبيه فور حدوث أي مما يلي:
- تحميل حاوية محفوظة.
- إذا لم تكن هناك حاوية محفوظة، يتم تحميل حاوية شبكة أو يحدث خطأ في الشبكة.
- تنتهي صلاحية الموقّت.
وفي حال حدوث خطأ في الشبكة أو انتهاء صلاحية الموقّت، تكون الحاوية التي تم تمريرها إلى جهاز الإشعار هي حاوية تلقائية.
إذا كان النوع المفتوح هو kTAGOpenTypePreferFresh
، يتم تحميل حاوية جديدة (محفوظة أو مُستردَّة من الشبكة) وتمريرها إلى جهاز الإشعار. يتم استدعاء جهاز التنبيه فور حدوث أي مما يلي:
- يتم تحميل حاوية جديدة محفوظة.
- إذا لم تكن هناك حاوية محفوظة أو أي حاوية محفوظة قديمة، يتم تحميل حاوية شبكة أو حدوث خطأ في الشبكة.
- تنتهي صلاحية الموقّت.
في حال حدوث خطأ في الشبكة أو انتهاء صلاحية الموقّت، قد تحتوي الحاوية التي تم تمريرها إلى جهاز التنبيه على القيم التلقائية أو حاوية محفوظة قديمة.
إذا تم استدعاء إحدى طرق openContainer للمرة الثانية باستخدام containerId
محدّد، سيتم تمرير الحاوية نفسها الناتجة من الاستدعاء السابق إلى المُنبّه فور توفّره.
- المَعلمات:
-
containerId رقم تعريف الحاوية المطلوب تحميلها tagManager يُستخدَم TAGManager للحصول على الحاوية. openType اختيار كيفية فتح الحاوية. وقت مستقطع الحد الأقصى لعدد الثواني التي يجب الانتظار خلالها لتحميل الحاوية من المتجر المحفوظ. وإذا لم تكن هناك قيمة، سيتم استخدام defaultTimeout. جهاز التنبيه جهاز تنبيه اختياري سيتم استدعاؤه عند توفر الحاوية. سيتم طلبها مع الحاوية الجديدة إذا كانت متاحة وتحميلها قبل انتهاء المهلة. وبخلاف ذلك، سيتم طلبها باستخدام حاوية غير حديثة. يُرجى العِلم أنّه قد يتم استدعاء مُرسِل الإشعار من سلسلة محادثات مختلفة.
+ (NSTimeInterval) defaultTimeout |
تعرِض المهلة التلقائية لطلب الحاوية.
- المرتجعات:
- انتهاء المهلة التلقائية بالثواني.