مرجع الصف في TAGManager


نظرة عامة

هي فئة تطبيقات للأجهزة الجوّالة من "إدارة العلامات من Google" (GTM).

مثال للاستخدام:

      TAGContainer *container =
          [[TAGManager instance] openContainerById:myContainerId];
      NSString *value = [container stringForKey:@"myKey"];
      TAGDataLayer *dataLayer =
          [[TAGManager instance] dataLayer];
      [dataLayer push:@{@"event": @"openScreen",
                        @"screenName": @"Main Page"}];

الحاوية هي مجموعة من وحدات الماكرو والقواعد والعلامات. يتم إنشاؤها ضمن تطبيق "إدارة العلامات من Google" (http://www.google.com/tagmanager)، ويتم تخصيص رقم تعريف حاوية لها. رقم تعريف الحاوية هذا هو الرقم المستخدَم ضمن واجهة برمجة التطبيقات هذه.

توفر فئة TAGContainer طرقًا لاسترداد قيم الماكرو حسب اسم وحدة الماكرو. تعرض سلاسل الإجراءات booleanForKey: (TAGContainer) وdoubleForKey: (TAGContainer) وint64ForKey: (TAGContainer) وstringForKey: (TAGContainer) تعرض القيمة الحالية لاسم ماكرو مجموعة القيم، استنادًا إلى القواعد المرتبطة بذلك وحدة الماكرو في الحاوية.

على سبيل المثال، إذا كانت الحاوية تحتوي على ماكرو لمجموعة قيم مع مفتاح "السرعة" التي قيمتها 32 وقاعدة التفعيل Language هي "en"؛ وحدة ماكرو أخرى لمجموعة القيم تحتوي على مفتاح "السرعة" قيمتها 45، وقاعدة التفعيل هي اللغة ليست "en"، ثم يتم إجراء الاتصال التالي:

     [container longForKey:@"speed"]
 

ستعرض إما 32 إذا كانت اللغة الحالية للجهاز هي الإنجليزية، أو 45 بخلاف ذلك.

طبقة البيانات عبارة عن خريطة تحتوي على معلومات عامة عن التطبيق. توفر الفئة TAGDataLayer طرقًا لدفع البيانات واستردادها من طبقة البيانات. سيؤدي دفع مفتاح event إلى طبقة البيانات إلى تنشيط العلامات التي تطابق هذا الحدث.

يتم إرفاق إصدار أوّلي من الحاوية مع التطبيق. ويجب وضعه كمورد في الحزمة التي تحمل الاسم containerId حيث يكون containerId هو رقم تعريف الحاوية نفسه الذي ستستخدمه ضمن واجهة برمجة التطبيقات هذه. عند استدعاء openContainerById:callback: (TAGManager)، سيتم عرض الحاوية مع هذه القواعد/العلامات/وحدات الماكرو المجمّعة. ستقوم بإنشاء الحاوية في واجهة المستخدم واستخدام زر التنزيل لتنزيلها.

يمكنك تعديل الحاوية في واجهة المستخدم ونشر إصدار جديد. وفي هذه الحالة، سيحصل تطبيق الأجهزة الجوّالة على هذا الإصدار الجديد عندما يُحدّث الحاوية من الشبكة (حاليًا كل 12 ساعة). عند استدعاء إحدى سلاسل إجراءات الحصول على...، سيتم احتساب القيمة باستخدام أحدث القواعد.

يتم حفظ الحاوية التي تم تنزيلها على الجهاز. عند استدعاء openContainerById:callback: (TAGManager)، سيتم أولاً تحميل الحاوية التلقائية، ثم تحميل أي حاوية محفوظة بشكلٍ غير متزامن. في حال عدم العثور على أي منها أو إذا مرّ أكثر من 12 ساعة، سيحاول استرداد نسخة أحدث من الشبكة. يمكنك العثور على حالة عمليات التحميل غير المتزامنة هذه من خلال تمرير TAGContainerCallback إلى openContainerById:callback: (TAGManager).

قد تحتاج أحيانًا إلى الحظر إلى أن تتوفر حاوية غير تلقائية، أو إلى أن تتوفر حاوية جديدة حديثة. يمكنك إجراء ذلك باستخدام عمليات الاستدعاء في openContainerById:callback: (TAGManager) أو استخدام TAGContainerOpener.

عند الانتهاء من إحدى الحاويات، يمكنك استدعاء Close (TAGContainer).

الوظائف العامة

(TAGContainer *)- openContainerById:callback:
 تعرض حاوية.
(TAGContainer *)- getContainerById:
 تعرض الحاوية المرتبطة بـ containerId المحدّد. تعرض القيمة nil إذا لم تكن الحاوية مفتوحة مسبقًا.
(منطقي)- previewWithUrl:
 معاينة التطبيق باستخدام عنوان URL الذي تم إدخاله
(مُلغاة)- dispatch
 لنقل أي حركة بيانات معلّقة للشبكة تم إنشاؤها بواسطة العلامات (وحدات البكسل العشوائية وإشارات التحليلات وغير ذلك).
(مُلغاة)- dispatchWithCompletionHandler:
 يرسِل حركة بيانات الشبكة التالية المعلّقة في قائمة الانتظار، مما يستدعي totalHandler عند إرسال الطلب (إرجاع kTAGDispatchGood) أو نتج عنه خطأ (عرض kTAGDispatchError).

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

(TAGManager *)+ مثيل
 يحصل على مثيل مفردات لفئة TAGManager، ويتم إنشاؤه إذا لزم الأمر.

أماكن إقامة

id< TAGLogger >أداة التسجيل
 المسجّل المطلوب استخدامه لحزمة تطوير البرامج (SDK) الخاصة بأداة "إدارة العلامات من Google"
TAGRefreshModerefreshMode
 وضع إعادة التحميل المستخدَم في حزمة تطوير البرامج (SDK) لأداة "إدارة العلامات من Google"
TAGDataLayer *dataLayer
 طلب push: (TAGDataLayer) لإرسال الأحداث والبيانات الأخرى.
NSTimeIntervaldispatchInterval
 إذا كانت هذه القيمة موجبة، فسيتم إرسال معلومات التتبّع تلقائيًا في كل ثانية dispatchInterval.

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

- (TAGContainer *) openContainerById: (NSString *) containerId
رد الاتصال: (id< TAGContainerCallback >) معاودة الاتصال

تعرض حاوية.

عادةً ما تكون الحاوية التي تم عرضها فارغة، ولكن سيحدث التحميل بشكل غير متزامن، لذلك قد يتم تحديث الحاوية التي تم إرجاعها قبل عرضها أو بعد إعادتها أو قد لا تتم إعادة تحميلها مطلقًا في حال عدم توفُّر اتصال بالشبكة خلال مدة الحاوية منذ إنشائه.

سيتم استدعاء معاودة الاتصال نظرًا لحدوث أشياء مختلفة للحاوية. على الأقل، سيحاول openContainerById:callback: تحميل إصدار محفوظ من الحاوية. وإذا لم تتوفّر أي نسخة محفوظة أو إذا كانت النسخة المحفوظة قديمة، سيُجري المستخدم تحميلاً من الشبكة.

إذا تم استدعاء openContainerById:callback: مرة ثانية لـ containerId محدّد، سيتم عرض nil ما لم يتم إغلاق الحاوية المفتوحة السابقة مسبقًا.

المَعلمات:
containerIdرقم تعريف الحاوية المطلوب فتحها.
رد الاتصاليشير ذلك المصطلح إلى كائن سيتم استدعاء الطرق المختلفة منه أثناء عملية التحميل. لاحظ أنه قد يتم استدعاء الطرق من سلاسل محادثات مختلفة. بالإضافة إلى ذلك، قد يتم استدعاؤها قبل إرجاع openContainerById:callback:.
المرتجعات:
الحاوية المفتوحة.
- (TAGContainer *) getContainerById: (NSString *) containerId

تعرض الحاوية المرتبطة بـ containerId المحدّد. تعرض القيمة nil إذا لم تكن الحاوية مفتوحة مسبقًا.

- (منطقي) previewWithUrl: (NSURL *) url

معاينة التطبيق باستخدام عنوان URL الذي تم إدخاله

يجب أن يبدأ عنوان URL الصالح بما يلي:

 tagmanager.c.<app_name>://preview/p?id=

حيث <app_name> هو اسم التطبيق.

المَعلمات:
urlتمثّل هذه السمة عنوان URL للمعاينة.
المرتجعات:
نعم إذا كان عنوان URL عبارة عن عنوان URL صالح لمعاينة أداة إدارة العلامات.

يحصل على مثيل مفردات لفئة TAGManager، ويتم إنشاؤه إذا لزم الأمر.

المرتجعات:
مثيل فردي لـ TAGManager.
- (غير صالح) إرسال

لنقل أي حركة بيانات معلّقة للشبكة تم إنشاؤها بواسطة العلامات (وحدات البكسل العشوائية وإشارات التحليلات وغير ذلك).

- (غير محدد) dispatchWithCompletionHandler: (TAGDispatchResult) completionHandler

يرسِل حركة بيانات الشبكة التالية المعلّقة في قائمة الانتظار، مما يستدعي totalHandler عند إرسال الطلب (إرجاع kTAGDispatchGood) أو نتج عنه خطأ (عرض kTAGDispatchError).

إذا لم يكن هناك اتصال بالشبكة أو لم تكن هناك بيانات لإرسالها، فسيتم عرض kTAGDispatchNoData.

إن استدعاء هذه الطريقة باستخدام nilcompleteHandler يشبه استدعاء الإرسال.

يمكن استخدام هذه الطريقة لجلب بيانات الخلفية في الإصدار iOS 7.0 أو الإصدارات الأحدث.

من الحكمة استدعاء هذا عند الخروج من التطبيق لبدء إرسال أي معلومات تتبُّع لم يتم إرسالها.


وثائق العقارات

- (id<TAGLogger>) أداة التسجيل [read, write, assign]

المسجّل المطلوب استخدامه لحزمة تطوير البرامج (SDK) الخاصة بأداة "إدارة العلامات من Google"

تسجّل أداة "إدارة العلامات من Google" تلقائيًا رسائل الخطأ/التحذير، وتتجاهل رسائل المعلومات/تصحيح الأخطاء/الرسائل المطوَّلة. يمكنك استخدام أداة التسجيل المخصّصة عن طريق إعداد هذه السمة.

- (TAGRefreshMode) refreshMode [read, write, assign]

وضع إعادة التحميل المستخدَم في حزمة تطوير البرامج (SDK) لأداة "إدارة العلامات من Google"

يؤدي ضبط هذا الإعداد على kTAGRefreshModeDefaultContainer إلى السماح لطريقة إعادة التحميل باستخدام الحاوية التلقائية فقط لأغراض التطوير. القيمة التلقائية هي kTAGRefreshModeStandard.

- (TAGDataLayer*) dataLayer [read, assign]

طلب push: (TAGDataLayer) لإرسال الأحداث والبيانات الأخرى.

- (NSTimeInterval) dispatchInterval [read, write, assign]

إذا كانت هذه القيمة موجبة، فسيتم إرسال معلومات التتبّع تلقائيًا في كل ثانية dispatchInterval.

وبخلاف ذلك، يجب إرسال معلومات التتبُّع يدويًا من خلال طلب الإرسال.

يتم ضبط هذا الخيار تلقائيًا على "120"، ما يشير إلى أنّه سيتم إرسال معلومات التتبُّع تلقائيًا كل 120 ثانية.