فایربیس ابزارهایی را برای سفارشیسازی تجربه کاربر با هدف قرار دادن گروههایی از کاربران از طریق سرویسهای فایربیس مانند Remote Config ، Cloud Messaging و In-App Messaging ارائه میدهد. با استفاده از یک حساب کاربری مرتبط BigQuery ، میتوانید بخشهایی را که ممکن است در خارج از فایربیس شناسایی کرده باشید، وارد کنید تا تجربیات هدفمندی را با سرویسهای فایربیس ایجاد کنید.
بخشهای وارد شده را تنظیم کنید
شما میتوانید دادههای مربوط به بخشهای خود را با استفاده از Google Cloud BigQuery به Firebase وارد کنید. BigQuery روشهای مختلفی برای بارگذاری دادهها ارائه میدهد، بنابراین میتوانید انتخاب کنید که کدام یک برای پیکربندی شما مناسبتر است.

پس از فعال شدن ادغام:
- فایربیس یک مجموعه داده در BigQuery ایجاد میکند که متعلق به شماست، اما فایربیس به آن دسترسی خواندن دارد.
- فایربیس به صورت دورهای دادهها را دریافت میکند و بخشهای بهروزرسانیشدهی شما را برای هدفگیری در کنسول Firebase در دسترس قرار میدهد.
- فایربیس فقط دسترسی خواندن به این دادهها را دارد. فایربیس یک کپی از این دادهها را در حافظه داخلی خود نگه میدارد.
- هر دادهای که از مجموعه دادههای BigQuery حذف شود، از فضای ذخیرهسازی دادههای Firebase نیز حذف میشود.
فعال کردن وارد کردن BigQuery
- به صفحه ادغام BigQuery در کنسول Firebase بروید.
- اگر قبلاً ادغام BigQuery را تنظیم نکردهاید، دستورالعملهای روی صفحه را برای فعال کردن BigQuery دنبال کنید.
کنسول فایربیس"> - گزینهی « بخشهای وارد شده» را فعال کنید.

وقتی وارد کردن بخشها از BigQuery را فعال میکنید:
- فایربیس به طور خودکار یک مجموعه داده جدید BigQuery با نام
firebase_imported_segmentsایجاد میکند. این مجموعه داده شامل جداول خالی با نامهایSegmentMembershipsوSegmentMetadataاست. - مجموعه داده 'firebase_imported_segments' همچنین با یک حساب سرویس Firebase با دامنه
@gcp-sa-firebasesegmentation.iam.gserviceaccount.comبه اشتراک گذاشته میشود. - فایربیس حداقل هر ۱۲ ساعت یک بار برای خواندن از این مجموعه داده، یک کار (job) اجرا میکند و ممکن است بیشتر از ۱۲ ساعت، عملیات ایمپورت (import) را انجام دهد.
وارد کردن دادهها به BigQuery
شما میتوانید از هر مکانیزم پشتیبانیشدهای برای بارگذاری دادههای خود در BigQuery و پر کردن جداول SegmentMemberships و SegmentMetadata استفاده کنید. دادهها باید از طرحوارهی شرح داده شده در زیر پیروی کنند:
عضویتهای بخشی
[
{
"name": "instance_id",
"type": "STRING"
},
{
"name": "segment_labels",
"type": "STRING",
"mode": "REPEATED"
},
{
"name": "update_time",
"type": "TIMESTAMP"
}
]
instance_id : شناسه نصب Firebase برای نصب یک برنامه خاص. شما باید شناسه نصب را برای هر نصب برنامهای که میخواهید در یک بخش قرار دهید، بازیابی کنید و از آن مقادیر برای پر کردن این فیلد استفاده کنید.
segment_labels : بخشهایی که دستگاهها ( "instance_id" ) در آنها گنجانده شدهاند. این بخشها لازم نیست برای انسان قابل فهم باشند و میتوانند کوتاه باشند تا استفاده از فضای ذخیرهسازی BigQuery کاهش یابد. برای هر "segment_labels" که در اینجا استفاده میشود، باید یک ورودی متناظر در جدول SegmentMetadata وجود داشته باشد. توجه داشته باشید که این عبارت جمع است، در حالی که جدول SegmentMetadata دارای "segment_label" است.
update_time : در حال حاضر توسط Firebase استفاده نمیشود، اما میتواند برای حذف عضویتهای سگمنت قدیمیتر از BigQuery که دیگر استفاده نمیشوند، مورد استفاده قرار گیرد.
فرادادهی قطعه
[
{
"name": "segment_label",
"type": "STRING"
},
{
"name": "display_name",
"type": "STRING"
}
]
segment_label : یک بخش خاص را شناسایی میکند. برای هر بخش ذکر شده در جدول SegmentMemberships باید یک ورودی در این جدول وجود داشته باشد. توجه داشته باشید که این مفرد است، در حالی که جدول SegmentMemberships دارای "segment_labels" است.
display_name : یک نام خوانا برای انسان و سازگار با رابط کاربری برای بخش. این برای برچسبگذاری بخش شما در کنسول Firebase استفاده میشود.
تنظیم صورتحساب برای BigQuery
اگر میخواهید این ویژگی جدید را برای برنامهای با تعداد نصب بسیار کم امتحان کنید، ممکن است فقط نیاز به راهاندازی BigQuery sandbox داشته باشید.
با این حال، اگر از این برای یک برنامه کاربردی با تعداد زیادی کاربر استفاده میکنید، باید برای استفاده از BigQuery صورتحساب تنظیم کنید تا هزینه فضای ذخیرهسازی و همچنین مکانیزمی که برای بارگذاری دادهها در BigQuery استفاده میشود را پرداخت کنید. برای هیچ خواندنی که توسط Firebase آغاز میشود، هزینهای از شما دریافت نخواهد شد.
غیرفعال کردن ادغام
برای غیرفعال کردن این ادغام، به صفحه ادغام BigQuery در کنسول Firebase بروید و گزینه Custom segments را غیرفعال کنید.
استفاده از بخشهای وارد شده
پس از دریافت دادهها، در کنسول Firebase برای هدفگیری با سرویسهایی مانند Remote Config یا In-App Messaging در دسترس خواهد بود. این روش درست مانند هدفگیری با propertyها یا مخاطبان Google Analytics عمل میکند.

