ขั้นตอนที่ 3: เริ่มการวัด Conversion ที่เกิดขึ้นบนอุปกรณ์เคลื่อนที่โดยใช้ Google Analytics
| บทนำ: วัด Conversion ของโฆษณา iOS |
| ขั้นตอนที่ 1: สร้างประสบการณ์การลงชื่อเข้าใช้ |
| ขั้นตอนที่ 2: ผสานรวม Google Analytics |
|
ขั้นตอนที่ 3: เริ่มการวัด Conversion ที่เกิดขึ้นบนอุปกรณ์เคลื่อนที่โดยใช้ Google Analytics |
| ขั้นตอนที่ 4: แก้ปัญหาและจัดการปัญหาที่พบได้ทั่วไป |
เมื่อคุณรวบรวมอีเมลและหมายเลขโทรศัพท์ของผู้ใช้ได้แล้ว และแอปของคุณ มี Google Analytics สำหรับ Firebase SDK คุณก็ใช้ข้อมูลทั้ง 2 อย่างนี้เพื่อเริ่ม วัด Conversion ได้
โทรหา API
เรียกใช้ Conversion Measurement API ด้วยอีเมลหรือหมายเลขโทรศัพท์ที่ได้รับความยินยอมจากขั้นตอนที่ 1 ซึ่งใช้สำหรับการวัด Conversion ของโฆษณา โดยไม่อนุญาตให้ข้อมูลส่วนบุคคลที่ระบุตัวบุคคลนั้นได้ออกจากอุปกรณ์ของผู้ใช้
คุณเริ่มการวัดได้ 2 วิธีดังนี้
ใช้อีเมลหรือหมายเลขโทรศัพท์
Swift
นำเข้าโมดูล FirebaseAnalytics และส่งอีเมลหรือหมายเลขโทรศัพท์ไปยัง API initiateOnDeviceConversionMeasurement()
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 และส่งอีเมลไปยัง API initiateOnDeviceConversionMeasurementWithEmailAddress: หรือหมายเลขโทรศัพท์ไปยัง API initiateOnDeviceConversionMeasurementWithPhoneNumber:
@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 และส่งอีเมลไปยัง API InitiateOnDeviceConversionMeasurementWithEmailAddress() หรือหมายเลขโทรศัพท์ไปยัง API InitiateOnDeviceConversionMeasurementWithPhoneNumber()
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
ทำอย่างใดอย่างหนึ่งต่อไปนี้เพื่อให้การวัด Conversion ที่เกิดขึ้นบนอุปกรณ์เคลื่อนที่แม่นยำและต่อเนื่อง
เรียกใช้ทุกครั้งที่อัปเดตแอป (แนะนำ)
Google Analytics สำหรับ Firebase SDK เวอร์ชัน 12.1.0 ขึ้นไปมีการปรับปรุง
การวัด Conversion ที่เกิดขึ้นบนอุปกรณ์เคลื่อนที่ เพื่อให้การปรับปรุงเหล่านี้มีผลกับผู้ใช้ทุกคน รวมถึงผู้ที่ลงชื่อเข้าใช้ก่อนที่จะอัปเดตแอป คุณต้องเรียกใช้ API initiateOnDeviceConversionMeasurement อีกครั้งหลังจากอัปเดตแอป
โดยเฉพาะอย่างยิ่ง ผู้ใช้ที่ลงชื่อเข้าใช้ก่อนที่แอปจะอัปเดตเป็น SDK เวอร์ชัน 12.1.0 จะไม่อยู่ในขอบเขตของการวัดที่ปรับปรุงแล้วจนกว่าจะมีการเรียกใช้ API initiateOnDeviceConversionMeasurement อีกครั้งสำหรับผู้ใช้เหล่านั้น หากไม่มีการตรวจสอบการอัปเดตแอป การดำเนินการนี้จะเกิดขึ้นก็ต่อเมื่อผู้ใช้ออกจากระบบและลงชื่อเข้าใช้อีกครั้ง
แนวทางปฏิบัติแนะนำคือการเรียก API สำหรับผู้ใช้ที่ลงชื่อเข้าใช้อย่างน้อย 1 ครั้งต่อแอป 1 เวอร์ชัน คุณสามารถใช้การตรวจสอบเมื่อเปิดแอปเพื่อเรียก 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 ทุกครั้งหลังจากที่ผู้ใช้ลงชื่อเข้าใช้หรือลงทะเบียนอีเมลหรือหมายเลขโทรศัพท์เรียบร้อยแล้ว
ข้อควรพิจารณาเกี่ยวกับช่วงเวลาสำหรับการจดทะเบียนใหม่
หากเหตุการณ์ Conversion สำคัญเกิดขึ้นทันทีหลังจากที่ผู้ใช้ลงทะเบียน (และคุณเรียก API) ให้พิจารณาใช้การหน่วงเวลาเล็กน้อย (เช่น 5 วินาที) ระหว่างการเรียก API กับการบันทึกเหตุการณ์สำคัญ ซึ่งจะช่วยให้การวัดในอุปกรณ์เริ่มต้นอย่างสมบูรณ์ก่อนที่จะมีการบันทึกเหตุการณ์
ใช้อีเมลหรือหมายเลขโทรศัพท์ที่แฮช
API จะยอมรับอีเมลและหมายเลขโทรศัพท์ที่แฮชด้วย SHA256 คุณสามารถควบคุมข้อมูลของผู้ใช้ได้โดยการแฮชในโค้ดก่อนที่จะเรียกใช้ SDK
หากต้องการใช้ข้อมูลเข้าสู่ระบบที่แฮช ให้แปลงที่อยู่และหมายเลขให้เป็นรูปแบบมาตรฐาน แฮชด้วย SHA256 แล้วเรียก API
แปลงอีเมลและหมายเลขโทรศัพท์ให้เป็นรูปแบบมาตรฐาน
สำหรับอีเมล Google Analytics API จะถือว่ามีการแปลงเป็นรูปแบบมาตรฐานก่อนที่จะใช้ SHA256 ดังนั้นให้ทำตามขั้นตอนต่อไปนี้เพื่อแปลงข้อมูลเป็นรูปแบบมาตรฐาน
แปลงอีเมลทั้งฉบับเป็นตัวพิมพ์เล็ก
หากอีเมลลงท้ายด้วยโดเมน @googlemail.com ให้แทนที่โดเมน @googlemail.com ด้วย @gmail.com
สำหรับอีเมลที่ลงท้ายด้วยโดเมน @gmail.com (รวมถึงอีเมลที่แก้ไขในขั้นตอนก่อนหน้า)
นำจุดทั้งหมดออกจากส่วนชื่อผู้ใช้
ทำการแทนที่ต่อไปนี้ในส่วนชื่อผู้ใช้
- สำหรับตัวอักษร I หรือ i หรือตัวเลข 1 ให้แทนที่ด้วยตัวอักษร l
- สำหรับตัวเลข 0 ให้แทนที่ด้วยตัวอักษร o
- สำหรับตัวเลข 2 ให้แทนที่ด้วยตัวอักษร z
- สำหรับตัวเลข 5 ให้แทนที่ด้วยตัวอักษร s
ตัวอย่างเช่น หลังจากแปลงเป็นรูปแบบมาตรฐานแล้ว
an.email.user0125@googlemail.comจะกลายเป็นanemalluserolzs@gmail.comCAPSUSER0125@provider.netจะกลายเป็นcapsuser0125@provider.net
สำหรับหมายเลขโทรศัพท์ หมายเลขต้องอยู่ในรูปแบบ E.164 อยู่แล้ว (นั่นคือ ขึ้นต้นด้วย +, รหัสประเทศ 1-3 หลัก และหมายเลขสมาชิกสูงสุด 12 หลัก) ก่อนที่จะแฮชด้วย SHA256
โปรดทราบว่าอีเมลหรือหมายเลขโทรศัพท์ที่แฮชด้วย SHA256 ต้องมีความยาว 32 ไบต์และไม่ใช่สตริงฐานสิบหก
เรียก API ด้วยข้อมูลเข้าสู่ระบบที่แฮช
Swift
นำเข้าโมดูล FirebaseAnalytics และส่งอีเมลหรือหมายเลขโทรศัพท์ไปยัง API initiateOnDeviceConversionMeasurement()
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 และส่งอีเมลไปยัง API initiateOnDeviceConversionMeasurementWithHashedEmailAddress: หรือหมายเลขโทรศัพท์ไปยัง API initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:
@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 และส่งอีเมลไปยัง API InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() หรือหมายเลขโทรศัพท์ไปยัง API InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber()
using Firebase.Analytics; // ... // If you're using an email address.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress); // If you're using a phone number.... FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber);
ยืนยันการผสานรวม
เปิดใช้โหมดแก้ไขข้อบกพร่อง หลังจากเรียกใช้ 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: แก้ปัญหาและจัดการปัญหาที่พบได้ทั่วไป