يشرح هذا الدليل كيفية إنشاء تطبيق iOS وتنفيذه في Swift لتتبُّع الأحداث التي يتم فتحها وضغط على الأزرار باستخدام أداة "إدارة العلامات من Google" (GTM).
1- خطوات إنشاء مشروع جديد
- افتح Xcode.
- انقر على إنشاء مشروع Xcode جديد.
- اختَر تطبيق عرض واحد.
- انقر على التالي.
- قم بتسمية مشروعك وتحديد خيارات إضافية له. سيكون اسم مشروعك
واسم تطبيقك مطابقًا لاسم المنتج.
- انقر على التالي.
- اختَر موقعًا جغرافيًا للمشروع (دليل).
- انقر على إنشاء.
2. تثبيت العناصر الاعتمادية لأداة "إدارة العلامات من Google"
- عليك إنهاء Xcode.
- في وحدة طرفية، شغِّل الأمر التالي لتثبيت
Cocoapods:
$ sudo gem install cocoapods
- انتقِل إلى دليل مشروعك.
- نفِّذ الأمر التالي لإنشاء ملف باسم
Podfile
:$ pod init
- في
Podfile
، يمكنك إلغاء تعليقuse_frameworks!
وإضافةpod 'GoogleTagManager'
إلى الهدف: - شغِّل الأمر التالي لتنزيل تبعيات أداة "إدارة العلامات من Google" (GTM)
وتثبيتها على مشروعك:
$ pod install
يؤدي هذا الأمر أيضًا إلى إنشاء مساحة العمل
GtmSwiftTutorial.xcworkspace
. من الآن فصاعدًا، يمكنك استخدام مساحة العمل هذه لتطوير تطبيق "GtmSwiftTutorial
".
# Uncomment this line if you're using Swift use_frameworks! target 'GtmSwiftTutorial' do pod 'GoogleTagManager' end
3. إضافة عنوان جسر لمكتبات Object-C
لإنشاء ملف عنوان مشترك:
- افتح Xcode.
- انقر على ملف > جديد > ملف.
- ضمن iOS > المصدر، اختَر ملف العنوان.
- انقر على التالي.
- أدخِل اسم ملف العنوان
BridgingHeader.h
.
- انقر على إنشاء.
- أضِف عبارات
import
هذه إلى ملف العنوان:#ifndef BridgingHeader_h #define BridgingHeader_h #import <GoogleTagManager/TAGManager.h> #import <GoogleTagManager/TAGContainer.h> #import <GoogleTagManager/TAGContainerOpener.h> #import <GoogleTagManager/TAGDataLayer.h> #import <GoogleTagManager/TAGLogger.h> #endif /* BridgingHeader_h */
لإضافة عنوان ربط Intent-C على إعدادات الإصدار:
- في Xcode، انقر فوق مشروعك.
- انقر على إعدادات الإصدار في منطقة المحرّر.
- اختر الكل ومجمّعة وابحث عن ربط.
- في العمود الأيسر من الصف الذي يحتوي على Goal-C Bridging Header،
أدخِل
BridgingHeader.h
.
4. إضافة حاوية تلقائية إلى مشروعك
قبل إضافة حاوية تلقائية إلى مشروعك، نزِّل برنامجًا ثنائيًا لحاوية الأجهزة الجوّالة:
- سجِّل الدخول إلى حسابك على أداة "إدارة العلامات من Google".
- اختَر حاوية للأجهزة الجوّالة.
- انقر على الإصدارات في شريط القوائم.
- انقر على الإجراءات > تنزيل في إصدار الحاوية المحدّد.
GTM-PT3L9Z
.
لإضافة برنامج ثنائي تلقائي للحاوية إلى مشروعك:
- افتح Xcode.
- انقر على رمز الباحث (Finder) على شريط الإرساء.
- انقر على المجلد
Downoloads
. - اسحب الملف الثنائي للحاوية في المجلد
Downloads
وأفلِته في المجلد الجذر لمشروع Xcode.
5. ربط أداة "إدارة العلامات من Google" بتطبيقك
- في Xcode، افتح الملف
AppDelegate.swift
. - اطلب من صف "
AppDelegate
" تمديد صفTAGContainerOpenerNotifier
:import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, TAGContainerOpenerNotifier { // ... }
بعد تمديد الصف، سيظهر لك الخطأ
Type 'AppDelegate' does not conform to protocol 'TAGContainerOpenerNotifier'
. ستؤدي الخطوة التالية إلى إصلاح هذا الخطأ. - أضِف الدالة التالية إلى أسفل تعريف فئة
AppDelegate
:func containerAvailable(container: TAGContainer!) { container.refresh() }
- في الدالة
application
، أضِف الرمز التالي قبل عبارةreturn true
:let GTM = TAGManager.instance() GTM.logger.setLogLevel(kTAGLoggerLogLevelVerbose) TAGContainerOpener.openContainerWithId("GTM-PT3L9Z", // change the container ID "GTM-PT3L9Z" to yours tagManager: GTM, openType: kTAGOpenTypePreferFresh, timeout: nil, notifier: self)
6. تتبُّع حدث فتح الشاشة
لتتبُّع حدث مفتوح الشاشة:
- أنشئ متغيّرًا لتخزين رقم تعريف التتبّع.
- أنشئ متغيّر طبقة البيانات باسم screenName.
- أنشئ علامة "إدارة العلامات من Google" بعنوان مشاهدة الشاشة.
- إضافة رمز تتبّع الشاشة
a. إنشاء متغيّر لتخزين رقم تعريف التتبّع
- سجِّل الدخول إلى حسابك على إدارة العلامات من Google.
- اختَر حاوية للأجهزة الجوّالة.
- في شريط التنقّل الأيمن، انقر على المتغيّرات.
- ضمن متغيّرات من تحديد المستخدِم، انقر على جديد.
- انقر على متغيّر بلا عنوان لإدخال اسم المتغيّر رقم تعريف التتبّع.
- اختَر ثابت كنوع المتغيّر.
- أدخِل رقم تعريف التتبّع (على شكل
UA-XXXXXXXX-X
، حيث يكونX
رقمًا) كقيمة للمتغيّر.استخدِمUA-47605289-5
(ليتم حذفه). - انقر على إنشاء متغيّر.
b. إنشاء متغيّر طبقة البيانات باسم screenName
- سجِّل الدخول إلى حسابك على إدارة العلامات من Google.
- اختَر حاوية للأجهزة الجوّالة.
- في شريط التنقّل الأيمن، انقر على المتغيّرات.
- ضمن متغيّرات من تحديد المستخدِم، انقر على جديد.
- انقر على متغيّر بلا عنوان لإدخال عنوان اسم الشاشة.
- اختَر متغيّر طبقة البيانات كنوع المتغيّر.
- أدخِل screenName في حقل اسم متغير طبقة البيانات.
- انقر على ضبط القيمة التلقائية.
- أدخِل القيمة التلقائية شاشة غير معروفة.
- انقر على إنشاء متغيّر.
ج- إنشاء علامة "إدارة العلامات من Google" بعنوان "مشاهدة الشاشة"
- سجِّل الدخول إلى حسابك على إدارة العلامات من Google.
- اختَر حاوية للأجهزة الجوّالة.
- في شريط التنقّل الأيمن، انقر على العلامات.
- انقر على جديد.
- انقر على علامة بلا عنوان لإدخال اسم العلامة مشاهدة الشاشة.
- اختر المنتج إحصاءات Google.
- اختَر رقم تعريف التتبّع من القائمة.
- اختَر مشاهدة التطبيق على أنّه نوع التتبّع.
- انقر على مزيد من الإعدادات.
- انقر على الحقول المطلوب إعدادها.
- انقر على + إضافة حقل.
- اختَر اسم الحقل screenName وقيمته اسم الشاشة.
- انقر على متابعة.
- ضِمن إطلاق النار، اختَر أي حدث.
- انقر على إنشاء علامة.
د- إضافة رمز تتبّع الشاشة
- فتح الملف
ViewController.swift
في Xcode - حدِّد متغيّرًا باسم
dataLayer
في الفئةViewController
:var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer
- في الدالة
viewDidLoad()
، أرسِل الحدثOpenScreen
إلى طبقة البيانات:dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"])
يبدو تعريف الفئة ViewController
على النحو التالي:
import UIKit class ViewController: UIViewController { var dataLayer: TAGDataLayer = TAGManager.instance().dataLayer override func viewDidLoad() { super.viewDidLoad() dataLayer.push(["event": "OpenScreen", "screenName": "Home Screen"]) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that cant be recreated } }
7. حدث تم الضغط على زر التتبّع
لتتبُّع حدث تم الضغط على زر فيه:
- أنشئ متغيّرًا في طبقة البيانات باسم eventAction.
- أنشئ متغيّر حدث مخصَّص باسم الحدث.
- أنشئ علامة "إدارة العلامات من Google" بعنوان تم الضغط على الزر.
- أنشئ زرًا وأضِف رمزًا لتتبّع الضغط على الزر.
a. إنشاء متغيّر طبقة البيانات باسم eventAction
- سجِّل الدخول إلى حسابك على إدارة العلامات من Google.
- اختَر حاوية للأجهزة الجوّالة.
- في شريط التنقّل الأيمن، انقر على المتغيّرات.
- ضمن متغيّرات من تحديد المستخدِم، انقر على جديد.
- انقر على متغيّر بلا عنوان لإدخال العنوان إجراء الحدث.
- اختَر متغيّر طبقة البيانات كنوع المتغيّر.
- أدخِل eventAction باعتباره اسم متغير طبقة البيانات.
- انقر على ضبط القيمة التلقائية.
- أدخِل القيمة التلقائية حدث غير معروف.
- انقر على إنشاء متغيّر.
b. إنشاء متغيّر حدث مخصّص باسم "الحدث"
- سجِّل الدخول إلى حسابك على إدارة العلامات من Google.
- اختَر حاوية للأجهزة الجوّالة.
- في شريط التنقّل الأيمن، انقر على المتغيّرات.
- ضمن متغيّرات من تحديد المستخدِم، انقر على جديد.
- انقر على متغيّر بلا عنوان لإدخال اسم المتغيّر الحدث.
- اختَر الحدث المخصّص كنوع المتغيّر.
- انقر على إنشاء متغيّر.
ج- إنشاء علامة "إدارة العلامات من Google" بعنوان "الضغط على الزر"
- سجِّل الدخول إلى حسابك على إدارة العلامات من Google.
- اختَر حاوية للأجهزة الجوّالة.
- في شريط التنقّل الأيمن، انقر على العلامات.
- انقر على جديد.
- انقر على علامة بلا عنوان لإدخال اسم العلامة تم الضغط على الزر.
- اختر المنتج إحصاءات Google.
- اختَر رقم تعريف التتبّع من القائمة.
- اختَر الحدث باعتباره نوع التتبّع.
- اختر فئة الحدث.
- اختَر إجراء الحدث.
- انقر على متابعة.
- ضِمن إطلاق النار، اختَر أي حدث.
- انقر على إنشاء علامة.
د- إنشاء زر وإضافة رمز لتتبُّع أنه تم الضغط على الزر
- افتح مشروع Xcode.
- فتح "
Main.storyboard
" - انقر على الزر العلوي الأيسر في شريط أدوات Xcode لفتح منطقة الأداة المساعدة (الشريط الجانبي الأيسر).
- في أسفل منطقة المرافق،
انقر على الزر Show the Object Library (إظهار مكتبة العناصر) (الزر الأزرق):
- أدخِل الزر في مربّع البحث.
- اسحب الزر إلى لوحة العمل وأفلِته في
الزاوية العلوية اليمنى.
- انقر على زر محرِّر المساعد في شريط أدوات Xcode.
- أثناء الضغط مع الاستمرار على مفتاح Ctrl، اسحب الزر وأفلِته
إلى أسفل تعريف الفئة
ViewController
.
- في مربّع الحوار، اختَر اتصال Action، وأدخِل اسم الدالة buttonPressed، ثم انقر على ربط.
يؤدي ذلك إلى إضافة الدالة التالية إلى نهاية تعريف فئة
ViewController
:@IBAction func buttonPressed(sender: AnyObject) { }
يتم تنفيذ الدالة في كل مرة يتم فيها الضغط على الزر.
- في دالة
buttonPressed
، أضِف الرمز التالي لدفع الحدثButtonPressed
إلى طبقة اليوم:@IBAction func buttonPressed(sender: AnyObject) { dataLayer.push(["event": "ButtonPressed", "eventAction": "Test Event"]) }
8. إنشاء تطبيقك وتشغيله
في Xcode، انقر على المنتج > تشغيل. سينشئ Xcode التطبيق ويشغِّله: