Google Analytics SDK ל-iOS v1 (מדור קודם)

בעזרת Google Analytics for Mobile Apps SDK ל-iOS קל להטמיע את Google Analytics באפליקציות מבוססות iOS. מסמך זה מתאר כיצד לשלב את ה-SDK עם האפליקציות שלך.

סקירה כללית של SDK

ערכת ה-SDK הזו משתמשת במודל מעקב כדי לעקוב אחר משתמשים באתרים מסורתיים ולנהל אינטראקציה עם ווידג'טים בדפי אינטרנט מסורתיים. מסיבה זו, המונחים שמפורטים בהמשך משקפים את מודל המעקב הרגיל של האתר וממופים למעקב אחר אפליקציות לנייד. כדי להבין איך ה-SDK הזה עובד, כדאי להכיר את מעקב Analytics.

תוכלו להשתמש ב-SDK למעקב בנייד כדי לעקוב אחר אפליקציות הטלפון שלכם באמצעות סוגי האינטראקציה הבאים ב-Analytics:

מעקב אחר צפיות בדפים
צפייה בדף היא אמצעי רגיל למדידת נפח התנועה לאתר רגיל. אפליקציות לנייד לא כוללות דפי HTML, ולכן עליך להחליט מתי (ובאיזו תדירות) להפעיל בקשה לצפייה בדף. כמו כן, מכיוון שהבקשות להצגת דפים מיועדות לדיווח על מבני ספריות, עליך לספק שמות תיאוריים לבקשות כדי לנצל את השמות של נתיבי הדפים בדוחות התוכן ב-Analytics. השמות שיוצגו בדוחות יאוכלסו בדוחות כנתיבי דפים, למרות שהם לא דפי HTML בפועל. עם זאת, כדאי להשתמש בהם כדי ליצור קבוצות נוספות לשיחות.
מעקב אחר אירועים
ב-Analytics, אירועים מיועדים למעקב אחר אינטראקציות של משתמשים עם רכיבי דף אינטרנט, בנפרד מבקשות לצפייה בדף. ניתן להשתמש בתכונה 'מעקב אחר אירועים' ב-Google Analytics כדי לקבל שיחות נוספות שדווחו בקטע 'מעקב אחר אירועים' בממשק הדוח של Analytics. האירועים מקובצים לפי קטגוריות, ועשויים גם להשתמש בתוויות לכל אירוע כדי לספק גמישות בדיווח. לדוגמה, אפליקציית מולטימדיה יכולה לבצע פעולות הפעלה/עצירה/השהיה עבור קטגוריית הסרטון שלה ולהקצות תווית לכל שם סרטון. לאחר מכן, דוחות Google Analytics יצברו אירועים עבור כל האירועים שתויגו עם הקטגוריה סרטון. למידע נוסף על מעקב אחר אירועים, ניתן לעיין במדריך למעקב אחר אירועים
מעקב אחר מסחר אלקטרוני
מומלץ להשתמש בתכונת המעקב אחר מסחר אלקטרוני כדי לעקוב אחר עסקאות של עגלת קניות ורכישות מתוך האפליקציה. כדי לעקוב אחר עסקה, יש להתקשר למתודה addTransaction כדי ליצור עסקה כוללת, וכן את השיטה addItem של כל מוצר בסל הקניות. לאחר מכן הנתונים יוצגו בקטע 'דיווח על מסחר אלקטרוני' בממשק של Google Analytics. למידע נוסף על מעקב אחר מסחר אלקטרוני, מומלץ לעיין במדריך למעקב אחר מסחר אלקטרוני.
משתנים מותאמים אישית
משתנים מותאמים אישית הם תגי זוג של שם-ערך שניתן להוסיף לקוד המעקב כדי לצמצם את המעקב של Google Analytics. מידע נוסף על אופן השימוש במשתנים מותאמים אישית מפורט במדריך למשתנים מותאמים אישית.
תמיכה ב-NoThumb
ה-SDK ל-iPhone מגיע עכשיו עם גרסת NoThumb של הספרייה, וכן את הגרסה הרגילה של Thumb. כדי להשתמש בגרסת NoThumb של הספרייה, יש להשתמש בקובץ libGoogleAnalytics_NoThumb.a במקום בקובץ libGoogleAnalytics.a.

תחילת העבודה

דרישות

כדי לשלב את יכולות המעקב של Google Analytics&339; תצטרכו את הדברים הבאים:

הגדרה

  • יש לפתוח את Xcode וליצור פרויקט חדש ב-iPhone OS.
  • גוררים את GANTracker.h ואת libGoogleAnalytics.a מספריית ה-SDK של הפרויקט החדש.
  • יש לכלול את המסגרת CFNetwork בפרויקט ולקשר ל-libsqlite3.0.dylib.

