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