آموزش: اندازه گیری تبدیل تبلیغات iOS

مرحله ۳: اندازه‌گیری تبدیل روی دستگاه را با استفاده از Google Analytics آغاز کنید


مقدمه: اندازه‌گیری تبدیل‌های تبلیغات iOS

مرحله ۱: پیاده‌سازی یک تجربه ورود به سیستم

مرحله ۲: ادغام Google Analytics

مرحله ۳: اندازه‌گیری تبدیل روی دستگاه را با استفاده از Google Analytics آغاز کنید

مرحله ۴: عیب‌یابی و رسیدگی به مشکلات رایج


حالا که می‌توانید آدرس‌های ایمیل و شماره تلفن کاربران را جمع‌آوری کنید و برنامه شما Google Analytics for Firebase SDK را دارد، می‌توانید از این دو برای اندازه‌گیری تبدیل‌ها استفاده کنید.

فراخوانی API

API اندازه‌گیری تبدیل را با آدرس ایمیل یا شماره تلفن موافقت‌شده از مرحله ۱، که برای اندازه‌گیری تبدیل تبلیغات استفاده می‌شود، فراخوانی کنید، بدون اینکه اجازه دهید هیچ اطلاعات شخصی قابل شناسایی از دستگاه کاربر خارج شود.

دو روش برای شروع اندازه‌گیری وجود دارد:

استفاده از آدرس ایمیل یا شماره تلفن

سویفت

ماژول 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")

هدف-سی

ماژول 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"];

وحدت

فضای نام 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

برای اطمینان از اندازه‌گیری دقیق و مداوم تبدیل روی دستگاه، هر یک از موارد زیر را انجام دهید:

Google Analytics برای فایربیس SDK نسخه ۱۲.۱.۰ و بالاتر شامل بهبودهایی در اندازه‌گیری تبدیل روی دستگاه است. برای اطمینان از اینکه این بهبودها برای همه کاربران، از جمله کسانی که قبل از به‌روزرسانی برنامه شما وارد سیستم شده‌اند، اعمال می‌شود، بسیار مهم است که API initiateOnDeviceConversionMeasurement پس از به‌روزرسانی برنامه دوباره فراخوانی کنید.

به طور خاص، کاربرانی که قبل از به‌روزرسانی برنامه شما به نسخه ۱۲.۱.۰ SDK وارد سیستم شده‌اند، تا زمانی که API initiateOnDeviceConversionMeasurement دوباره برای آنها فراخوانی نشود، در محدوده اندازه‌گیری پیشرفته قرار نمی‌گیرند. بدون بررسی به‌روزرسانی برنامه، این اتفاق فقط در صورتی رخ می‌دهد که آنها از سیستم خارج شده و دوباره وارد سیستم شوند.

بهترین روش این است که API را برای کاربران وارد شده حداقل یک بار در هر نسخه از برنامه فراخوانی کنید. می‌توانید یک بررسی در هنگام راه‌اندازی برنامه پیاده‌سازی کنید تا API فقط زمانی فراخوانی شود که نسخه برنامه از آخرین فراخوانی تغییر کرده باشد.

سویفت

// 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")
}

هدف-سی

// 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"];
}

وحدت

// 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، یک نرمال‌سازی خاص انجام شده است، بنابراین برای نرمال‌سازی داده‌های خود این مراحل را دنبال کنید:

  1. کل آدرس ایمیل را به حروف کوچک تبدیل کنید.

  2. اگر آدرس ایمیل به دامنه @googlemail.com ختم می‌شود، دامنه @googlemail.com را با @gmail.com جایگزین کنید.

  3. برای آدرس‌هایی که به دامنه @gmail.com ختم می‌شوند (از جمله آدرس‌هایی که در مرحله قبل تغییر داده شده‌اند):

    1. تمام نقطه‌ها را از قسمت نام کاربری حذف کنید.

    2. در قسمت نام کاربری، جایگزین‌های زیر را انجام دهید:

      • برای حروف I یا i، یا رقم ۱، حرف l را جایگزین کنید.
      • برای رقم ۰، حرف o را جایگزین کنید
      • برای رقم ۲، حرف z را جایگزین کنید
      • برای رقم ۵، حرف s را جایگزین کنید.

برای مثال، پس از نرمال‌سازی:

  • an.email.user0125@googlemail.com تبدیل می‌شود به anemalluserolzs@gmail.com
  • CAPSUSER0125@provider.net تبدیل می‌شود به capsuser0125@provider.net

برای شماره تلفن‌ها ، شماره‌ها باید قبل از هش کردن با SHA256، از قبل به فرمت E.164 باشند (یعنی پیشوند با +، ۱-۳ رقم برای کد کشور، حداکثر ۱۲ رقم برای شماره مشترک).

توجه داشته باشید که ایمیل یا شماره تلفن‌های هش شده SHA256 باید 32 بایت طول داشته باشند و نه یک رشته هگزادسیمال.

فراخوانی API با اعتبارنامه‌های هش‌شده

سویفت

ماژول 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)

هدف-سی

ماژول 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];

وحدت

فضای نام 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);

تأیید ادغام

حالت اشکال‌زدایی را فعال کنید. پس از فراخوانی API اندازه‌گیری اولیه، مطمئن شوید که پیامی مانند پیام گزارش زیر در کنسول اشکال‌زدایی Xcode ظاهر می‌شود:

[FirebaseAnalytics][I-ACS023225] Initiated on-device conversion measurement

اگر حالت اشکال‌زدایی را فعال کرده باشید و آرگومان راه‌اندازی -DebugOnDeviceConversionMeasurement را وارد کرده باشید، فراخوانی API initiateOnDeviceConversionMeasurement() یک تطابق را شبیه‌سازی می‌کند.

[FirebaseAnalytics][I-ACS023229] On-device conversion measurement found a match




مرحله ۲ : ادغام Google Analytics مرحله ۴ : عیب‌یابی و مدیریت مشکلات رایج