مرجع الفئة TAGContainerOpener

مرجع الفئة TAGContainerOpener

نظرة عامة

فئة مساعدة لفتح الحاويات

هذا برنامج تضمين حول طريقة 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رقم تعريف الحاوية المطلوب تحميلها
tagManagerTAGManager للحصول على الحاوية.
وقت مستقطعالحد الأقصى لعدد الثواني التي يجب الانتظار خلالها لتحميل الحاوية من المتجر المحفوظ. وإذا لم تكن هناك قيمة، سيتم استخدام 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

تعرِض المهلة التلقائية لطلب الحاوية.

المرتجعات:
انتهاء المهلة التلقائية بالثواني.