مرجع الصف في 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، وكانت قاعدة التفعيل هي اللغة "en"، وماكرو آخر لجمع القيم يحتوي على مفتاح "سرعة" تكون قيمته 45، وقاعدة التفعيل هي اللغة ليست "en"، فعندئذٍ يجب إجراء الاستدعاء التالي:

     [container longForKey:@"speed"]
 

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

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

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

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

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

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

عند الانتهاء من استخدام حاوية، استدعِ Close (TAGContainer).

وظائف الأعضاء العامين

(TAGContainer *)- openContainerById:callback:
 لعرض حاوية.
(TAGContainer *)- getContainerById:
 تعرض الحاوية المرتبطة بـ containerId المحددة، وتعرض nil إذا لم تكن الحاوية مفتوحة من قبل.
(BOOL) - previewWithUrl:
 يعاين التطبيق باستخدام عنوان URL الذي تم إدخاله.
(void) - يرسل
 تنقل أي حركة بيانات في انتظار المراجعة تم إنشاؤها بواسطة العلامات (وحدات بكسل عشوائية، وإشارات الإحصاءات، وما إلى ذلك).
(void) - dispatchWithCompleteHandler:
 تنقل حركة بيانات الشبكة التالية التي تنتظر المراجعة في قائمة الانتظار، مع استدعاءcompleteHandler عند إرسال الطلب (مع عرض kTAGDispatchGood) أو حدوث خطأ (عرض kTAGDispatchError).

دوال الأعضاء العامة الثابتة

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

المواقع

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

وثائق وظائف الأعضاء

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

لعرض حاوية.

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

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

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

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

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

- (BOOL) previewWithUrl: (NSURL *) عنوان URL

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

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

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

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

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

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

المرتجعات:
مثيل سينغلتون لـ TAGManager.
- (باطل) الإرسال

تنقل أي حركة بيانات في انتظار المراجعة تم إنشاؤها بواسطة العلامات (وحدات بكسل عشوائية، وإشارات الإحصاءات، وما إلى ذلك).

- (باطل) dispatchWithCompleteHandler: (TAGDispatchResult) completionHandler

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

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

يشبه استدعاء هذه الطريقة بمعالج إكمال صفر يشبه استدعاء الإرسال.

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

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


وثائق العقار

- (id<TAGLogger>) logger [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]

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

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

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