پشتیبانی از iOS 14

با iOS 14.5، اپل از توسعه‌دهندگان می‌خواهد که مجوز کاربر را از طریق چارچوب شفاف ردیابی برنامه برای ردیابی یا دسترسی به شناسه تبلیغاتی دستگاهشان (IDFA) دریافت کنند. برای جزئیات بیشتر به اسناد حریم خصوصی کاربر و استفاده از داده‌های اپل و مستندات شفافیت پیگیری برنامه اپل مراجعه کنید.

محصولات Firebase تحت تأثیر قرار گرفته است

Firebase SDK به IDFA دسترسی ندارد، اگرچه برخی از آنها با Google Analytics یکپارچه شده اند که ممکن است شامل دسترسی IDFA باشد.

جدول زیر محصولات Firebase را که در پلتفرم‌های اپل در دسترس هستند فهرست می‌کند و توضیح می‌دهد که اگر IDFA در دسترس نباشد، چگونه بر عملکرد هر محصول تأثیر می‌گذارد.

محصول اگر IDFA در دسترس نباشد تأثیر می گذارد
A/B Testing برخی از داده‌های هدف (مانند جمعیت‌شناسی) در ادغام A/B Testing با Google Analytics از IDFA مشتق شده‌اند. در برنامه‌های بدون دسترسی به IDFA، این هدف‌گیری در دسترس نیست.
App Check بدون تاثیر
App Distribution بدون تاثیر
Authentication هیچ تأثیری بر Authentication و ارائه‌دهندگان Authentication شخص اول، مانند ورود به سیستم Google و تأیید اعتبار تلفن، وجود ندارد.
Crashlytics بدون تاثیر ادغام Crashlytics با Google Analytics که داده‌های خرابی و خرده‌های نان را در زمان واقعی ارائه می‌کند، به IDFA وابسته نیست.
Dynamic Links هیچ تاثیری برای عملکرد باز کردن پیوند ندارد. وقتی با Google Analytics استفاده می‌شود، انتساب رویدادهای تبدیل پیوند در دسترس نیست.
Cloud Firestore بدون تاثیر
Cloud Functions بدون تاثیر
In-App Messaging بدون تاثیر
تاسیسات Firebase بدون تاثیر
شناسه نمونه بدون تاثیر
Cloud Messaging هنگامی که با Google Analytics استفاده می شود، Google Analytics به طور خودکار برخی از رویدادهای تبدیل مربوط به FCM را ثبت می کند. انتساب برای این رویدادها به دسترسی IDFA نیاز دارد.
Firebase ML بدون تاثیر
Performance Monitoring بدون تاثیر
Remote Config هنگامی که با Google Analytics استفاده می‌شود، Remote Config اجازه نمی‌دهد ویژگی‌های کاربر به‌طور خودکار برای هدف‌یابی بدون دسترسی IDFA ایجاد شود.
Realtime Database بدون تاثیر
Cloud Storage بدون تاثیر
Vertex AI in Firebase بدون تاثیر

ادغام های Firebase تحت تأثیر قرار گرفته است

جدول زیر محصولات ادغام شده با Firebase را فهرست می کند که در صورت عدم دسترسی به IDFA تحت تأثیر قرار می گیرند.

محصول اگر IDFA در دسترس نباشد تأثیر می گذارد
Google Analytics ثبت رویداد Analytics ، گزارش رویداد، و اندازه‌گیری تبدیل تأثیری ندارد، اما اگر IDFA در دسترس نباشد، انتساب تحت تأثیر قرار می‌گیرد. برای کسب اطلاعات بیشتر در مورد پاسخ Google به iOS 14، به پست وبلاگ ما مراجعه کنید.

درخواست مجوز ردیابی برنامه در iOS 14

اگر می‌خواهید برنامه اپل شما بتواند به IDFA دسترسی داشته باشد، می‌توانید چارچوب شفافیت پیگیری اپلیکیشن اپل را به برنامه خود اضافه کنید و درخواست مجوز برای ردیابی یا دسترسی به IDFA کاربران خود کنید.

بسیاری از برنامه‌ها ترجیح می‌دهند قبل از درخواست اجازه، یک صفحه گرم‌آپ یا توضیح‌دهنده ارائه دهند. صفحه توضیح دهنده به شما این امکان را می دهد که قبل از درخواست دسترسی، زمینه بیشتری را در مورد نحوه استفاده برنامه شما از IDFA به کاربران ارائه دهید.

اگر یک ناشر برنامه AdMob یا Ad Manager هستید، از Funding Choices استفاده کنید، که به کسب رضایت برای ارائه تبلیغات شخصی‌شده و همچنین رضایت برای ردیابی کاربر طبق دستورالعمل‌های اپل به صورت خودکار رسیدگی می‌کند. برای جزئیات بیشتر به صفحه AdMob Consent with User Messaging مراجعه کنید.

