این سند برای توسعه دهندگان تلفن همراه است و نحوه استفاده از Google Analytics را برای اندازه گیری تعاملات کاربر و پاسخ به سؤالات مربوط به استفاده از برنامه توضیح می دهد.
معرفی
Google Analytics برای برنامههای تلفن همراه بستری را برای اندازهگیری تعاملات کاربر فراهم میکند و به شما امکان میدهد تعامل کاربر با برنامه خود را بهتر درک کرده و بهینه کنید.
پیاده سازی پیش فرض Google Analytics به طور خودکار اطلاعات زیر را در مورد برنامه شما ارائه می دهد:
- تعداد کاربران و جلسات
- مدت زمان جلسه
- سیستم های عامل
- مدل های دستگاه
- جغرافیا
این راهنما توضیح می دهد که چگونه می توانید ویژگی های اضافی Google Analytics را برای درک بهتر کاربران و رفتار آنها پیاده سازی کنید.
قبل از اینکه شروع کنی
قبل از کار با این راهنما برای راهاندازی Google Analytics برای برنامههای موبایل:
- SDK را برای پلتفرم مورد نظر خود نصب کنید:
- بهترین روشها برای راهاندازی آنالیز اپلیکیشن موبایل را مرور کنید
بررسی اجمالی
اژدها گیر
این راهنما از یک برنامه نمونه استفاده می کند تا شما را در اجرای ویژگی های اضافی Google Analytics راهنمایی کند. این اپلیکیشن Dragon Catcher نام دارد و دارای ویژگی های گیم پلی زیر است:
- یک سطح شامل یک بازیکن، اژدها، یک منطقه محصور شده، یک چاه و درختان است
- هدف بازیکن این است که اژدهاها را با حرکت دادن آنها به منطقه حصارکشی شده شکار کند
- بازیکن می تواند از مناطق مختلف سطح و اشیایی مانند چاه یا درخت جادو بازدید کند
- بازیکن وقتی همه اژدهاها را گرفت به مرحله بعدی می رود
- بازیکن بازی را در سطح اول که Barren Fields نام دارد شروع می کند.
با استفاده از گوگل آنالیتیکس، برخی از سوالات مربوط به رفتار کاربر که می توان در مورد Dragon Catcher پاسخ داد:
- کاربران من چه اقداماتی انجام می دهند؟ (مناسبت ها)
- کاربران چقدر در برنامه من هزینه می کنند؟ (تجارت الکترونیک)
- آیا کاربران اهداف برنامه من را تکمیل می کنند؟ (اهداف)
- کاربران با یک ویژگی خاص چگونه رفتار می کنند؟ (ابعاد/متریک های سفارشی)
- چقدر طول می کشد تا یک کاربر یک کار را انجام دهد؟ (زمان بندی سفارشی)
بقیه این سند نشان می دهد که چگونه می توان با اجرای ویژگی های Google Analytics برای بازی Dragon Catcher به این سوالات پاسخ داد.
کاربران من چه اقداماتی انجام می دهند؟ (مناسبت ها)
اگر اقدامات مهمی وجود دارد که میخواهید در برنامه خود پیگیری کنید، میتوانید از رویدادها برای توصیف این عملکرد در Google Analytics استفاده کنید. یک رویداد از چهار پارامتر تشکیل شده است: category
، action
، label
و value
.
به عنوان مثال، در Dragon Catcher ، نجات یک اژدها توسط کاربر یا بازدید از یک منطقه خاص در سطح، اقدامات مهمی هستند که می خواهیم با استفاده از رویدادها اندازه گیری کنیم. قطعه کد زیر نحوه اندازه گیری این را در Google Analytics نشان می دهد.
Android SDK
// 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]];
پلاگین GA برای یونیتی
// 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 Analytics اندازه گیری کرد. به عنوان مثال، برای اندازه گیری دستاورد نجات 5 اژدها، تعداد اژدهایی که بازیکن نجات داده است ثبت می شود و پس از رسیدن بازیکن به آستانه، رویدادی به Google Analytics ارسال می شود:
Android SDK
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]]; } }
پلاگین GA برای یونیتی
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); } }
راهنمای توسعه دهندگان برای رویدادها
گزارش رویدادها
داده های رویداد در دسترس است:
- رابط وب تحت رفتار >> رویدادها >> رویدادهای برتر
- گزارش های سفارشی
- Core Reporting API
کاربران چقدر در برنامه من هزینه می کنند؟ (تجارت الکترونیک پیشرفته)
اگر میخواهید خریدهای درون برنامهای توسط کاربران را اندازهگیری کنید، میتوانید از ردیابی تجارت الکترونیک برای ردیابی خرید و درک عملکرد محصول و رفتار کاربر مرتبط استفاده کنید. از ردیابی تجارت الکترونیک می توان برای اندازه گیری خرید یک کالای خاص یا یک ارز مجازی استفاده کرد.
به عنوان مثال، در Dragon Catcher برای اندازهگیری خرید برخی موارد، دادههای تراکنش با یک رویداد به Google Analytics ارسال میشود:
Android SDK
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]];
پلاگین GA برای یونیتی
// 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 Analytics، مبادله پول واقعی را اندازه گیری کنید. هنگامی که کاربر ارز مجازی را برای خرید اقلام خرج می کند، آن را با استفاده از رویدادها اندازه گیری کنید. مثلا:
Android SDK
/** * 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]];
پلاگین GA برای یونیتی
// 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);
راهنمای توسعه دهندگان برای تجارت الکترونیک پیشرفته
- ردیابی تجارت الکترونیک پیشرفته - Android SDK
- ردیابی تجارت الکترونیک پیشرفته - iOS SDK
- تجارت الکترونیک - پلاگین GA برای Unity
گزارش برای تجارت الکترونیک پیشرفته
داده های تجارت الکترونیک در موارد زیر موجود است:
آیا کاربران اهداف برنامه من را تکمیل می کنند؟ (اهداف)
اگر اهداف خاصی برای برنامه خود دارید که میخواهید کاربران آنها را تکمیل کنند، میتوانید این اهداف را با استفاده از Goals در Google Analytics تعریف و اندازهگیری کنید. به عنوان مثال، هدف می تواند رسیدن کاربران به یک سطح بازی خاص یا خرید یک آیتم باشد. برای کسب اطلاعات بیشتر در مورد نحوه عملکرد اهداف ، درباره اهداف (مرکز راهنمایی) را ببینید.
در بازی Dragon Catcher ، اگر رویدادی برای هر خرید به Google Analytics ارسال شود، میتوان هدفی برای اندازهگیری زمان خرید درونبرنامهای تنظیم کرد. هدف را می توان در ادمین رابط وب، بدون هیچ کد اضافی، با استفاده از پارامترهای زیر تعریف کرد:
- نوع هدف (برابر): رویداد
- دسته (برابر): فروشگاه درون بازی
- عمل (برابر): خرید
- از مقدار رویداد به عنوان مقدار هدف برای تبدیل استفاده کنید: بله
گزارش هدف
داده های هدف در دسترس است:
- رابط وب در زیر تبدیل ها >> اهداف >> نمای کلی
- گزارش های سفارشی
- Core Reporting API
کاربران با یک ویژگی خاص چگونه رفتار می کنند؟ (ابعاد و معیارهای سفارشی)
اگر میخواهید کاربران با ویژگیها/ویژگیها/فرادادههای خاص را ردیابی کنید، میتوانید از ابعاد سفارشی برای ارسال این نوع دادهها به Google Analytics و در تجزیه و تحلیل استفاده کنید. برای اطلاعات بیشتر در مورد نحوه عملکرد ابعاد سفارشی ، به مرجع ویژگی ابعاد و معیارهای سفارشی مراجعه کنید.
به عنوان مثال، در Dragon Catcher برای اطلاع از درصد کاربرانی که در سطح اول، سطح دوم و غیره هستند، می توان یک بعد سفارشی با سطح فعلی کاربر تنظیم کرد و به Google Analytics ارسال کرد. مراحل عبارتند از:
- یک بعد سفارشی با محدوده
User
ایجاد کنید. دامنهUser
استفاده می شود زیرا این مقدار باید در تمام جلسات آن کاربر باقی بماند. به تنظیم یا ویرایش ابعاد سفارشی (مرکز راهنمایی) مراجعه کنید. - وقتی سطح کاربر تغییر کرد، مقدار ابعاد سفارشی را بهروزرسانی کنید.
قطعه زیر نحوه به روز رسانی وضعیت کاربر در Google Analytics را نشان می دهد که در آن شاخص ابعاد سفارشی سطح کاربر 1
است و سطح کاربر به Barren Fields
تغییر کرده است:
Android SDK
// 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]];
پلاگین GA برای یونیتی
// 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"));
راهنمای برنامهنویس برای ابعاد و معیارهای سفارشی
- ابعاد و معیارهای سفارشی - Android SDK
- ابعاد و معیارهای سفارشی - iOS SDK
- ابعاد و معیارهای سفارشی - افزونه GA برای Unity
گزارش برای ابعاد و معیارهای سفارشی
ابعاد سفارشی را می توان به عنوان یک بخش در نظر گرفت و اعمال کرد:
- اکثر گزارشات استاندارد در رابط وب
- گزارش های سفارشی
- Core Reporting API
اعمال بعد سفارشی به عنوان یک بخش به شما این امکان را می دهد تا کاربرانی را که در حال حاضر در سطح خاصی از بازی هستند، تجزیه و تحلیل کنید.
چقدر طول می کشد تا یک کاربر یک کار را انجام دهد؟ (زمان بندی سفارشی)
اگر میخواهید اندازهگیری کنید که چقدر طول میکشد تا کاری در برنامه تکمیل شود، میتوانید از زمانبندی کاربر برای اندازهگیریهای مبتنی بر زمان در Google Analytics استفاده کنید. زمانبندیهای کاربر شبیه رویدادها هستند، اما براساس زمان هستند و میتوانند شامل یک category
، value
، name (variable)
و label
باشند. برای آشنایی با نحوه عملکرد زمانبندی کاربر، به «درباره سرعت سایت» مراجعه کنید.
به عنوان مثال، در Dragon Catcher برای اندازهگیری مدت زمانی که کاربر طول میکشد تا اولین اژدهای خود را نجات دهد، میتوانید چیزی شبیه به:
Android SDK
// 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]];
پلاگین GA برای یونیتی
// Build and send a timing hit. googleAnalytics.LogTiming("Barren Fields",45000,"First Rescue","Dragon");
راهنمای توسعه دهندگان برای زمان بندی سفارشی
گزارش برای زمان بندی های سفارشی
داده های زمان بندی سفارشی در موارد زیر موجود است:
- رابط وب زیر رفتار > سرعت برنامه
- گزارش های سفارشی
- Core Reporting API
منابع مرتبط
- آکادمی تجزیه و تحلیل - مهارت های تجزیه و تحلیل خود را با دوره های آنلاین رایگان از جمله مبانی تحلیل برنامه های تلفن همراه بهبود بخشید.
- مجموعه API ها و SDK - در مورد همه روش هایی که می توانید داده ها را به Google Analytics ارسال کنید، بیاموزید