پرش به مطلب اصلی

ویژگی‌های Transparency

بعد از یکپارچه‌سازی Adtrace SDK با پروژه خود، می‌توانید از ویژگی‌های زیر بهره‌مند شوید.

فریم‌ورک AppTrackingTransparency

برای هر بسته ارسال‌شده، backend ادتریس یکی از چهار (۴) حالت رضایت زیر را برای دسترسی به داده‌های مرتبط با اپ که می‌تواند برای ردیابی کاربر یا دستگاه استفاده شود دریافت می‌کند:

  • Authorized (مجاز)
  • Denied (رد شده)
  • Not Determined (تعیین نشده)
  • Restricted (محدود شده)

بعد از اینکه دستگاه یک درخواست مجوز برای تأیید دسترسی به داده‌های مرتبط با اپ که برای ردیابی کاربر یا دستگاه استفاده می‌شود دریافت کند، وضعیت برگشتی یا Authorized یا Denied خواهد بود.

قبل از اینکه دستگاه یک درخواست مجوز برای دسترسی به داده‌های مرتبط با اپ که برای ردیابی کاربر یا دستگاه استفاده می‌شود دریافت کند، وضعیت برگشتی Not Determined خواهد بود.

اگر مجوز استفاده از داده‌های ردیابی اپ محدود شده باشد، وضعیت برگشتی Restricted خواهد بود.

SDK یک مکانیزم داخلی برای دریافت وضعیت به‌روز بعد از پاسخ کاربر به پاپ‌آپ دارد، در صورتی که نخواهید پاپ‌آپ نمایش داده‌شده را سفارشی کنید. برای انتقال راحت و کارآمد وضعیت جدید رضایت به backend، Adtrace SDK یک wrapper برای متد مجوز ردیابی اپ ارائه می‌دهد که در فصل بعدی، App-tracking authorization wrapper توضیح داده شده است.

App-tracking authorisation wrapper

Adtrace SDK امکان استفاده از آن برای درخواست مجوز کاربر در دسترسی به داده‌های مرتبط با اپ را فراهم می‌کند. Adtrace SDK یک wrapper روی متد requestTrackingAuthorizationWithCompletionHandler ساخته است، که در آن می‌توانید متد callback را برای دریافت اطلاعات درباره انتخاب کاربر تعریف کنید. همچنین با استفاده از این wrapper، به محض اینکه کاربر به پاپ‌آپ پاسخ دهد، از طریق متد callback شما اطلاع‌رسانی می‌شود. SDK همچنین انتخاب کاربر را به backend اطلاع می‌دهد. مقدار NSUInteger از طریق متد callback شما با معانی زیر تحویل داده می‌شود:

  • ۰: ATTrackingManagerAuthorizationStatusNotDetermined
  • ۱: ATTrackingManagerAuthorizationStatusRestricted
  • ۲: ATTrackingManagerAuthorizationStatusDenied
  • ۳: ATTrackingManagerAuthorizationStatusAuthorized

برای استفاده از این wrapper، می‌توانید آن را به این شکل فراخوانی کنید:

[Adtrace requestTrackingAuthorizationWithCompletionHandler:^(NSUInteger status) {
switch (status) {
case 0:
// حالت ATTrackingManagerAuthorizationStatusNotDetermined
break;
case 1:
// حالت ATTrackingManagerAuthorizationStatusRestricted
break;
case 2:
// حالت ATTrackingManagerAuthorizationStatusDenied
break;
case 3:
// حالت ATTrackingManagerAuthorizationStatusAuthorized
break;
}
}];

دریافت وضعیت مجوز جاری

برای دریافت وضعیت جاری مجوز ردیابی اپ می‌توانید [Adtrace appTrackingAuthorizationStatus] را فراخوانی کنید که یکی از حالات زیر را برمی‌گرداند:

  • 0: از کاربر هنوز پرسیده نشده
  • 1: دستگاه کاربر محدود شده
  • 2: کاربر دسترسی به IDFA را رد کرده
  • 3: کاربر دسترسی به IDFA را مجاز کرده
  • -1: وضعیت در دسترس نیست

فریم‌ورک SKAdNetwork

اگر iOS SDK ادتریس نسخه v2.0.5 یا بالاتر را پیاده‌سازی کرده‌اید و اپ شما روی iOS 14 اجرا می‌شود، ارتباط با SKAdNetwork به طور پیش‌فرض فعال است، گرچه می‌توانید آن را خاموش کنید. وقتی فعال است، ادتریس به طور خودکار برای SKAdNetwork attribution هنگام مقداردهی اولیه SDK ثبت‌نام می‌کند. اگر رویدادها در پنل ادتریس برای دریافت مقادیر تبدیل راه‌اندازی شده باشند، backend ادتریس داده مقدار تبدیل را به SDK ارسال می‌کند. SDK سپس مقدار تبدیل را تنظیم می‌کند. بعد از اینکه ادتریس داده‌های callback SKAdNetwork را دریافت کرد، در پنل نمایش داده می‌شود.

اگر نمی‌خواهید Adtrace SDK به طور خودکار با SKAdNetwork ارتباط برقرار کند، می‌توانید آن را با فراخوانی متد زیر روی شیء پیکربندی غیرفعال کنید:

[adtraceConfig deactivateSKAdNetworkHandling];

به‌روزرسانی مقدار تبدیل SKAdNetwork

از نسخه iOS SDK v2.0.5 می‌توانید از متد wrapper ادتریس SDK updateConversionValue: برای به‌روزرسانی مقدار تبدیل SKAdNetwork برای کاربرتان استفاده کنید:

[Adtrace updateConversionValue:6];

Callback به‌روزرسانی مقدار تبدیل

می‌توانید callback ثبت کنید تا هر بار که Adtrace SDK مقدار تبدیل را برای کاربر به‌روز می‌کند اطلاع داده شوید. باید پروتکل AdtraceDelegate را پیاده‌سازی کرده و متد اختیاری adtraceConversionValueUpdated: را پیاده‌سازی کنید:

- (void)adtraceConversionValueUpdated:(NSNumber *)conversionValue {
NSLog(@"Conversion value updated callback called!");
NSLog(@"Conversion value: %@", conversionValue);
}