Google Analytics for Mobile Apps SDK צריך לפעול עם כל מכשיר iPhone או iPod Touch שבו פועלת iOS 2.0 ואילך - הספרייה תואמת לכל הגרסאות של iOS התומכות באפליקציות מקוריות.

SDK כולל אפליקציה לדוגמה שמדגים איך הפרויקט אמור להיראות אם הוא יוגדר בהצלחה. אפשר להשתמש בה כתבנית לאפליקציות המשולבות ב-Analytics.

שימוש ב-SDK

לפני שמתחילים להשתמש ב-SDK, קודם צריך ליצור חשבון בחינם בכתובת www.google.com/analytics וליצור נכס אינטרנט חדש בחשבון הזה באמצעות כתובת URL מזויפת אבל תיאורית (למשל http://mymobileapp.mywebsite.com). אחרי יצירת הנכס, יש לרשום או לשמור עותק של מזהה נכס האינטרנט שנוצר עבור הנכס החדש.

עליך לציין בפני המשתמשים שלך, באפליקציה עצמה או בתנאים ובהגבלות, שאת/ה שומר/ת את הזכות לעקוב באופן אנונימי אחר פעילות של משתמש בתוך האפליקציה שלך. השימוש ב-SDK של Google Analytics כפוף גם הוא לתנאים ולהגבלות של Google Analytics, שהסכמת להם בעת ההרשמה לחשבון.

דוגמאות ושיטות מומלצות

את קוד לדוגמה ואת השיטות המומלצות אפשר למצוא בכתובת code.google.com בפרויקט analytics-api-sample.

ספרייה ב-EasyTracker

יש ספרייה ב-EasyTracker. היא מספקת מעקב ברמת האפליקציה UIViewController ו כמעט ללא מאמץ פיתוח. אפשר למצוא אותו בקטע הורדות בפרויקט analytics-api-sample.

הפעלת הכלי למעקב

מפעילים את כלי המעקב באמצעות קריאה לשיטה startTrackerWithAccountID בסינגל המעקב, שבוצעה דרך [GANTracker sharedTracker]. בדרך כלל נעים לקרוא לשיטה הזו ישירות בשיטת applicationDidFinishLaunching של הענקת גישה לאפליקציה. להעביר את מזהה נכס האינטרנט, את פרק הזמן הנדרש להענקת גישה ואת בעלי הגישה האופציונלית. למשל:

#import "BasicExampleAppDelegate.h"

#import "GANTracker.h"

// Dispatch period in seconds
static const NSInteger kGANDispatchPeriodSec = 10;

@implementation BasicExampleAppDelegate

@synthesize window = window_;

- (void)applicationDidFinishLaunching:(UIApplication *)application {
  // **************************************************************************
  // PLEASE REPLACE WITH YOUR ACCOUNT DETAILS.
  // **************************************************************************
  [[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-0000000-1"
                                        dispatchPeriod:kGANDispatchPeriodSec
                                              delegate:nil];

  NSError *error;
  if (![[GANTracker sharedTracker] setCustomVariableAtIndex:1
                                                       name:@"iPhone1"
                                                      value:@"iv1"
                                                  withError:&error]) {
    // Handle error here
  }

  if (![[GANTracker sharedTracker] trackEvent:@"my_category"
                                       action:@"my_action"
                                        label:@"my_label"
                                        value:-1
                                   withError:&error]) {
    // Handle error here
  }

  if (![[GANTracker sharedTracker] trackPageview:@"/app_entry_point"
                                   withError:&error]) {
    // Handle error here
  }

  [window_ makeKeyAndVisible];
}

- (void)dealloc {
  [[GANTracker sharedTracker] stopTracker];
  [window_ release];
  [super dealloc];
}

@end

מעקב אחר צפיות בדפים ואירועים

המעקב אחר צפיות בדפים ואירועים הוא פשוט: פשוט קוראים ל-trackPageView מאובייקט המעקב בכל פעם שרוצים להפעיל צפייה בדף. צריך להתקשר אל trackEvent כדי להקליט אירוע. מידע נוסף על צפיות בדף ואירועים זמין למעלה בקטע סקירה כללית של SDK.

שימוש במשתנים מותאמים אישית

פשוט מוסיפים משתנה מותאם אישית: פשוט משתמשים בשיטה setCustomVariableAtIndex שמסופקת על ידי ה-SDK לנייד. מומלץ לתכנן מראש את האינדקס של כל משתנה מותאם אישית, כדי שלא תחליפו משתנה קיים. מידע נוסף על משתנים מותאמים אישית מפורט במדריך ליצירת משתנים מותאמים אישית. הערה: השיטה setCustomVariableAtIndex לא שולחת ישירות נתונים. במקום זאת, הנתונים נשלחים עם הצפייה בדף או האירוע הבאים שבמעקב. צריך להתקשר אל setCustomVariableAtIndex לפני מעקב אחר צפייה בדף או אירוע. הערה: היקף ברירת המחדל של משתנים מותאמים אישית הוא ברמת הדף.

שימוש במעקב אחר מסחר אלקטרוני

יש 4 שיטות שבהן אתם משתמשים כדי להפעיל מעקב אחר מסחר אלקטרוני באפליקציה שלכם:

  • addTransaction
  • addItem
  • trackTransactions
  • clearTransactions

קריאה ל-addTransaction ול-addItem מוסיפה את העסקה או הפריט למאגר נתונים פנימי של מסחר אלקטרוני, שאליו ניתן להוסיף עוד פריטים ועסקאות. רק בזמן שמתקשרים אל trackTransactions, העסקאות והפריטים יישלחו למגישי הבקשות ותורצו לשלוח אותם אל Google Analytics.

כדי לנקות את המאגר, אפשר לקרוא לשיטה clearTransactions. הערה: היא לא זוכרת עסקאות קודמות שנשלחו למוקדן או עסקאות שכבר נאספו על ידי Google Analytics.

קוד הדוגמה הבא יכול לעזור לכם להתחיל.

  /**
   * The purchase was processed.  We will track the transaction and its associated line items
   * now, but only if the purchase has been confirmed.
   */
- (void) processPurchase:Purchase purchase {
  [[GANTracker sharedTracker] addTransaction:[purchase transactionId]
                                  totalPrice:[purchase totalPrice]
                                   storeName:[purchase store]
                                    totalTax:[purchase tax]
                                shippingCost:[purchase shipping]
                                   withError:&error];
  if (error) {
    // Handle error
  }
  for (PurchaseItem item in [purchase items]) {
    [[GANTracker sharedTracker] addItem:[purchase transactionId]
                                itemSKU:[item itemSKU]
                              itemPrice:[item price]
                              itemCount:[item count]
                           itemCategory:[item category]
                              withError:&error];
    if (error) {
      // Handle error
    }
  }

  if ([purchase isConfirmed]) {
    [[GANTracker sharedTracker] trackTransactions:&error];
  } else {
    // The purchase was denied or failed in some way.  We need to clear out
    // any data we've already put in the Ecommerce buffer.
    [[GANTracker sharedTracker] clearTransactions:&error];
  }
}

למידע נוסף על מסחר אלקטרוני, מומלץ לעיין במדריך למעקב אחר מסחר אלקטרוני.

הסתר זהות IP

כדי להגדיר אנונימיזציה של פרטי IP של משתמש, יש להגדיר את המאפיין anonymizeIp ל'כן'. פעולה זו מורה ל-Google Analytics לבצע אנונימיזציה של המידע שנשלח על ידי ה-SDK, על ידי הסרת התווים האחרונים של כתובת ה-IP לפני האחסון שלה.

לדוגמה:

 [[GANTracker sharedTracker] setAnonymizeIp:YES];

אפשר להגדיר את anonymizeIp מתי שרוצים.

הגדרת קצב דגימה

אפשר להגדיר את תדירות הדגימה באמצעות המאפיין sampleRate. אם האפליקציה שלכם יוצרת הרבה תנועת גולשים ב-Analytics, הגדרת קצב הדגימה עשויה למנוע את יצירת הדוחות באמצעות נתונים שנדגמו. הדגימה מתבצעת באופן עקבי אצל משתמשים ייחודיים, כך שיש תקינות בדיווח ובדיווחים כאשר מופעל שיעור הדגימה. הפרמטר sampleRate הוא NSUInteger והוא יכול לכלול ערך בין 0 ל-100, כולל. דוגמה: sampleRate יירד מ-95%:

 [[GANTracker sharedTracker] setSampleRate:95];

שיעור 0 משבית את יצירת ההיטים, ואילו קצב של 100 שולח את כל הנתונים אל Google Analytics. מומלץ להגדיר את sampleRate לפני שמתקשרים לשיטות מעקב.

לקבלת מידע נוסף על דגימה, אתם יכולים לעיין במדריך לקונספט של דגימה.

להיטי אצווה

כדי לחסוך בחיבור ובתקורה של הסוללה, מומלץ לקבץ את בקשות המעקב. ניתן לקרוא ל-dispatch באובייקט המעקב בכל פעם שרוצים לשלוח בקשת אצווה, וניתן לעשות זאת באופן ידני או במרווחי זמן ספציפיים.

בעיות ידועות

  • הפניות/מקורות תנועה: בשלב זה, אין אפשרות לעקוב אחר המקור של הקמפיין/ההפניה של הורדת אפליקציה במכשיר iOS.
  • מומלץ לא להתקשר אל dispatch במצבים הבאים:
    • בשיטה applicationWillTerminate
    • בתוך applicationDidEnterBackground
    • לפני שמתקשרים אל stopTracker
    פעולה זו עלולה לגרום לשליחת היטים פעמיים. במקום זאת, תוכלו להשתמש בשיטה dispatchSynchronous:.
  • קריאת שיטות GANTracker בשרשורים שונים עלולה לגרום לשגיאות SQLite מוסתרות. צריך להקפיד לבצע את כל השיחות מאותו שרשור.
  • מעקב אחר קמפיינים

    מעקב כללי אחר קמפיינים

    באמצעות גרסה 1.3 של Google Analytics SDK ל-iOS, ניתן לעקוב אחר הפניות של קמפיינים. לדוגמה, אם האפליקציה שלכם מיישמת סכימה של כתובת URL מותאמת אישית, אתם יכולים ליצור כתובת URL שמכילה פרמטרים של שאילתות בקמפיין. כשהאפליקציה שלכם נפתחת בתגובה לכתובת URL כזו, תוכלו לאחזר את הפרמטרים של השאילתה ולהעביר אותם ל-setReferrer כדי שהמידע יאוחסן ב-Google Analytics.

    כדי להגדיר את פרטי ההפניה לקמפיין, צריך להשתמש בשיטה setReferrer, כך:

      [[GANTracker sharedTracker] setReferrer:referrer withError:&error];
    

    יש שתי הגבלות על השימוש בתכונה זו. לפני שמתקשרים, צריך להתקשר למספר startTrackerWithAccountID. setReferrer צריך לעשות זאת כי מסד הנתונים של SQLite המשמש את Google Analytics אינו מוגדר לפני הקריאה ל-startTrackerWithAccountID ול-setReferrer הוא דרוש למסד הנתונים. אם לא התקשרת ל-startTrackerWithAccountID, תופיע הודעת שגיאה.

    ההגבלה השנייה היא שמחרוזת ההפניה שהועברה אל setReferrer צריכה להיות בפורמט ספציפי. הוא חייב להיות בצורת קבוצה של פרמטרים של כתובת URL ועליו לכלול לפחות פרמטר gclid או פרמטר אחד מכל utm_campaign, utm_medium ו-utm_source. במקרה השני, הוא יכול לכלול גם פרמטרים מסוג utm_term ו-utm_content.

    הפרמטר GCLID הוא חלק מתכונת התיוג האוטומטי שמקשרת את Google Analytics באופן אוטומטי ל-Google Ads. דוגמה למיקוד של קמפיין באמצעות תיוג אוטומטי עשויה להיראות כך:

    referrer = @“gclid=gclidValue”;
    

    מחרוזת ההפניה הידנית של הקמפיין עשויה להיראות כך:

    referrer = @“utm_campaign=campaign&utm_source=source&utm_medium=medium&utm_term=term&utm_content=content”;
    

    אם תעבירו מחרוזת גורם מפנה בפורמט שגוי אל setReferrer, הפרטים של הגורם המפנה לא ישתנו ותקבלו ערך החזרה של False. ערך החזרה של true מציין שהגורם המפנה עודכן ויתווסף לכל היט בהמשך. כמו כן, תקבלו הודעת שגיאה שתוכלו לבדוק כדי לקבל פרטים על הבעיה שנכשלה.

    כמו כן, כדאי להפעיל סשן חדש כשמתקשרים ל-setReferrer ומחזירה את הערך true.

    פרמטר חובה תיאור דוגמאות
    utm_campaign כן שם הקמפיין; משמש לניתוח של מילות מפתח כדי לזהות קידום ספציפי של מוצר או קמפיין אסטרטגי utm_campaign=spring_sale
    utm_source כן מקור הקמפיין, משמש לזיהוי מנוע חיפוש, ניוזלטר או מקור אחר utm_source=google
    utm_medium כן אמצעי ההגעה לאתר של הקמפיין; משמש לזיהוי אמצעי הגעה לאתר, כמו כתובת אימייל או עלות לקליק (CPC) utm_medium=cpc
    utm_term לא מונח הקמפיין. נעשה שימוש בחיפוש בתשלום כדי לספק את מילות המפתח למודעות utm_term=running+shoes
    utm_content לא תוכן הקמפיין. משמש לבדיקת A/B ולמודעות שמטרגטות תוכן כדי להבדיל בין מודעות או קישורים שמפנים לאותה כתובת URL utm_content=logolink
    utm_content=textlink