هذا المستند مخصّص لمطوّري برامج الجوّال ويوضّح كيفية استخدام "إحصاءات Google" لقياس تفاعلات المستخدمين والإجابة عن أسئلة حول استخدام التطبيقات.
مقدمة
توفر "إحصاءات Google" لتطبيقات الأجهزة الجوّالة منصة لقياس تفاعلات المستخدمين، ما يسمح لك بفهم تفاعل المستخدمين مع تطبيقك وتحسينه بشكل أفضل.
يوفِّر التنفيذ التلقائي لبرنامج Google Analytics المعلومات التالية عن تطبيقك تلقائيًا:
- عدد المستخدمين والجلسات
- مدة الجلسة
- أنظمة التشغيل
- طُرُز الأجهزة
- الموقع الجغرافي
سيوضّح هذا الدليل كيفية تنفيذ ميزات إضافية في "إحصاءات Google" لفهم المستخدمين وسلوكهم بشكل أفضل.
قبل البدء
قبل العمل عبر هذا الدليل لإعداد Google Analytics لتطبيقات الأجهزة الجوّالة:
- ثبِّت حزمة تطوير البرامج (SDK) للمنصّة التي تستهدفها:
- مراجعة أفضل الممارسات لإعداد "إحصاءات تطبيقات الأجهزة الجوّالة"
نظرة عامة
صيد التنين
يستخدم هذا الدليل نموذجًا لتطبيق لإرشادك خلال تنفيذ ميزات إضافية في "إحصاءات Google". ويُسمّى التطبيق Dragon Catcher ويتمتع بخصائص أسلوب اللعب التالية:
- يتألف هذا المستوى من لاعب وتنانين ومنطقة مسوّرة وبئر وأشجار.
- هدف اللاعب هو صيد التنانين من خلال نقلها إلى المنطقة المحاطة بسياجات.
- يمكن للّاعب الانتقال إلى أماكن مختلفة في المستوى وعناصر، مثل البئر أو شجرة السحرية.
- يتقدّم اللاعب إلى المستوى التالي بعد أن يلتقط كل التنانين.
- يبدأ اللاعب اللعبة في المستوى الأول الذي يُسمى Barren Fields.
باستخدام Google Analytics، هناك بعض الأسئلة المتعلقة بسلوك المستخدم والتي يمكن الإجابة عنها حول Dragon Catcher:
- ما هي الإجراءات التي يتخذها المستخدمون؟ (الأحداث)
- ما مقدار المبالغ التي ينفقها المستخدمون في تطبيقي؟ (التجارة الإلكترونية)
- هل يكمل المستخدمون أهداف تطبيقي؟ (الأهداف)
- كيف يتصرف المستخدمون ذوو سمة معيّنة؟ (السمات/المقاييس المخصّصة)
- ما هي المدة التي يستغرقها المستخدم لإكمال مهمة؟ (التوقيتات المخصّصة)
يوضّح الجزء المتبقي من هذا المستند كيف يمكن الإجابة عن هذه الأسئلة من خلال تنفيذ ميزات "إحصاءات Google" في لعبة Dragon Catcher.
ما هي الإجراءات التي يتخذها المستخدمون؟ (الأحداث)
إذا كانت هناك إجراءات مهمة تريد تتبُّعها داخل تطبيقك، يمكن
استخدام الأحداث لوصف هذا الإجراء في "إحصاءات Google". ويتألف الحدث
من أربع مَعلمات: category
وaction
وlabel
وvalue
.
على سبيل المثال، في Dragon Catcher، يكون المستخدم الذي ينقذ تنينًا أو يزور منطقة معينة في المستوى عبارة عن إجراءات مهمة نريد قياسها باستخدام الأحداث. يوضّح مقتطف الرمز أدناه كيفية قياس ذلك في "إحصاءات Google".
حزمة تطوير البرامج (SDK) لنظام التشغيل Android
// To determine how many dragons are being rescued, send an event when the // player rescues a dragon. tracker.send(new HitBuilders.EventBuilder() .setCategory("Barren Fields") .setAction("Rescue") .setLabel("Dragon") .setValue(1) .build()); // To determine if players are visiting the magic tree, send an event when the // player is in the vicinity of the magic tree. tracker.send(new HitBuilders.EventBuilder() .setCategory("Barren Fields") .setAction("Visited") .setLabel("Magic Tree") .setValue(1) .build()); // To determine if players are visiting the well, send an event when the player // is in the vicinity of the well. tracker.send(new HitBuilders.EventBuilder() .setCategory("Barren Fields") .setAction("Visited") .setLabel("Well") .setValue(1) .build());
iOS SDK
// To determine how many dragons are being rescued, send an event when the // player rescues a dragon. [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields" action:@"Rescue" label:@"Dragon" value:@1] build]]; // To determine if players are visiting the magic tree, send an event when the // player is in the vicinity of the magic tree. [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields" action:@"Visited" label:@"Magic Tree" value:@1] build]]; // To determine if players are visiting the well, send an event when the player // is in the vicinity of the well. [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Barren Fields" action:@"Visited" label:@"Well" value:@1] build]];
مكوّن "إحصاءات Google" الإضافي للوحدة التنظيمية
// To determine how many dragons are being rescued, send an event when the // player rescues a dragon. googleAnalytics.LogEvent("Barren Fields", "Rescue", "Dragon", 1); // To determine if players are visiting the magic tree, send an event when the // player is in the vicinity of the magic tree. googleAnalytics.LogEvent("Barren Fields", "Visited", "Magic Tree", 1); // To determine if players are visiting the well, send an event when the player // is in the vicinity of the well. googleAnalytics.LogEvent("Barren Fields", "Visited", "Well", 1);
قياس "إنجازات" اللاعبين
يمكن قياس "إنجازات" اللاعبين باستخدام الأحداث في "إحصاءات Google". على سبيل المثال، لقياس إنجاز لإنقاذ 5 تنانين، يتم تسجيل عدد التنانين التي أنقذها اللاعب وبعد وصول اللاعب إلى الحد الأدنى يتم إرسال حدث إلى "إحصاءات Google":
حزمة تطوير البرامج (SDK) لنظام التشغيل Android
if (numDragonsRescued > 5) { if (!user.hasAchievement(RESCUED_ACHIEVEMENT) { tracker.send(new HitBuilders.EventBuilder() .setCategory("Achievement") .setAction("Unlocked") .setLabel("5 Dragons Rescued") .setValue(1) .build()); } else { tracker.send(new HitBuilders.EventBuilder() .setCategory("Achievement") .setAction("Earned") .setLabel("5 Dragons Rescued") .setValue(1) .build()); } }
iOS SDK
if (numDragonsRescued > 5) { if (![user hasAchievement:RESCUED_ACHIEVEMENT]) { [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Achievement" action:@"Unlocked" label:@"5 Dragons Rescued" value:@1] build]]; } else { [tracker send:[[GAIDictionaryBuilder createEventWithCategory:@"Achievement" action:@"Earned" label:@"5 Dragons Rescued" value:@1] build]]; } }
مكوّن "إحصاءات Google" الإضافي للوحدة التنظيمية
if (numDragonsRescued > 5) { if (!user.HasAchievement(RESCUED_ACHIEVEMENT)) { googleAnalytics.LogEvent("Achievement", "Unlocked", "5 Dragons Rescued", 1); } else { googleAnalytics.LogEvent("Achievement", "Earned", "5 Dragons Rescued", 1); } }
أدلة المطوِّرين للفعاليات
- تتبُّع الأحداث - حزمة تطوير البرامج (SDK) لنظام التشغيل Android
- تتبُّع الأحداث - حزمة تطوير البرامج (SDK) لنظام التشغيل iOS
- الأحداث - مكوّن "إحصاءات Google" الإضافي لبرنامج Unity
إعداد التقارير عن الأحداث
تتوفّر بيانات الأحداث في:
- واجهة الويب ضمن السلوك >> الأحداث >> أهم الأحداث
- التقارير المخصّصة
- واجهة برمجة التطبيقات الأساسية لإعداد التقارير
ما مقدار الأموال التي ينفقها المستخدمون في تطبيقي؟ (التجارة الإلكترونية المحسّنة)
إذا كنت تريد قياس عمليات الشراء داخل التطبيق من قِبل المستخدمين، يمكنك استخدام ميزة تتبُّع التجارة الإلكترونية لتتبُّع عمليات الشراء وفهم أداء المنتجات وسلوك المستخدم ذي الصلة. يمكن استخدام تتبع التجارة الإلكترونية لقياس عملية شراء عنصر معين أو عملة افتراضية.
على سبيل المثال، في Dragon Catcher، لقياس شراء بعض العناصر، يتم إرسال بيانات المعاملات إلى "إحصاءات Google" من خلال حدث:
حزمة تطوير البرامج (SDK) لنظام التشغيل Android
Product product = new Product() .setName("Dragon Food") .setPrice(40.00); ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE) .setTransactionId("T12345"); // Add the transaction data to the event. HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .setCategory("In-Game Store") .setAction("Purchase") .addProduct(product) .setProductAction(productAction); // Send the transaction data with the event. tracker.send(builder.build());
iOS SDK
GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init]; [product setName:@"Dragon Food"]; [product setPrice:@40.00]; GAIEcommerceProductAction *productAction = [[GAIEcommerceProductAction alloc] init]; [productAction setAction:kGAIPAPurchase]; [productAction setTransactionId:@"T12345"]; GAIDictionaryBuilder *builder = [GAIDictionaryBuilder createEventWithCategory:@"In-Game Store" action:@"Purchase" label:nil value:nil]; // Add the transaction data to the event. [builder setProductAction:productAction]; [builder addProduct:product]; // Send the transaction data with the event. [tracker send:[builder build]];
مكوّن "إحصاءات Google" الإضافي للوحدة التنظيمية
// Note: Using Android SDK v3 and standard Ecommerce tracking. googleAnalytics.LogItem("T12345", "Dragon Food", "Food_SKU", "Items", 40.00, 1); googleAnalytics.LogTransaction("T12345", "In-Game Store", 40.00, 0.00, 0.00);
إذا اشترى أحد المستخدمين عملة افتراضية، فمن المستحسن قياس تبادل نقود حقيقية عند إرسال بيانات المعاملات إلى "إحصاءات Google". عندما ينفق المستخدم العملة الافتراضية لشراء العناصر، يمكنك قياس ذلك باستخدام الأحداث. مثال:
حزمة تطوير البرامج (SDK) لنظام التشغيل Android
/** * When the user purchases the virtual currency (Gems) measure the transaction * using enhanced ecommerce. */ Product product = new Product() .setName("2500 Gems") .setPrice(5.99); ProductAction productAction = new ProductAction(ProductAction.ACTION_PURCHASE) .setTransactionId("T67890"); // Add the transaction to the screenview. HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder() .addProduct(product) .setProductAction(productAction); // Send the transaction with the screenview. tracker.setScreenName("In-Game Store"); tracker.send(builder.build()); /** * When the user purchases an item using the virtual currency (Gems) send an * event to measure this in Google Analytics. */ HitBuilders.EventBuilder builder = new HitBuilders.EventBuilder() .setCategory("In-Game Store") .setAction("Purchase") .setLabel("Sword") .setValue(35); tracker.send(builder.build());
iOS SDK
/** * When the user purchases the virtual currency (Gems) measure the transaction * using enhanced ecommerce. */ GAIEcommerceProduct *product = [[GAIEcommerceProduct alloc] init]; [product setName:@"2500 Gems"]; [product setPrice:@5.99]; GAIEcommerceProductAction *productAction = [[GAIEcommerceProductAction alloc] init]; [productAction setAction:kGAIPAPurchase]; [productAction setTransactionId:@"T67890"]; GAIDictionaryBuilder *viewBuilder = [GAIDictionaryBuilder createScreenView]; // Add the transaction data to the screenview. [viewBuilder setProductAction:productAction]; [viewBuilder addProduct:product]; // Send the transaction with the screenview. [tracker set:kGAIScreenName value:@"In-Game Store"]; [tracker send:[viewBuilder build]]; /** * When the user purchases an item using the virtual currency (Gems) send an * event to measure this in Google Analytics. */ GAIDictionaryBuilder *eventBuilder = [GAIDictionaryBuilder createEventWithCategory:@"In-Game Store" action:@"Purchase" label:@"Sword" value:@35]; [tracker send:[eventBuilder build]];
مكوّن "إحصاءات Google" الإضافي للوحدة التنظيمية
// Note: Using Android SDK v3 and standard Ecommerce tracking. /** * When the user purchases the virtual currency (Gems) measure the transaction * using enhanced ecommerce. */ googleAnalytics.LogItem("T12345", "2500 Gems", "GEM2500_SKU", "Items", 5.99, 1); googleAnalytics.LogTransaction("T12345", "In-Game Store", 5.99, 0.00, 0.00); /** * When the user purchases an item using the virtual currency (Gems) send an * event to measure this in Google Analytics. */ googleAnalytics.LogEvent("In-Game Store", "Purchase", "Sword", 35);
أدلة المطوِّرين للتجارة الإلكترونية المحسَّنة
- تتبُّع التجارة الإلكترونية المحسَّنة - حزمة تطوير البرامج (SDK) لنظام التشغيل Android
- تتبُّع التجارة الإلكترونية المحسَّنة - حزمة تطوير البرامج (SDK) لنظام التشغيل iOS
- التجارة الإلكترونية - مكوّن "إحصاءات Google" الإضافي لنظام Unity
إعداد تقارير التجارة الإلكترونية المحسَّنة
تتوفر بيانات التجارة الإلكترونية في:
هل يكمل المستخدمون أهداف تطبيقي؟ (الأهداف)
إذا كانت لديك أهداف معيّنة لتطبيقك تريد من المستخدمين إكمالها، يمكنك تحديد هذه الأهداف وقياسها باستخدام "الأهداف" في "إحصاءات Google". على سبيل المثال، قد يكون الهدف هو الوصول إلى مستوى معين من اللعبة أو شراء عنصر ما. لمزيد من المعلومات عن آلية عمل الأهداف، يُرجى الاطّلاع على لمحة عن الأهداف (مركز المساعدة).
في لعبة Dragon Catcher، يمكن إعداد هدف لقياس أوقات إجراء عمليات شراء داخل التطبيق في حال إرسال حدث إلى "إحصاءات Google" لكل عملية شراء. يمكن تحديد الهدف في مشرف واجهة الويب، بدون أيّ رمز إضافي، باستخدام المَعلمات التالية:
- نوع الهدف (يساوي): الحدث
- الفئة (يساوي): متجر داخل الألعاب
- الإجراء (يساوي): شراء
- استخدام قيمة الحدث كقيمة الهدف للإحالة الناجحة: نعم
تقارير الأهداف
تتوفر بيانات الهدف في:
- واجهة الويب ضمن الإحالات الناجحة >> الأهداف >> نظرة عامة
- التقارير المخصّصة
- واجهة برمجة التطبيقات الأساسية لإعداد التقارير
كيف يتصرف المستخدمون ذوو سمة معينة؟ (المقاييس والسمات المخصّصة)
إذا كنت تريد تتبُّع المستخدِمين بسمات/سمات/بيانات وصفية معيّنة، يمكن استخدام السمات المخصّصة لإرسال هذا النوع من البيانات إلى "إحصاءات Google" وفي عملية التحليل. اطّلِع على مرجع ميزة المقاييس والسمات المخصّصة لمعرفة المزيد عن آلية عمل السمات المخصّصة.
على سبيل المثال، في Dragon Catcher لمعرفة النسبة المئوية للمستخدمين في المستوى الأول أو المستوى الثاني وما إلى ذلك. يمكن ضبط سمة مخصّصة باستخدام المستوى الحالي للمستخدم وإرسالها إلى "إحصاءات Google". الخطوات كالآتي:
- أنشِئ سمة مخصّصة باستخدام نطاق
User
. يتم استخدام نطاقUser
لأن هذه القيمة يجب أن تستمر في جميع جلسات ذلك المستخدم. اطّلِع على مقالة إعداد السمات المخصّصة أو تعديلها (مركز المساعدة). - عدِّل قيمة السمة المخصّصة عند تغيير مستوى المستخدِم.
يوضِّح المقتطف التالي كيفية تعديل حالة المستخدم في "إحصاءات Google" حيث يكون فهرس السمات المخصّصة على مستوى المستخدم هو 1
ويتم تغيير مستوى المستخدم إلى Barren Fields
:
حزمة تطوير البرامج (SDK) لنظام التشغيل Android
// Set the user level custom dimension when sending a hit to Google Analytics // such as a screenview or event. tracker.setScreenName("BarrenFields"); tracker.send(new HitBuilders.ScreenViewBuilder() .setCustomDimension(1, "Barren Fields") .build() );
iOS SDK
// Set the user level custom dimension when sending a hit to Google Analytics // such as a screenview or event. [tracker set:kGAIScreenName value:@"BarrenFields"]; [tracker send:[[[GAIDictionaryBuilder createScreenView] set:@"Barren Fields" forKey:[GAIFields customDimensionForIndex:1]] build]];
مكوّن "إحصاءات Google" الإضافي للوحدة التنظيمية
// Set the user level custom dimension when sending a hit to Google Analytics // such as a screenview or event. googleAnalytics.LogScreen(new AppViewHitBuilder() .SetScreenName("BarrenFields").SetCustomDimension(1, "Barren Fields"));
أدلة المطوِّرين للسمات والمقاييس المخصّصة
- المقاييس والسمات المخصَّصة - حزمة تطوير البرامج (SDK) لنظام التشغيل Android
- المقاييس والسمات المخصَّصة - حزمة تطوير البرامج (SDK) لنظام التشغيل iOS
- المقاييس والسمات المخصّصة - مكوّن "إحصاءات Google" الإضافي لنظام Unity
إعداد تقارير السمات والمقاييس المخصّصة
يمكن تضمين الأبعاد المخصّصة وتطبيقها كشريحة من أجل:
- معظم التقارير القياسية في واجهة الويب
- التقارير المخصَّصة
- Core Reporting API
سيسمح لك تطبيق السمة المخصّصة كشريحة بتحليل المستخدمين الذين هم حاليًا في مستوى معيّن داخل اللعبة.
ما الوقت الذي يستغرقه المستخدم لإنجاز مهمة ما؟ (توقيتات مخصصة)
إذا كنت تريد قياس المدة التي يستغرقها إكمال أحد العناصر في التطبيق،
يمكن استخدام توقيتات المستخدم للقياسات المستندة إلى الوقت في "إحصاءات Google". إنّ توقيتات المستخدمين تشبه الأحداث، ولكنّها تستند إلى الوقت، ويمكن أن تتضمّن كلاً من
category
وvalue
وname (variable)
وlabel
. لمعرفة المزيد من المعلومات عن آلية عمل توقيتات المستخدم، يمكنك الاطّلاع على لمحة عن سرعة الموقع الإلكتروني.
على سبيل المثال، في Dragon Catcher لقياس الوقت الذي يستغرقه المستخدم لإنقاذ أول تنين، يمكنك إرسال شيء مثل:
حزمة تطوير البرامج (SDK) لنظام التشغيل Android
// Build and send a timing hit. tracker.send(new HitBuilders.TimingBuilder() .setCategory("Barren Fields") .setValue(45000) // 45 seconds. .setVariable("First Rescue") .setLabel("Dragon") .build());
iOS SDK
[tracker send:[[GAIDictionaryBuilder createTimingWithCategory:@"Barren Fields" interval:@45000 // 45 seconds. name:@"First Rescue" label:@"Dragon"] build]];
مكوّن "إحصاءات Google" الإضافي للوحدة التنظيمية
// Build and send a timing hit. googleAnalytics.LogTiming("Barren Fields",45000,"First Rescue","Dragon");
أدلة المطوِّرين بشأن التوقيتات المخصّصة
- أوقات المستخدم - حزمة تطوير البرامج (SDK) لنظام التشغيل Android
- أوقات المستخدم - حزمة تطوير البرامج (SDK) لنظام التشغيل iOS
- أوقات المستخدم - مكوّن "إحصاءات Google" الإضافي لـ Unity
إعداد تقارير حول التوقيتات المخصّصة
تتوفّر بيانات التوقيتات المخصّصة باللغات التالية:
- واجهة الويب ضمن السلوك > سرعة التطبيق
- التقارير المخصَّصة
- Core Reporting API
مراجع ذات صلة
- أكاديمية "إحصاءات Google": يمكنك تحسين مهاراتك في استخدام "إحصاءات Google" من خلال دورات تدريبية مجانية على الإنترنت تتضمّن أساسيات تحليلات التطبيقات للأجهزة الجوّالة.
- واجهات برمجة التطبيقات وحِزم تطوير البرامج (SDK) للتجميع: تعرَّف على جميع الطرق التي يمكنك من خلالها إرسال البيانات إلى "إحصاءات Google".