برای کمک به شما در بیشینهسازی میزان ارتباط و مفید بودن نتایج آزمایشتان، این صفحه اطلاعات دقیقی درباره نحوه عملکرد Firebase A/B Testing ارائه میدهد.
اندازه نمونه
استنتاج Firebase A/B Testing نیازی به شناسایی حداقل اندازه نمونه قبلاز شروع آزمایش ندارد. بهطور کلی، باید بزرگترین سطح قرار گرفتن درمعرض آزمایش را که با آن راحت هستید انتخاب کنید. اندازه نمونه بزرگتر احتمال یافتن نتیجه معنادار آماری را افزایش میدهد، بهویژه زمانی که تفاوتهای عملکرد بین متغیرها کوچک باشد. همچنین ممکن است مشورت با یک ماشینحساب آنلاین اندازه نمونه برای پیدا کردن اندازه نمونه توصیهشده براساس ویژگیهای آزمایشتان مفید باشد.
ویرایش آزمایشها
میتوانید پارامترهای انتخابشده آزمایشهای درحال اجرا را ویرایش کنید، ازجمله:
- نام آزمایش
- شرح
- شرایط هدفیابی
- مقادیر متغیر
برای ویرایش کردن آزمایش:
- در کنسول Firebase، به DevOps و تعامل > آزمایش A/B بروید.
- صفحه نتایج آزمایشی را که میخواهید اصلاح کنید باز کنید.
- از منو بیشتر ویرایش آزمایش درحال اجرا را انتخاب کنید.
- تغییرات را انجام دهید و روی منتشر کردن کلیک کنید.
توجه داشته باشید که تغییر رفتار برنامه درطول اجرای آزمایش ممکن است بر نتایج تأثیر بگذارد.
منطق واگذاری متغیر پیکربندی از راه دور
کاربرانی که با همه شرایط هدفیابی آزمایش (ازجمله شرط درصد مواجهه) مطابقت دارند، براساس وزنهای متغیر و درهمسازی شناسه آزمایش و Firebase شناسه نصب کاربر به متغیرهای آزمایش اختصاص داده میشوند.
Google Analytics مخاطبان مشمول تأخیر هستند و وقتی کاربر در ابتدا معیارهای مخاطب را برآورده میکند، فوراً دردسترس قرار نمیگیرند:
- وقتی مخاطب جدیدی ایجاد میکنید، ممکن است ۲۴ تا ۴۸ ساعت طول بکشد تا کاربران جدیدی جمع کند.
- کاربران جدید معمولاً ۲۴ تا ۴۸ ساعت پساز واجدشرایط شدن در مخاطبان واجدشرایط ثبتنام میشوند.
برای هدفیابی حساس به زمان، استفاده از ویژگیهای کاربر Google Analytics یا گزینههای هدفیابی داخلی مانند کشور یا منطقه، زبان، و نسخه برنامه را درنظر بگیرید.
وقتی کاربر وارد آزمایشی میشود، بهطور مداوم به متغیر آزمایش خود اختصاص داده میشود و تا زمانی که آزمایش فعال باقی بماند، مقادیر پارامتر را از آزمایش دریافت میکند، حتی اگر ویژگیهای کاربر تغییر کند و دیگر معیارهای هدفیابی آزمایش را برآورده نکند.
رویدادهای فعالسازی
رویدادهای فعالسازی آزمایش، سنجش آزمایش را به کاربران برنامهای محدود میکند که رویداد فعالسازی را راهاندازی میکنند. رویداد فعالسازی آزمایش هیچ تأثیری بر پارامترهای آزمایش که توسط برنامه واکشی میشود ندارد؛ همه کاربرانی که معیارهای هدفیابی آزمایش را برآورده میکنند پارامترهای آزمایش را دریافت خواهند کرد. بنابراین، مهم است رویداد فعالسازیای را انتخاب کنید که پساز بازیابی و فعالسازی پارامترهای آزمایش، اما قبلاز استفاده از پارامترهای آزمایش برای اصلاح رفتار برنامه، رخ دهد.
وزنهای متغیر
درطول ایجاد آزمایش، میتوان وزنهای پیشفرض متغیر را تغییر داد تا درصد بیشتری از کاربران آزمایش در یک متغیر قرار بگیرند.
تفسیر نتایج آزمایش
Firebase A/B Testing از استنتاج فراوانیگرا استفاده میکند تا به شما کمک کند احتمال اینکه نتایج آزمایشتان صرفاً بهدلیل شانس تصادفی رخ داده باشد را درک کنید. این احتمال با مقدار احتمال یا مقدار p نشان داده میشود. مقدار p احتمال این است که تفاوت در عملکرد به این بزرگی، یا بزرگتر، بین دو متغیر ممکن است بهدلیل شانس تصادفی رخ داده باشد، درصورتیکه درواقع هیچ تأثیری وجود نداشته باشد، که با مقداری بین ۰ و ۱ اندازهگیری میشود. A/B Testing از سطح اهمیت ۰٫۰۵ استفاده میکند، بنابراین:
- مقدار p کمتر از ۰٫۰۵ نشان میدهد که اگر تفاوت واقعی صفر باشد، احتمال اینکه تفاوت مشاهدهشده این حد نهایی بهطور تصادفی رخ دهد کمتر از ۵٪ است. چون ۰٫۰۵ آستانه است، هر مقدار p کمتر از ۰٫۰۵ نشاندهنده تفاوت آماری قابلتوجه بین متغیرها است.
- مقدار p بزرگتر از ۰٫۰۵ نشان میدهد که تفاوت بین متغیرها ازنظر آماری معنادار نیست.
دادههای آزمایش یکبار در روز بازآوری میشود و زمان آخرین بهروزرسانی در بالای صفحه نتایج آزمایش نشان داده میشود.
نمودار نتایج آزمایش مقادیر میانگین تجمعی سنجه انتخابشده را نمایش میدهد. برای مثال، اگر «درآمد آگهی بهازای هر کاربر» را بهعنوان سنجهای ردیابی میکنید، درآمد مشاهدهشده بهازای هر کاربر را نمایش میدهد و اگر «کاربران بدون خرابی» را ردیابی میکنید، درصد کاربرانی را که با خرابی مواجه نشدهاند ردیابی میکند. این دادهها از ابتدای آزمایش تجمعی هستند.
نتایج به دادههای مشاهدهشده و دادههای استنتاجی تقسیم میشوند. دادههای مشاهدهشده مستقیماً از دادههای Google Analytics محاسبه میشود و دادههای استنتاجی مقادیر p و بازههای اطمینان را ارائه میدهد تا به شما کمک کند اهمیت آماری دادههای مشاهدهشده را ارزیابی کنید.
برای هر سنجه، آمارهای زیر نمایش داده میشود:
دادههای مشاهدهشده
- مقدار کل برای سنجه ردیابیشده (تعداد کاربران حفظشده، تعداد کاربرانی که با خرابی مواجه شدند، درآمد کل)
- نرخ مختص سنجه (نرخ حفظ، نرخ تبدیل، درآمد بهازای هر کاربر)
- درصد تفاوت (بهینهگر) بین متغیر و پایه
دادههای استنتاجی
بازه اطمینان ۹۵٪ (تفاوت در میانگینها) بازهای را نشان میدهد که حاوی مقدار «واقعی» سنجه ردیابیشده با اطمینان ۹۵٪ است. برای مثال، اگر آزمایش شما منجر به فاصله اطمینان ۹۵٪ برای کل درآمد تخمینی بین ۵ تا ۱۰ دلار شود، ۹۵٪ احتمال دارد که تفاوت واقعی در میانگینها بین ۵ تا ۱۰ دلار باشد. اگر محدوده فاصله اطمینان شامل ۰ باشد، تفاوت آماری قابلتوجهی بین متغیر و خط مبنا شناسایی نشده است.
مقادیر فاصله اطمینان در قالبی نمایش داده میشود که با سنجه ردیابیشده مطابقت دارد. برای مثال، زمان (به
HH:MM:SS) برای حفظ کاربر، دلار امریکا برای درآمد آگهی بهازای هر کاربر، و درصد برای نرخ تبدیل.مقدار P، که نشاندهنده احتمال مشاهده دادههای افراطی مانند نتایج بهدستآمده در آزمایش است، با فرض اینکه تفاوت واقعی بین متغیر و خط مبنا وجود ندارد. هرچه مقدار p کمتر باشد، اطمینان بیشتری وجود دارد که عملکرد مشاهدهشده درصورت تکرار آزمایش همچنان درست باقی میماند. مقدار ۰٫۰۵ یا کمتر نشاندهنده تفاوت قابلتوجه و احتمال کم تصادفی بودن نتایج است. مقادیر P براساس آزمون یکطرفه است، که در آن مقدار «متغیر» بیشتر از مقدار «خط مبنا» است. Firebase از آزمون t واریانس نابرابر برای متغیرهای پیوسته (مقادیر عددی، مانند درآمد) و آزمون z نسبتها برای دادههای تبدیل (مقادیر دودویی، مانند حفظ کاربر، کاربران بدون خرابی، کاربرانی که رویداد Google Analytics را راهاندازی میکنند) استفاده میکند.
نتایج آزمایش اطلاعات آماری مهمی را برای هر متغیر آزمایش ارائه میدهد، ازجمله:
- هر سنجه آزمایش درمقایسه با مبنا چقدر بالاتر یا پایینتر است، همانطور که مستقیماً اندازهگیری شده است (یعنی دادههای مشاهدهشده واقعی)
- احتمال اینکه تفاوت مشاهدهشده بین گونه و خط مبنا بهدلیل شانس تصادفی (مقدار p) رخ داده باشد
- محدودهای که احتمالاً حاوی تفاوت عملکرد «واقعی» بین متغیر و خط مبنا برای هر سنجه آزمایش است---روشی برای درک سناریوهای عملکرد «بهترین حالت» و «بدترین حالت»
تعیین رهبر
برای آزمایشهایی که از استنتاج فراوانیگرا استفاده میکنند، Firebase اعلام میکند که یک متغیر پیشرو است اگر تفاوت عملکرد آماری قابلتوجهی بین متغیر و خط مبنا در سنجه هدف وجود داشته باشد. اگر چند گونه این معیار را داشته باشند، گونهای که کمترین مقدار p را داشته باشد انتخاب میشود.
ازآنجاییکه تعیین پیشرو فقط براساس هدف اصلی است، باید همه عوامل مربوطه را درنظر بگیرید و نتایج سنجههای ثانویه را قبلاز تصمیمگیری درباره عرضه یا عدم عرضه گونه پیشرو بررسی کنید. شاید بخواهید جنبه مثبت موردانتظار ایجاد تغییر، ریسک جنبه منفی (مثل حد پایین بازه اطمینان برای بهبود)، و تأثیر بر سنجههای دیگر غیراز هدف اصلی را درنظر بگیرید.
برای مثال، اگر سنجه اصلی شما «کاربران بدون خرابی» باشد و «متغیر الف» بهوضوح از خط مبنا جلوتر باشد، اما سنجههای حفظ کاربر «متغیر الف» از حفظ کاربر خط مبنا عقبتر باشد، ممکن است بخواهید قبلاز عرضه گستردهتر «متغیر الف» تحقیقات بیشتری انجام دهید.
میتوانید هر متغیری را، نه فقط متغیر پیشرو، براساس ارزیابی کلیتان از عملکرد در هر دو سنجه اولیه و ثانویه عرضه کنید.
مدت آزمایش
Firebase توصیه میکند که آزمایش تا زمانیکه شرایط زیر برآورده شود ادامه یابد:
- آزمایش دادههای کافی برای ارائه نتیجه مفید جمعآوری کرده است. آزمایشها و دادههای نتیجه یکبار در روز بهروزرسانی میشوند. برای ارزیابی اندازه نمونه توصیهشده برای آزمایشتان، میتوانید از ماشینحساب آنلاین اندازه نمونه استفاده کنید.
- آزمایش بهاندازه کافی اجرا شده است تا نمونهای معرف از کاربران شما را تضمین کند و عملکرد بلندمدت را بسنجد. دو هفته حداقل زمان اجرای توصیهشده برای آزمایش «پیکربندی از راه دور» معمولی است.
دادههای آزمایش حداکثر تا ۹۰ روز پساز شروع آزمایش پردازش میشود. پساز ۹۰ روز، آزمایش بهطور خودکار متوقف میشود. نتایج آزمایش دیگر در کنسول Firebase بهروز نمیشود و آزمایش ارسال مقادیر پارامترهای مختص آزمایش را متوقف میکند. در این مرحله، کارخواهها شروع به واکشی مقادیر پارامتر براساس شرایط تنظیمشده در الگوی Remote Config میکنند. دادههای آزمایش گذشته تا زمانیکه آزمایش را حذف نکنید حفظ میشود.
طرح BigQuery
علاوهبر مشاهده دادههای آزمایش A/B Testing در کنسول Firebase، میتوانید دادههای آزمایش را در BigQuery بازرسی و تحلیل کنید. درحالیکه A/B Testing جدول جداگانهای برای BigQuery ندارد، عضویتهای آزمایش و گونه در هر رویداد Google Analytics در جدولهای رویداد Analytics ذخیره میشود.
ویژگیهای کاربر که حاوی اطلاعات آزمایش هستند بهصورت
userProperty.key like "firebase_exp_%" یا userProperty.key =
"firebase_exp_01" هستند که 01 شناسه آزمایش است و
userProperty.value.string_value حاوی نمایه (مبتنی بر صفر)
گونه آزمایش است.
میتوانید از این ویژگیهای کاربر آزمایش برای استخراج دادههای آزمایش استفاده کنید. این به شما امکان میدهد نتایج آزمایشتان را به روشهای مختلفی تقسیم کنید و نتایج A/B Testing را بهطور مستقل تأیید کنید.
برای شروع، موارد زیر را همانطور که در این راهنما شرح داده شده است تکمیل کنید:
- فعال کردن صادر کردن BigQuery برای Google Analytics در کنسول Firebase
- دسترسی به دادههای A/B Testing بااستفاده از BigQuery
- کاوش پرسمانهای نمونه
صادر کردن BigQuery را برای Google Analytics در کنسول Firebase فعال کنید
اگر در طرح Spark هستید، میتوانید از جعبه امن BigQuery برای دسترسی به BigQuery بدون هزینه استفاده کنید، مشروط به محدودیتهای جعبه امن. برای اطلاعات بیشتر، قیمتگذاری و محیط آزمایشی BigQuery را ببینید.
ابتدا مطمئن شوید که دادههای Analytics خود را به BigQuery صادر میکنید:
در کنسول Firebase، به
تنظیمات > زبانه «ادغامها» بروید.در کارت BigQuery، روی مدیریت کلیک کنید و تأیید کنید که پروژهتان دادههای Analytics را به BigQuery صادر میکند.
اگر روی کارت پیوند نوشته شده است، باید بیرونبرد را راهاندازی کنید (به مرحله بعدی بروید).
اگر لازم است صادر کردن را راهاندازی کنید:
درباره پیوند دادن Firebase به BigQuery را مرور کنید، سپس روی بعدی کلیک کنید.
در بخش پیکربندی ادغام، Google Analytics را فعال کنید.
منطقهای را انتخاب کنید و تنظیمات برونبرد را انتخاب کنید.
روی پیوند دادن به BigQuery کلیک کنید.
بسته به اینکه چگونه انتخاب کردهاید دادهها را صادر کنید، ممکن است تا یک روز طول بکشد تا جدولها دردسترس قرار گیرند. برای کسب اطلاعات بیشتر درباره صادر کردن دادههای پروژه به BigQuery، به صادر کردن دادههای پروژه به BigQuery مراجعه کنید.
دسترسی به دادههای A/B Testing در BigQuery
قبلاز جستجوی دادهها برای آزمایشی خاص، باید برخی یا همه موارد زیر را برای استفاده در پُرسمان خود دریافت کنید:
- شناسه آزمایش: میتوانید این شناسه را از نشانی وب صفحه
نمای کلی آزمایش دریافت کنید. برای مثال، اگر نشانی وب شما شبیه
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25باشد، شناسه آزمایش ۲۵ است. - Google Analytics شناسه دارایی: این شناسه دارایی ۹ رقمی
Google Analytics شما است. میتوانید این را در
Google Analytics پیدا کنید؛ همچنین وقتی نام پروژهتان را برای نمایش نام جدول رویداد Google Analytics (
project_name.analytics_000000000.events) ازهم باز میکنید، در BigQuery نشان داده میشود. - تاریخ آزمایش: برای نوشتن پُرسمان سریعتر و کارآمدتر،
بهتر است پُرسمانهایتان را به Google Analytics بخشهای جدول رویداد روزانه
که حاوی دادههای آزمایشتان است محدود کنید—جدولهایی که با پسوند
YYYYMMDDمشخص شدهاند. بنابراین، اگر آزمایشتان از ۲ فوریه ۲۰۲۶ تا ۲ مه ۲۰۲۶ اجرا شده باشد، باید_TABLE_SUFFIX between '20260202' AND '20260502'را مشخص کنید. برای مثال، انتخاب مقادیر آزمایشی خاص را ببینید. - نامهای رویداد: معمولاً این نامها با
سنجههای هدف
که در آزمایش پیکربندی کردهاید مطابقت دارند. برای مثال،
in_app_purchaseرویداد،ad_impression، یاuser_retentionرویداد.
پساز جمعآوری اطلاعاتی که برای تولید پُرسمان نیاز دارید:
- در کنسول Google Cloud، به BigQuery بروید.
- پروژهتان را انتخاب کنید، سپس ایجاد پُرسمان SQL را انتخاب کنید.
- پُرسمانتان را وارد کنید. برای دیدن نمونه پُرسمانهایی که میتوانید اجرا کنید، کاوش نمونه پُرسمانها را ببینید.
- روی اجرا کلیک کنید.
پُرسمان کردن دادههای آزمایش بااستفاده از پُرسمان تولیدشده بهطور خودکار در کنسول Firebase
اگر از طرح Blaze استفاده میکنید، صفحه نمای کلی آزمایش یک پُرسمان نمونه ارائه میدهد که نام آزمایش، متغیرها، نام رویدادها، و تعداد رویدادهای آزمایشی را که مشاهده میکنید برمیگرداند.
برای دریافت و اجرای پُرسمان خودکار تولیدشده:
- در کنسول Firebase، به DevOps و تعامل > آزمایش A/B بروید.
- آزمایش A/B Testing را که میخواهید پُرسمان کنید انتخاب کنید تا نمای کلی آزمایش باز شود.
- از منو «گزینهها»، در زیر ادغام BigQuery، پرسوجو کردن دادههای آزمایش را انتخاب کنید. با این کار، پروژهتان در BigQuery در کنسول Google Cloud باز میشود و پُرسمان پایهای ارائه میشود که میتوانید از آن برای پُرسمان دادههای آزمایشتان استفاده کنید.
مثال زیر پُرسمان تولیدشدهای را برای آزمایشی با سه متغیر (ازجمله خط مبنا) بهنام «آزمایش خوشامدگویی زمستانی» نشان میدهد. این گزارش نام آزمایش فعال، نام متغیر، رویداد یکتا، و تعداد رویداد را برای هر رویداد برمیگرداند. توجه داشته باشید که پرسمانساز نام پروژه شما را در نام جدول مشخص نمیکند، زیرا مستقیماً در پروژه شما باز میشود.
/*
This query is auto-generated by Firebase A/B Testing for your
experiment "Winter welcome experiment".
It demonstrates how you can get event counts for all Analytics
events logged by each variant of this experiment's population.
*/
SELECT
'Winter welcome experiment' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'Welcome message (1)'
WHEN '2' THEN 'Welcome message (2)'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_000000000.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN '20260202' AND '20260502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
برای نمونههای پُرسمان بیشتر، به کاوش نمونههای پُرسمان بروید.
کاوش پُرسمانهای نمونه
بخشهای زیر نمونههایی از پُرسمانهایی را ارائه میدهند که میتوانید برای استخراج دادههای آزمایش A/B Testing از جدولهای رویداد Google Analytics استفاده کنید.
استخراج مقادیر انحراف معیار خرید و آزمایش از همه آزمایشها
میتوانید از دادههای نتایج آزمایش برای درستیسنجی مستقل نتایج Firebase A/B Testing استفاده کنید. عبارت SQL BigQuery زیر
انواع آزمایش، تعداد کاربران متمایز در هر نوع، و مجموع درآمد کل
از رویدادهای in_app_purchase و ecommerce_purchase، و انحرافهای استاندارد
برای همه آزمایشها در محدوده زمانی مشخصشده بهعنوان تاریخهای شروع
و پایان _TABLE_SUFFIX را استخراج میکند. میتوانید از دادههایی که از این پُرسمان بهدست میآورید با یک
مولد اهمیت آماری برای آزمونهای t یکطرفه استفاده کنید تا تأیید کنید که
نتایجی که Firebase ارائه میدهد با تجزیهوتحلیل خودتان مطابقت دارد.
برای اطلاعات بیشتر درباره نحوه محاسبه استنتاج توسط A/B Testing، تفسیر نتایج آزمایش را ببینید.
/*
This query returns all experiment variants, number of unique users,
the average USD spent per user, and the standard deviation for all
experiments within the date range specified for _TABLE_SUFFIX.
*/
SELECT
experimentNumber,
experimentVariant,
COUNT(*) AS unique_users,
AVG(usd_value) AS usd_value_per_user,
STDDEV(usd_value) AS std_dev
FROM
(
SELECT
userProperty.key AS experimentNumber,
userProperty.value.string_value AS experimentVariant,
user_pseudo_id,
SUM(
CASE
WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
THEN event_value_in_usd
ELSE 0
END) AS usd_value
FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
CROSS JOIN UNNEST(user_properties) AS userProperty
WHERE
userProperty.key LIKE 'firebase_exp_%'
AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
GROUP BY 1, 2, 3
)
GROUP BY 1, 2
ORDER BY 1, 2;
مقادیر آزمایش خاصی را انتخاب کنید
نمونه پُرسمان زیر نشان میدهد که چگونه میتوان دادههای مربوط به یک آزمایش خاص را در BigQuery بهدست آورد. این پُرسمان نمونه نام آزمایش، نامهای متغیر (ازجمله خط پایه)، نامهای رویداد، و تعداد رویدادها را برمیگرداند.
SELECT
'EXPERIMENT_NAME' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'VARIANT_1_NAME'
WHEN '2' THEN 'VARIANT_2_NAME'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_ANALYTICS_PROPERTY.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
GROUP BY
experimentVariant, eventName
محدودیتها
A/B Testing به مجموع ۳۰۰ آزمایش محدود است که شامل ۲۴ آزمایش درحال اجرا میشود. این محدودیتها با عرضه Remote Config همرسانی میشود. برای مثال، اگر دو عرضه درحال اجرا و سه آزمایش درحال اجرا داشته باشید، میتوانید حداکثر ۱۹ عرضه یا آزمایش دیگر داشته باشید.
اگر به حد مجاز ۳۰۰ آزمایش رسیدید، باید آزمایشی موجود را حذف کنید تا بتوانید آزمایش جدیدی ایجاد کنید.
اگر به حد مجاز ۲۴ آزمایش و عرضه درحال اجرا رسیدید، باید یکی از آزمایشها یا عرضههای درحال اجرا را متوقف کنید تا بتوانید مورد جدیدی را شروع کنید.
هر آزمایش میتواند حداکثر ۸ متغیر (شامل خط مبنا) و برای هر متغیر حداکثر ۲۵ پارامتر داشته باشد. اندازه آزمایش میتواند حداکثر حدود ۲۰۰ کیبیبایت باشد. این شامل نامهای متغیر، پارامترهای متغیر، و دیگر فرادادههای پیکربندی میشود.