רשימת תפוצה

חפש באתר:

Loading

פייסבוק
5to9-תמונות מ
שיחות בפורום

 

 

« שינויי מיקום משמעותיים | Main | הסרטונים מ–WWDC 2011 פורסמו »
שבת
יונ252011

דעו איך משתמשים באפליקציה שלכם

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

אחרי כל המאמץ שהשקעתם בכל שלבי הפיתוח של האפליקציה, סביר להניח שמאוד מעניין אתכם מה קורה איתה עכשיו. איך אנשים משתמשים בה ומה הם חושבים עליה. דרך אחת לקבל את המידע הזה היא הביקורות והדירוגים ב-App Store. הבעיה היא שאחוז המשתמשים שבאמת מגיעים לחנות על מנת לדרג את האפליקציה (שלא לדבר על אלה שבאמת משקיעים וכותבים ביקורת מפורטת) הוא מאוד נמוך. יותר מזה, גם אם המשתמש השקיע וכתב את מה שהוא חושב על האפקליציה בביקורת שלו בחנות, אתם לא יודעים איך הוא השתמש באפליקציה ומדוע הוא קיבל את הרושם שקיבל על האפליקציה. יש כל כך הרבה שאלות שהייתם בוודאי רוצים לקבל עליהן תשובה כמו למשל: כמה זמן משתמש משקיע באפליקציה? לאילו מסכים הוא נכנס? או אילו פעולות הוא מבצע? 

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

על מנת להתחיל את התהליך, כנסו ל-http://analytics.google.com. כנסו עם חשבון הג’ימייל שלכם. במידה ואין לכם אחד כזה, או שמכל סיבה אחרת אתם רוצים להשתמש בחשבון אחר, פשוט צרו אחד חדש והשתמשו בו. כעת, עליכם ליצור את הפרופיל עבור האפליקציה שלכם. במידה ואתם לא מועברים לעמוד הזה אוטומטית, בחרו ב-Create New Profile.

מבחינת Google Analytics, כל הפרופילים שתצרו יהיו עבור אתרים, לכן, עליכם לתת בשלב הזה כתובת לאתר שלכם. היא לא חייבת להיות אמיתית אבל כן צריכה להיות ייחודית לכם ורצוי שתתאר את האפליקציה שלכם על מנת שתוכלו לזהות אותה בקלות לאחר מכן, אם וכאשר יהיו לכם מספר פרופילים שונים. לכן, בדרך כלל מומלץ לבחור ב-appName.CompanyName.com. לחצו על Finish. כעת, אתם מועברים לעמוד ה-Tracking Code בו תוכלו לראות מספר פרטים על הפרופיל שיצרתם. הפרט החשוב ביותר עבורנו נמצא בשדה ה-Web Property ID. מדובר במחרוזת מהצורה UA-XXXXXX-YY, כאשר חלק ה-X הוא מספר החשבון שלכם וה-Y הוא המספר הסידורי של הפרופיל שיצרתם. אנו נשתמש בקוד הזה על מנת לשייך את האפליקציה שלנו לפרופיל שיצרנו, אז מומלץ לשמור אותו בצד לשימוש בשלבים הבאים.

עכשיו, עליכם להוריד את Google Analytics for Mobile מכאן

לעשות Extract לקובץ, להכנס לספריה שנוצרה ובתוכה ל-Library ולהוסיף את שני הקבצים: GANTracker.h ו-libGoogleAnalytics.a לפרויקט שלכם. בנוסף, עליכם לוודא שה-Framework הבאים נמצאים בפרויקט שלכם ואם לא אז להוסיף אותן: CFNetwork ו-libsqlite.3.0.dylib.

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

  [[GANTracker sharedTracker] startTrackerWithAccountID:@"UA-0000000-1"       dispatchPeriod:kGANDispatchPeriodSec                                delegate:nil];

כאשר הפרמטר הראשון הוא ה-Web Property ID אותו יצרנו קודם לכן, הפרמטר השני הינו מספר השניות שיעבור בין שליחה לשליחה של הנתונים לשרת והפרמטר השלישי הינו ה-delegate שברצוננו להגדיר, במידת הצורך, עבור ה-tracker.

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

if (![[GANTracker sharedTracker] 

trackPageview:@"/page_name"

              withError:&error]) 

{

    // Handle error here

}

 

כאשר page_name מוחלף בשם של המסך כפי שהייתם רוצים לראות אותו בדו”ח שיווצר לאחר מכן באתר. המחרוזת של שם המסך חייבת להתחיל ב-/.

באותו אופן, נוכל לעקוב גם אחר אירועים שקרו בצורה הבאה:

 

if (![[GANTracker sharedTracker] trackEvent:@"my_category"

                                     action:@"my_action"

                                      label:@"my_label"

                                      value:-1

                                  withError:&error]) 

{

    // Handle error here

}

כאשר שני הפרמטרים הראשוניים הם חובה, והאחרים אופציונליים (ניתן לתת nil עבור ה-label וה-error ו-1- או כל מספר שלילי אחר עבור ה-value).

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

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

setCustomVariableAtIndex:name:value:withError:

 מידע נוסף על השימוש הנכון במשתנים ניתן למצוא כאן.

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

וזהו. זה לא היה כל כך נורא, נכון? עכשיו, אתם יכולים להנות מסטטיסטיקות על אופן השימוש של משתמשים באפליקציה שלכם ולנסות להבין טוב יותר מדוע אתם מקבלים את הביקורות שאתם מקבלים (לטוב ולרע), האם המשתמשים משתמשים באפליקציה כמו שהתכוונתם ואפילו אילו יכולות עליכם להוסיף או לשפר בגרסאות הבאות על סמך סטטיסטיקות השימוש הללו. את כל הנתונים אתם יכולים לראות ב-analytics.google.com תחת החשבון שלכם והפרופיל שיצרתם בתחילת מדריך זה. קיימות לא מעט אופציות לראות את המידע ולנתח אותו אך אנחנו מן הסתם לא הולכים לנתח את כולן. המטרה הייתה בעיקר לתת לכם טעימה מהעולם הזה ולהדגיש את חשיבות אסיפת המידע על מנת שנוכל ללמוד ממנו לגרסאות הבאות של האפליקציה ואפילו לאפליקציות הבאות שלנו. בתמונה הזו, למשל, ניתן לראות את האירועים שדיווחנו עליהם. אפשר לראות שהיה אירוע אחד, בקטגוריה userActions והפעולה עצמה הייתה login.



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

PrintView Printer Friendly Version

EmailEmail Article to Friend

Reader Comments (2)

תודה, כתבה טובה מאוד!

לאור נסיוני אני אישית ממליץ להזהר לעשות אתחול ישיר ב-main thread של ספריות צד-שלישי לאיסוף כל מני סטטיסטיקות ב applicationDidFinishLaunching. במצבים מסויימים האתחול מתארך לדיי הרבה זמן ואז iOS הורגת את אפליקציה (אפל טוענת שהתקיעה היא בגלל שימוש ב-reachability לבדיקת חיבוריות לרשת).
כל אפליקציה לגופה, לפעמים עדיף להשתמש ב- performSelector:withObject:afterDelay: להרצת האתחול.

ג, יולי 5, 2011 | Unregistered Commenterאלכס בר-גיא

מומלץ להציץ גם על localytics.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>