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

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

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

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

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

تولید - محصول اگر IDFA در دسترس نباشد تأثیر می گذارد
تست A/B برخی از داده‌های هدف (مانند جمعیت‌شناسی) در ادغام A/B Testing با Google Analytics از IDFA مشتق شده‌اند. در برنامه‌های بدون دسترسی به IDFA، این هدف‌گیری در دسترس نیست.
بررسی برنامه بدون تاثیر
توزیع برنامه بدون تاثیر
احراز هویت هیچ تأثیری بر احراز هویت و ارائه‌دهندگان احراز هویت شخص اول، مانند ورود به سیستم Google و تأیید اعتبار تلفن، وجود ندارد.
Crashlytics بدون تاثیر ادغام Crashlytics با Google Analytics که داده‌های خرابی و خرده‌های نان را در زمان واقعی ارائه می‌کند، به IDFA وابسته نیست.
لینک های پویا هیچ تاثیری برای عملکرد باز کردن پیوند ندارد. هنگامی که با Google Analytics استفاده می شود، انتساب رویدادهای تبدیل پیوند در دسترس نیست.
Cloud Firestore بدون تاثیر
توابع ابری بدون تاثیر
پیام رسانی درون برنامه ای بدون تاثیر
تاسیسات فایربیس بدون تاثیر
InstanceID بدون تاثیر
پیام رسانی ابری هنگامی که با Google Analytics استفاده می شود، Google Analytics به طور خودکار برخی از رویدادهای تبدیل مرتبط با FCM را ثبت می کند. انتساب برای این رویدادها به دسترسی IDFA نیاز دارد.
Firebase ML بدون تاثیر
نظارت بر عملکرد بدون تاثیر
پیکربندی از راه دور هنگامی که با Google Analytics استفاده می‌شود، Remote Config اجازه نمی‌دهد ویژگی‌های کاربر به‌طور خودکار برای هدف‌یابی بدون دسترسی IDFA ایجاد شود.
پایگاه داده بیدرنگ بدون تاثیر
فضای ذخیره ابری بدون تاثیر

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

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

تولید - محصول اگر IDFA در دسترس نباشد تأثیر می گذارد
تجزیه و تحلیل ترافیک گوگل ثبت رویداد تجزیه و تحلیل، گزارش رویداد، و اندازه‌گیری تبدیل تأثیری ندارد، اما اگر 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 ارائه می دهد.

پیام های درون برنامه ای را به برنامه خود اضافه کنید

دستورالعمل‌ها را دنبال کنید تا پیام‌رسانی درون برنامه‌ای را به برنامه 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
  }
}

یک کمپین پیام رسانی درون برنامه ای ایجاد کنید

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

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

می‌توانید با دنبال کردن دستورالعمل‌های موجود در اسناد پیام‌رسانی درون‌برنامه، ظاهر صفحه توضیح‌دهنده را سفارشی کنید.

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

پیام‌رسانی درون‌برنامه دارای یکپارچگی داخلی با 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 بروید، سپس یک رویداد تبدیل جدید با همان نام رویداد ثبت شده با کد نمونه بالا اضافه کنید.

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

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

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

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

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