در iOS 14.5، اپل از توسعهدهندگان میخواهد که از طریق چارچوب شفافیت ردیابی برنامه، اجازه کاربر را برای ردیابی یا دسترسی به شناسه تبلیغاتی دستگاه (IDFA) دریافت کنند. برای جزئیات بیشتر به اسناد حریم خصوصی و استفاده از دادههای کاربر و شفافیت ردیابی برنامه اپل مراجعه کنید.
محصولات آسیبدیده فایربیس
کیتهای توسعه نرمافزار فایربیس به IDFA دسترسی ندارند، اگرچه برخی از آنها با Google Analytics ادغام شدهاند که ممکن است شامل دسترسی به IDFA باشد.
جدول زیر محصولات Firebase را که در پلتفرمهای اپل موجود هستند، فهرست کرده و توضیح میدهد که چگونه عملکرد هر محصول در صورت عدم دسترسی به IDFA تحت تأثیر قرار میگیرد.
| محصول | تأثیر عدم دسترسی به IDFA |
|---|---|
| A/B Testing | برخی از دادههای هدفگیری (مانند دادههای جمعیتی) در ادغام A/B Testing با Google Analytics از IDFA گرفته میشوند. در برنامههایی که به IDFA دسترسی ندارند، این هدفگیری در دسترس نیست. |
| منطق هوش مصنوعی فایربیس ۱ | بدون ضربه |
| App Check | بدون ضربه |
| App Distribution | بدون ضربه |
| Authentication | هیچ تاثیری بر ارائهدهندگان Authentication و Authentication شخص ثالث، مانند ورود به سیستم با گوگل و احراز هویت تلفنی، ندارد. |
| Cloud Firestore | بدون ضربه |
| Cloud Functions | بدون ضربه |
| Cloud Messaging | وقتی از Google Analytics استفاده میشود، Google Analytics به طور خودکار برخی از رویدادهای تبدیل مرتبط با FCM را ثبت میکند. انتساب این رویدادها نیاز به دسترسی IDFA دارد. |
| Cloud Storage | بدون ضربه |
| Crashlytics | هیچ تاثیری ندارد. ادغام Crashlytics با Google Analytics که دادههای خرابی و breadcrumbs را به صورت بلادرنگ ارائه میدهد، به IDFA وابسته نیست. |
| Dynamic Links | هیچ تاثیری بر عملکرد باز کردن لینک ندارد. هنگام استفاده با Google Analytics ، انتساب رویدادهای تبدیل لینک در دسترس نیست. |
| In-App Messaging | بدون ضربه |
| نصب Firebase | بدون ضربه |
| شناسه نمونه | بدون ضربه |
| Firebase ML | بدون ضربه |
| Performance Monitoring | بدون ضربه |
| Realtime Database | بدون ضربه |
| Remote Config | وقتی از Remote Config همراه با Google Analytics استفاده میشود، بدون دسترسی به IDFA، اجازه هدفگیری به ویژگیهای کاربر که به صورت خودکار ایجاد شدهاند را نمیدهد. |
منطق هوش مصنوعی فایربیس قبلاً « هوش مصنوعی ورتکس در فایربیس » نامیده میشد.
ادغامهای تحت تأثیر فایربیس
جدول زیر محصولات یکپارچهشده با Firebase را که در صورت عدم دسترسی به IDFA تحت تأثیر قرار میگیرند، فهرست میکند.
| محصول | تأثیر عدم دسترسی به IDFA |
|---|---|
| Google Analytics | ثبت رویدادهای Analytics ، گزارش رویدادها و اندازهگیری تبدیل تحت تأثیر قرار نمیگیرند، اما اگر IDFA قابل دسترسی نباشد، انتساب تحت تأثیر قرار میگیرد. برای کسب اطلاعات بیشتر در مورد پاسخ گوگل به iOS 14، به پست وبلاگ ما مراجعه کنید. |
درخواست مجوز ردیابی برنامه در iOS 14
اگر میخواهید برنامه اپل شما بتواند به IDFA دسترسی داشته باشد، میتوانید چارچوب شفافیت ردیابی برنامه اپل را به برنامه خود اضافه کنید و درخواست مجوز برای ردیابی یا دسترسی به IDFA کاربران خود را بدهید.
بسیاری از برنامهها قبل از درخواست اجازه، یک صفحه نمایش گرم کردن یا توضیحی ارائه میدهند. صفحه نمایش توضیحی به شما این امکان را میدهد که قبل از درخواست دسترسی، زمینه بیشتری در مورد نحوه استفاده برنامه خود از IDFA به کاربران ارائه دهید.
اگر ناشر اپلیکیشن AdMob یا Ad Manager هستید، استفاده از Funding Choices را در نظر بگیرید که طبق دستورالعملهای اپل، به طور خودکار، رضایت کاربر را برای نمایش تبلیغات شخصیسازیشده و همچنین رضایت او را برای ردیابی کاربر دریافت میکند. برای جزئیات بیشتر به صفحه «رضایت AdMob با پیامرسانی کاربر» مراجعه کنید.
راهنمای زیر با استفاده از Firebase In-App Messaging راهکاری برای ایجاد و نمایش یک صفحه توضیحدهنده قبل از درخواست دسترسی ردیابی از طریق شفافیت ردیابی برنامه ارائه میدهد.
In-App Messaging به برنامه خود اضافه کنید
برای افزودن In-App Messaging به برنامه اپل خود، دستورالعملها را دنبال کنید.
مدیریت رد پیامهای درونبرنامهای
ابتدا، از نمایش صفحه توضیحدهنده در دستگاههایی که نمیتوانند کادر محاورهای رضایت را نمایش دهند، مانند دستگاههایی که 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 را برای مدیریت رویدادها زمانی که کاربر صفحه توضیح را رد میکند، پیادهسازی کنید. اگر کاربر روی تأیید ضربه بزند، اعلان سیستم را از طریق چارچوب شفافیت ردیابی برنامه نمایش دهید.
سویفت
// 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 ایجاد کنید.
- در کنسول Firebase ، یک کمپین In-App Messaging جدید ایجاد کنید.
- پیامهای درون برنامهای را با محتوای دلخواه خود پر کنید و پیام را طوری تنظیم کنید که در رویداد
app_launchفعال شود. - در بخش هدفگیری ، مطمئن شوید که کمپین فقط جدیدترین نسخه اپلیکیشن شما و نسخههای بالاتر را هدف قرار میدهد.
شما میتوانید ظاهر صفحه توضیحدهنده را با دنبال کردن دستورالعملهای موجود در مستندات 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 کنسول، روی «آزمایش جدید» کلیک کنید، سپس دستورالعملهای روی صفحات نمایش داده شده را دنبال کنید.
- در بخش هدفگیری ، مطمئن شوید که کمپین فقط جدیدترین نسخه اپلیکیشن شما و نسخههای بالاتر را هدف قرار میدهد.
- در بخش اهداف ، رویداد تبدیلی که با کد نمونه بالا ایجاد کردهاید و همچنین هر معیار دیگری که میخواهید پیگیری کنید را انتخاب کنید.
وقتی آزمایش خود را منتشر کردید، قبل از اینکه بتوانید نتایج قطعی ارائه دهید، باید مدتی داده جمعآوری کنید.
برای کسب اطلاعات در مورد نحوه نظارت بر یک آزمایش و اجرای یک نسخه موفق، مستندات Firebase A/B Testing را مطالعه کنید.