שלב 3: הפעלת מדידת המרות במכשיר באמצעות Google Analytics
| מבוא: מדידת המרות ב-iOS Ads |
|
שלב 1: הטמעה של חוויית כניסה |
| שלב 2: שילוב Google Analytics |
|
שלב 3: הפעלת מדידת המרות במכשיר באמצעות Google Analytics |
| שלב 4: פתרון בעיות נפוצות |
עכשיו, כשאתם יכולים לאסוף כתובות אימייל ומספרי טלפון של משתמשים, ובאפליקציה שלכם מוגדר Google Analytics for Firebase SDK, אתם יכולים להשתמש בשניהם כדי להתחיל למדוד המרות.
שליחת קריאה ל-API
שולחים קריאה ל-API למדידת המרות עם כתובת האימייל או מספר הטלפון שהמשתמש הסכים לשתף בשלב 1, שמשמשים למדידת המרות ממודעות, בלי לאפשר לפרטים אישיים מזהים לצאת ממכשיר המשתמש.
יש שתי דרכים להתחיל מדידה:
שימוש בכתובת אימייל או במספר טלפון
Swift
מייבאים את המודול FirebaseAnalytics ומעבירים את כתובת האימייל או מספר הטלפון אל initiateOnDeviceConversionMeasurement() API.
import FirebaseAnalytics // ... // If you're using an email address.... Analytics.initiateOnDeviceConversionMeasurement(emailAddress: "example@gmail.com") // If you're using a phone number.... Analytics.initiateOnDeviceConversionMeasurement(phoneNumber: "+15555555555")
Objective-C
מייבאים את המודול FirebaseAnalytics ומעבירים את כתובת האימייל אל initiateOnDeviceConversionMeasurementWithEmailAddress: API או את מספר הטלפון אל initiateOnDeviceConversionMeasurementWithPhoneNumber: API.
@import FirebaseAnalytics; // ... // If you're using an email address.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithEmailAddress:@"example@gmail.com"]; // If you're using a phone number.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithPhoneNumber:@"+15555555555"];
Unity
מייבאים את מרחב השמות Firebase.Analytics ומעבירים את כתובת האימייל אל InitiateOnDeviceConversionMeasurementWithEmailAddress() API או את מספר הטלפון אל InitiateOnDeviceConversionMeasurementWithPhoneNumber() API:
using Firebase.Analytics; // ... // If you're using an email address.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithEmailAddress("example@gmail.com"); // If you're using a phone number.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithPhoneNumber("+15555555555");
שיטות מומלצות לקריאה ל-API
כדי להבטיח מדידה מדויקת ורציפה של המרות במכשיר, אפשר לבצע את הפעולות הבאות:
הודעה על כל עדכון אפליקציה (מומלץ)
Google Analytics לגרסה 12.1.0 ואילך של Firebase SDK כולל שיפורים במדידת המרות במכשיר. כדי לוודא שהשיפורים האלה יחולו על כל המשתמשים, כולל אלה שכבר נכנסו לחשבון לפני שהאפליקציה עודכנה, חשוב להפעיל שוב את initiateOnDeviceConversionMeasurement API אחרי עדכון האפליקציה.
במילים אחרות, משתמשים שנכנסו לחשבון לפני שהאפליקציה עודכנה לגרסה 12.1.0 של SDK לא נכללים בהיקף המדידה המשופרת עד שממשק initiateOnDeviceConversionMeasurement API נקרא שוב עבורם. בלי בדיקת עדכון לאפליקציה, זה יקרה רק אם הם יצאו מהחשבון וייכנסו אליו מחדש.
השיטה המומלצת היא לקרוא ל-API עבור משתמשים מחוברים לפחות פעם אחת לכל גרסת אפליקציה. אפשר להטמיע בדיקה בהפעלת האפליקציה כדי לקרוא ל-API רק אם גרסת האפליקציה השתנתה מאז הקריאה האחרונה.
Swift
// On app launch if the app version has changed, call the API with the first-party data // (for example: email address, phone number, hashed email address, hashed phone number). let cachedAppVersion = UserDefaults.standard.string(forKey: "cachedAppVersion") let currentAppVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String if cachedAppVersion != currentAppVersion { let hashedEmailAddress = ... Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: hashedEmailAddress) UserDefaults.standard.set(currentAppVersion, forKey: "cachedAppVersion") }
Objective-C
// On app launch if the app version has changed, call the API with the first-party data // (for example: email address, phone number, hashed email address, hashed phone number). NSString *cachedAppVersion = [[NSUserDefaults standardUserDefaults] stringForKey:@"cachedAppVersion"]; NSString *currentAppVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]; if (![cachedAppVersion isEqualToString:currentAppVersion]) { NSString *hashedEmailAddress = ... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress]; [[NSUserDefaults standardUserDefaults] setObject:currentAppVersion forKey:@"cachedAppVersion"]; }
Unity
// On app launch if the app version has changed, call the API with the first-party data // (for example: email address, phone number, hashed email address, hashed phone number). string cachedAppVersion = PlayerPrefs.GetString("cached_app_version", ""); string currentAppVersion = Application.version; if (cachedAppVersion != currentAppVersion) { byte[] hashedEmailAddress = ... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress( hashedEmailAddress); PlayerPrefs.SetString("cached_app_version", currentAppVersion); PlayerPrefs.Save(); }
התקשרות מיד אחרי הכניסה לחשבון
תמיד צריך לקרוא ל-API initiateOnDeviceConversionMeasurement מיד אחרי שהמשתמש נכנס לחשבון או רושם את כתובת האימייל או מספר הטלפון שלו.
שיקולי תזמון לגבי רישומים חדשים
אם אירוע מרכזי של המרה מתרחש מיד אחרי שמשתמש נרשם (ואתם קוראים ל-API), כדאי להטמיע השהיה קצרה (למשל, חמש שניות) בין הקריאה ל-API לבין רישום האירוע המרכזי. כך אפשר לוודא שהמדידה במכשיר אותחלה באופן מלא לפני שהאירוע נרשם.
שימוש בכתובת אימייל או במספר טלפון שעברו גיבוב
ה-API יקבל כתובות אימייל ומספרי טלפון שעברו גיבוב באמצעות SHA256. אתם יכולים לשמור על שליטה בנתוני המשתמשים על ידי ביצוע הגיבוב בקוד לפני ביצוע קריאות ל-SDK.
כדי להשתמש בפרטי כניסה מגובבים, צריך לנרמל את הכתובות והמספרים, לגבב אותם באמצעות SHA256 ואז להפעיל את ה-API.
נרמול של כתובות אימייל ומספרי טלפון
במקרה של כתובות אימייל, ה-API של Google Analytics מניח שבוצע נירמול מסוים לפני השימוש ב-SHA256, ולכן צריך לבצע את השלבים הבאים כדי לנרמל את הנתונים:
ממירים את כל כתובת האימייל לאותיות קטנות.
אם כתובת האימייל מסתיימת בדומיין @googlemail.com, מחליפים את הדומיין @googlemail.com בדומיין @gmail.com.
לכתובות שמסתיימות בדומיין @gmail.com (כולל אלה ששונו בשלב הקודם):
מסירים את כל הנקודות מחלק שם המשתמש.
מבצעים את ההחלפות הבאות בחלק של שם המשתמש:
- אם מזינים את האותיות I או i, או את הספרה 1, צריך להחליף אותן באות l
- במקום הספרה 0, מחליפים באות o
- במקום הספרה 2, מחליפים באות z
- For digit 5, substitute letter s
לדוגמה, אחרי הנרמול:
- הערך
an.email.user0125@googlemail.comהופך ל-anemalluserolzs@gmail.com - הערך
CAPSUSER0125@provider.netהופך ל-capsuser0125@provider.net
מספרי טלפון צריכים להיות כבר בפורמט E.164 (כלומר, קידומת עם סימן פלוס, 1-3 ספרות של קוד המדינה, עד 12 ספרות של מספר המנוי) לפני הגיבוב באמצעות SHA256.
שימו לב שכתובות האימייל או מספרי הטלפון המגובבים בפורמט SHA256 צריכים להיות באורך של 32 בייט ולא מחרוזת הקסדצימלית.
קריאה ל-API עם פרטי כניסה מגובבים
Swift
מייבאים את המודול FirebaseAnalytics ומעבירים את כתובת האימייל או מספר הטלפון אל initiateOnDeviceConversionMeasurement() API.
import FirebaseAnalytics // ... // If you're using an email address.... Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: hashedEmailAddress) // If you're using a phone number.... Analytics.initiateOnDeviceConversionMeasurement(hashedPhoneNumber: hashedPhoneNumber)
Objective-C
מייבאים את המודול FirebaseAnalytics ומעבירים את כתובת האימייל אל initiateOnDeviceConversionMeasurementWithHashedEmailAddress: API או את מספר הטלפון אל initiateOnDeviceConversionMeasurementWithHashedPhoneNumber: API.
@import FirebaseAnalytics; // ... // If you're using an email address.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress]; // If you're using a phone number.... [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:hashedPhoneNumber];
Unity
מייבאים את מרחב השמות Firebase.Analytics ומעבירים את כתובת האימייל אל InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() API או את מספר הטלפון אל InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber() API:
using Firebase.Analytics; // ... // If you're using an email address.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress); // If you're using a phone number.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber);
אימות השילוב
מפעילים את מצב ניפוי הבאגים. אחרי שמפעילים את initiate measurement API, מוודאים שהודעה כמו הודעת היומן הבאה מופיעה במסוף הניפוי באגים של Xcode:
[FirebaseAnalytics][I-ACS023225] Initiated on-device conversion measurement
אם הפעלתם את מצב ניפוי הבאגים והוספתם את ארגומנט ההפעלה -DebugOnDeviceConversionMeasurement, קריאה לממשק ה-API initiateOnDeviceConversionMeasurement() תדמה התאמה.
[FirebaseAnalytics][I-ACS023229] On-device conversion measurement found a match
שלב 2: שילוב של Google Analytics שלב 4: פתרון בעיות וטיפול בבעיות נפוצות