راهنمای زیر راه حلی با استفاده از Firebase In-App Messaging برای ایجاد و نمایش یک صفحه توضیح دهنده قبل از درخواست دسترسی ردیابی از طریق App Tracking Transparency ارائه می دهد.

In-App Messaging به برنامه خود اضافه کنید

دستورالعمل‌ها را دنبال کنید تا In-App Messaging به برنامه Apple خود اضافه کنید .

رسیدگی به رد پیام درون برنامه ای

اول، از نمایش صفحه توضیح دهنده در دستگاه هایی که نمی توانند گفتگوی رضایت را ارائه دهند، مانند دستگاه هایی که iOS 13 دارند، خودداری کنید. مطمئن شوید که این کد بلافاصله پس از FirebaseApp.configure() اجرا می شود.

سویفت

if NSClassFromString("ATTrackingManager") == nil {
  // Avoid showing the App Tracking Transparency explainer if the
  // framework is not linked.
  InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}

پروتکل InAppMessagingDisplayDelegate را برای مدیریت رویدادهایی که کاربر صفحه توضیح دهنده را رد می کند، پیاده سازی کنید. اگر کاربر روی OK ضربه بزند، درخواست سیستم را از طریق چارچوب شفافیت پیگیری برنامه نمایش دهید.

سویفت

// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self

func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
                    with action: InAppMessagingAction) {
  switch action.actionText {
  case "OK":
    ATTrackingManager.requestTrackingAuthorization { status in
      switch status {
      case .authorized:
        // Optionally, log an event when the user accepts.
        Analytics.logEvent("tracking_authorized", parameters: nil)
      case _:
        // Optionally, log an event here with the rejected value.
      }
    }
  case _:
    // do nothing
  }
}

یک کمپین In-App Messaging ایجاد کنید

هنگامی که کد در برنامه شما قرار گرفت، یک پیام درون برنامه ای در کنسول Firebase ایجاد کنید.

  1. در کنسول Firebase ، یک کمپین In-App Messaging جدید ایجاد کنید.
  2. پیام های درون برنامه را با محتوای دلخواه خود پر کنید و پیام را طوری تنظیم کنید که در رویداد app_launch فعال شود.
  3. در بخش Targeting ، مطمئن شوید که کمپین فقط آخرین نسخه برنامه شما و بالاتر را هدف قرار می دهد.

می‌توانید با دنبال کردن دستورالعمل‌های موجود در اسناد In-App Messaging ظاهر صفحه توضیح‌دهنده را سفارشی کنید.

اختیاری: A/B صفحه های توضیح دهنده مختلف را تست کنید

In-App Messaging دارای یکپارچگی داخلی با Firebase A/B Testing است که می‌توانید از آن برای آزمایش صفحه‌های توضیح دهنده مختلف استفاده کنید.

Firebase A/B Testing به‌طور خودکار گروه‌های آزمایشی ایجاد می‌کند و به شما کمک می‌کند نحوه تعامل کاربران با انواع مختلف برنامه‌تان را تجسم کنید.

مجوزهای ردیابی برنامه را ضبط کنید

اگر هنگام مدیریت پاسخ مجوزهای ردیابی برنامه، یک رویداد Google Analytics را ثبت نکرده‌اید، برای اندازه‌گیری تغییرات در نرخ پاسخ هنگام اجرای آزمایش A/B، باید این کار را انجام دهید.

سویفت

ATTrackingManager.requestTrackingAuthorization { status in
  switch status {
  case .authorized:
    // Optionally, log an event when the user accepts.
    Analytics.logEvent("tracking_authorized", parameters: nil)
  case _:
    // Optionally, log an event here with the rejected value.
  }
}

یک رویداد تبدیل جدید ایجاد کنید

در بخش Analytics کنسول Firebase ، به منوی Conversions بروید، سپس یک رویداد تبدیل جدید با همان نام رویداد ثبت شده با کد نمونه بالا اضافه کنید.

یک آزمایش جدید ایجاد کنید

در منوی In-App Messaging کنسول، روی «آزمایش جدید» کلیک کنید، سپس دستورالعمل‌های صفحه‌های به‌دست‌آمده را دنبال کنید.

  • در بخش Targeting ، مطمئن شوید که کمپین فقط آخرین نسخه برنامه شما و بالاتر را هدف قرار می دهد.
  • در بخش اهداف ، رویداد تبدیلی را که با کد نمونه بالا ایجاد کرده‌اید و همچنین سایر معیارهایی که می‌خواهید ردیابی کنید، انتخاب کنید.

هنگامی که آزمایش خود را منتشر کردید، قبل از اینکه بتواند نتایج قطعی به دست آورد، باید برای مدتی داده ها را جمع آوری کند.

اسناد Firebase A/B Testing را برای اطلاعات در مورد نحوه نظارت بر آزمایش و ارائه یک نوع موفق بخوانید.