شما میتوانید از «بخش(های) وارد شده» به عنوان یکی از ویژگیهای قابل هدفگیری استفاده کنید و بخشهایی که وارد کردهاید برای انتخاب در دسترس خواهند بود. آنها همچنین شامل تخمینی از تعداد نمونههای برنامه متعلق به هر بخش هستند.
تخمینی از تعداد نمونههایی که با کل معیارهای هدفگذاری مطابقت دارند نیز موجود است. این تخمین با ایجاد هرگونه تغییر در معیارهای هدفگذاری، بهروزرسانی میشود.
موارد استفاده
روشهای مختلفی وجود دارد که میتوانید از بخشهای وارد شده برای ایجاد تجربیات کاربری هدفمند استفاده کنید. این بخش برخی از سناریوهای رایج را که ممکن است بخواهید از این ویژگی استفاده کنید، شرح میدهد.
ارسال اعلان به گروهی از کاربران
تصور کنید برنامهای دارید که امکان خرید درونبرنامهای با سبد خرید را فراهم میکند. همچنین میتوانید از راهحلهای تحلیلی سفارشی یا شخص ثالث (آنهایی که توسط Google Analytics پشتیبانی نمیشوند) برای جمعآوری معیارهای مختلف مرتبط با رفتار کاربر در برنامه خود استفاده کنید. با استفاده از این معیارها، میتوانید گروهی از کاربران را شناسایی کنید که اقلامی را به سبد خرید اضافه کردهاند، اما پرداخت را تکمیل نکردهاند.
حالا تصور کنید که میخواهید از Firebase Cloud Messaging برای ارسال اعلان به این کاربران استفاده کنید تا به آنها یادآوری کنید که اقلامی در سبد خرید خود دارند. میتوانید بخشی به نام "incomplete-checkout" ایجاد کنید و این کاربران را که با شناسه نصب Firebase آنها مشخص شدهاند، در آن قرار دهید و آن را در BigQuery آپلود کنید تا با Firebase به اشتراک گذاشته شود.
زمانی که فایربیس این دادهها را دریافت میکند، در بخش اعلانها (Notifications) در دسترس قرار میگیرد. در این بخش میتوانید یک کمپین اعلان جدید با هدف «پرداخت ناقص» ایجاد کنید تا پیامی ارسال شود که کاربران را به تکمیل پرداخت ترغیب کند.
پیکربندی یک برنامه برای زیرمجموعهای از کاربران
فرض کنید از یک راهکار تحلیلی داخلی استفاده میکنید که نشان میدهد برخی از کاربران در پیمایش برنامه مشکل دارند. برای کمک به این کاربران، میخواهید رفتار برنامه را برای این کاربران پیکربندی کنید تا یک ویدیوی آموزشی کوتاه نیز در آن گنجانده شود.
شما میتوانید Remote Config در برنامه خود بگنجانید و از پارامتری با نامی مانند "needs_help" در برنامه خود استفاده کنید تا ویدیوی آموزشی را به صورت مشروط نمایش دهید .
با استفاده از دادههای تحلیلی خود، بخشی با نام «کاربران مشکلدار» ایجاد کنید و کاربران مناسب را که با شناسه نصب Firebase شناسایی شدهاند، در آن قرار دهید. سپس این بخش و اعضای آن را در BigQuery آپلود کنید تا با Firebase به اشتراک گذاشته شوند.
به محض اینکه Firebase این دادهها را دریافت میکند، در کنسول Remote Config به عنوان یک بخش قابل هدفگیری در دسترس قرار میگیرد. سپس میتوانید یک شرط ایجاد کنید که "troubled-users" را هدف قرار دهد و پارامتر "needs_help" را برای این شرط روی true و به طور پیشفرض روی false تنظیم کنید. به محض انتشار این پیکربندی، برنامه ویدیوی آموزشی را فقط به کاربرانی که در بخش "troubled-users" هستند نشان میدهد.
دنبال کردن سفرهای کاربر در دستگاههای مختلف
تصور کنید که با استفاده از Firebase و Google Analytics یک اپلیکیشن نقد و بررسی رستوران ساختهاید. با استفاده از معیارهای جمعآوریشده، متوجه میشوید که کاربران اغلب از طریق دستگاه تلفن همراه و تبلت به اپلیکیشن دسترسی دارند. همچنین متوجه میشوید که کاربران شما ترجیح میدهند نظرات خود را روی تبلت بنویسند، در حالی که ممکن است نظرات را از هر دستگاهی بخوانند.
برخی از کاربران شروع به نوشتن نقد و بررسی در تلفن خود میکنند و سپس منصرف میشوند، احتمالاً به دلیل اندازه کوچکتر. شما تصمیم میگیرید که برای چنین کاربرانی در تبلتهایشان اعلانی ارسال کنید و از آنها بخواهید که نقد و بررسی خود را تمام کنند.
برای انجام این کار، میتوانید یک reviewerId تولید شده توسط خودتان را به عنوان UserId با استفاده از Google Analytics برای کاربران وارد شده تنظیم کنید و یک رویداد را برای شناسایی نظرات لغو شده فعال کنید. سپس میتوانید دادههای Google Analytics برنامه خود را به BigQuery صادر کنید.
با تجزیه و تحلیل این دادهها در BigQuery، میتوانید شناسه نصب Firebase تبلتهای کاربرانی را که نوشتن نقد را در تلفن خود تمام نکردهاند، شناسایی کنید. میتوانید این گروه را "tablets-of-users-who-cancelled-on-phone" نامگذاری کنید و این بخش را در BigQuery بارگذاری کنید تا لیست اعضا با Firebase به اشتراک گذاشته شود.
زمانی که فایربیس این دادهها را دریافت میکند، در بخش اعلانها (Notifications composer) به عنوان یک بخش قابل هدفگیری در دسترس قرار میگیرد. سپس میتوانید یک کمپین اعلان جدید با هدف قرار دادن «تبلتهای کاربرانی که اشتراک خود را از طریق تلفن لغو کردهاند» ایجاد کنید تا پیامی ارسال شود که این کاربران را به تکمیل بررسی خود در تبلتهایشان ترغیب کند.