مرجع الفئة 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: (TAGContainerOpener) مع تعيين المهلة إلى 0.5 ، وأن يضيف التنفيذ إلى Container-Container المهلة > TAGContainer-ContainerNotifier.

الوظائف الأساسية الثابتة للأعضاء

(id< TAGContainerFuture >)+ openContainerWithId:tagManager:openType:timeout:
 تنتظر مدة تصل إلى timeout ثانية حتى يتم تحميل الحاوية (غير تلقائية أو حديثة بناءً على openType المحددة) وتعرض TAGContainerFuture.
(مُلغاة)+ openContainerWithId:tagManager:openType:timeout:notifier:
 تنتظر مدة تصل إلى timeout ثانية حتى يتم تحميل الحاوية (غير تلقائية أو حديثة استنادًا إلى openType المحددة) وتطلب إشعارًا عندما تكون الحاوية متاحة.
(NSTimeInterval)+ defaultTimeout
 تعرض المهلة التلقائية لطلب الحاوية.

المستندات الخاصة بوظائف الأعضاء

+ (id<TAGContainerFuture>) openContainerWithId: (NSString *) containerId
TagManager: (TAGManager *) tagManager
openType: (TAGOpenType) openType
المهلة: (NSTimeInterval *) مهلة

تنتظر مدة تصل إلى timeout ثانية حتى يتم تحميل الحاوية (غير تلقائية أو حديثة بناءً على openType المحددة) وتعرض TAGContainerFuture.

إذا كان النوع المفتوح هو kTAGOpenTypePreferNonDefault، سيتم تحميل حاوية غير تلقائية (يتم حفظها أو استردادها من الشبكة)، وتتم إزالة حظر "TAGContainerFuture" فور حدوث أحد الإجراءَين التاليَين:

  • تحميل حاوية محفوظة.
  • إذا لم تكن هناك حاوية محفوظة، فسيتم تحميل حاوية شبكة أو حدث خطأ في الشبكة.
  • لانتهاء صلاحية المؤقت.

في حال حدوث خطأ في الشبكة أو انتهاء صلاحية الموقّت، قد تعرض الدالة get (TAGContainerFuture-p) حاوية افتراضية.

إذا كان النوع المفتوح هو kTAGOpenTypePreferFresh، سيتم تحميل حاوية جديدة (تم حفظها أو استردادها من الشبكة)، وإزالة حظر TAGContainerFuture بعد حدوث أحد الإجراءَين التاليَين:

  • تحميل حاوية جديدة محفوظة.
  • إذا لم تكن هناك حاوية محفوظة أو كانت أي حاوية محفوظة قديمة، فسيتم تحميل حاوية شبكة أو حدث خطأ في الشبكة.
  • لانتهاء صلاحية المؤقت.

في حال حدوث خطأ في الشبكة أو انتهاء صلاحية الموقّت، قد يحتوي العنصر get (TAGContainerFuture-p) على الإعدادات التلقائية أو على حاوية قديمة محفوظة.

إذا استدعيت إحدى طرق openContainer مرة أخرى باستخدام containerId محدد، سيتم عرض TAGContainerFuture التي ستعرض get (TAGContainerFuture-p) الحاوية نفسها التي جرت فيها الاستدعاء الأول.

المَعلمات:
containerIdرقم تعريف الحاوية المطلوب تحميلها.
tagManagerTAGManager للحصول على الحاوية.
وقت مستقطعالحدّ الأقصى لعدد الثواني التي يجب الانتظار خلالها لتحميل الحاوية من المتجر المحفوظ. وفي حال عدم ضبط هذه المهلة، سيتم استخدام defaultTimeout.
openTypeاختيار كيفية فتح الحاوية.
المرتجعات:
TAGContainerFuture ستنتظر لمدة تصل إلى timeout وتعرض الحاوية عند توفّرها.
+ (باطل) openContainerWithId: (NSString *) containerId
TagManager: (TAGManager *) tagManager
openType: (TAGOpenType) openType
المهلة: (NSTimeInterval *) مهلة
القائم بالإشعار: (id< TAGContainerOpenerNotifier >) إشعار

تنتظر مدة تصل إلى timeout ثانية حتى يتم تحميل الحاوية (غير تلقائية أو حديثة استنادًا إلى openType المحددة) وتطلب إشعارًا عندما تكون الحاوية متاحة.

إذا كان النوع المفتوح هو kTAGOpenTypePreferNonDefault، يتم تحميل حاوية غير تلقائية (يتم حفظها أو استردادها من الشبكة) وتمريرها إلى مُرسِل الإشعار. يتم استدعاء مُرسِل الإشعار فور حدوث واحد مما يلي:

  • تحميل حاوية محفوظة.
  • إذا لم تكن هناك حاوية محفوظة، فسيتم تحميل حاوية شبكة أو حدث خطأ في الشبكة.
  • لانتهاء مهلة الموقّت.

في حال حدوث خطأ في الشبكة أو انتهاء صلاحية الموقّت، تكون الحاوية التي يتم تمريرها إلى عنصر التنبيه هي حاوية تلقائية.

إذا كان النوع المفتوح هو kTAGOpenTypePreferFresh، يتم تحميل حاوية جديدة (تم حفظها أو استردادها من الشبكة) وتمريرها إلى مُرسِل الإشعار. يتم استدعاء مُرسِل الإشعار فور حدوث واحد مما يلي:

  • تحميل حاوية جديدة محفوظة.
  • إذا لم تكن هناك حاوية محفوظة أو كانت أي حاوية محفوظة قديمة، فسيتم تحميل حاوية شبكة أو حدث خطأ في الشبكة.
  • لانتهاء مهلة الموقّت.

في حال حدوث خطأ في الشبكة أو انتهاء صلاحية الموقّت، قد تحتوي الحاوية التي تم تمريرها إلى الإشعار على إعدادات تلقائية أو على حاوية قديمة محفوظة.

إذا استدعيت إحدى طرق openContainer مرة أخرى باستخدام containerId معيّن، سيتم تمرير الحاوية نفسها التي تم إرجاعها من الاستدعاء السابق إلى مُرسِل الإشعار فور توفُّرها.

المَعلمات:
containerIdرقم تعريف الحاوية المطلوب تحميلها.
tagManagerTAGManager المستخدَم للحصول على الحاوية.
openTypeاختيار كيفية فتح الحاوية.
وقت مستقطعالحدّ الأقصى لعدد الثواني التي يجب الانتظار خلالها لتحميل الحاوية من المتجر المحفوظ. وفي حال عدم ضبط هذه المهلة، سيتم استخدام defaultTimeout.
مُرسِل الإشعارإشعار اختياري سيتم طلبه عند توفُّر الحاوية. سيتم طلبه مع الحاوية الجديدة، إذا كان متاحًا وتم تحميلها قبل انتهاء المهلة؛ وإلا فسيتم استدعاؤها باستخدام حاوية غير حديثة. يُرجى العِلم أنّه قد يتم طلب مُرسِل الإشعار من سلسلة محادثات مختلفة.
+ (NSTimeInterval) defaultTimeout

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

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