پرش به مطلب اصلی

شناسه‌ی جایگاه

شناسه‌ای که پنل ناشر یکتانت برای هر جایگاه نشان می‌دهد، همان شناسه‌ای نیست که در positions[].id درخواست فرستاده می‌شود. شناسه‌ی درخواست از جمع شناسه‌ی پنل با یک عدد ثابت به دست می‌آید که به نوع جایگاه بستگی دارد:

نوع جایگاهعدد ثابتشناسه‌ی درخواست
همسان (native)4294967296 (232)شناسه‌ی پنل + 4294967296
بنری (banner)8589934592 (233)شناسه‌ی پنل + 8589934592

مثلاً جایگاه همسانی که در پنل شناسه‌ی 6224 دارد، در درخواست با شناسه‌ی 4294973520 فرستاده می‌شود. اگر همان عدد 6224 یک جایگاه بنری بود، شناسه‌ی درخواست 8589940816 می‌شد.

محاسبه‌گر​

نوع جایگاه

نمونه‌ی پیاده‌سازی​

const NATIVE_ID_OFFSET = 4294967296; // 2^32
const BANNER_ID_OFFSET = 8589934592; // 2^33

// panelPositionId: شناسه‌ای که در پنل ناشر نمایش داده می‌شود
function servedPositionId(panelPositionId, isBanner) {
return panelPositionId + (isBanner ? BANNER_ID_OFFSET : NATIVE_ID_OFFSET);
}

servedPositionId(6224, false); // 4294973520
نوع عددی

شناسه‌ی درخواست از 232 بزرگ‌تر است و در int32 جا نمی‌شود. در زبان‌هایی مثل Java، Kotlin، Swift و Go آن را long / Int64 نگه دارید. در JavaScript عدد معمولی (Number) کافی است.

نکته‌ها​

  • شناسه‌ی درخواست را یک بار حساب کنید و در تنظیمات اپ یا سایت خود نگه دارید؛ لازم نیست در هر درخواست دوباره حساب شود.
  • آفست را فقط یک بار اضافه کنید. شناسه‌ی پنل همیشه از 232 کوچک‌تر است، پس عددی بزرگ‌تر از آن احتمالاً خودش شناسه‌ی نهایی است.
  • در پاسخ هم positions[].id همان شناسه‌ی درخواست است؛ برای پیدا کردن جایگاه در پاسخ، آن را با همان عددی که فرستاده‌اید مقایسه کنید.
  • اگر نوع جایگاه را اشتباه انتخاب کنید، شناسه‌ی درخواست به جایگاه شما اشاره نمی‌کند. اگر از نوع جایگاه مطمئن نیستید، از تیم ناشرین یکتانت بپرسید.