ขั้นตอนที่ 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 ครั้งต่อแอปเวอร์ชัน คุณสามารถใช้การตรวจสอบเมื่อเปิดแอปเพื่อเรียกใช้ 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: แก้ปัญหาและจัดการปัญหาที่พบได้ทั่วไป