# صفحه‌ی جایزه («انتخاب جایزه»)

> بگذارید بازیکن گیتا کوین‌هایش را با جایزه‌ی واقعی عوض کند: دکمه‌ای در بازی که فروشگاه جایزه‌ی بازینس را باز می‌کند.

## این صفحه چیست
«انتخاب جایزه» **فروشگاه جایزه**‌ی بازینس است: صفحه‌ای که بازیکن در آن گیتا کوین را برای جایزه‌های واقعی خرج می‌کند. بازی شما سه کار می‌کند:

1. برای بازیکن سکه **به دست می‌آورد** ([گیتا کوین](coins.md))
2. موجودی را روی یک دکمه یا بنر **نشان می‌دهد**
3. وقتی دکمه زده شد، صفحه‌ی جایزه را در [وب‌ویوی داخل بازی](bottom-sheet.md) **باز می‌کند**

```mermaid
flowchart LR
  A["بنر لابی<br/>«انتخاب جایزه» + موجودی"] -->|ضربه| B{"پلتفرم<br/>فعال است؟"}
  B -- خیر --> T["پیام: بعد از اتصال<br/>به بازینس فعال می‌شود"]
  B -- بله --> C["باز کردن شیت:<br/>{webBase}/shop?game_name=…"]
  C --> D["بازیکن جایزه انتخاب می‌کند<br/>و گیتا کوین خرج می‌کند"]
  D -->|کشیدن به پایین / بستن| E["شیت بسته شد ←<br/>get-coin دوباره"]
```

## آدرس
```text
{web}/shop?game_name=<نام بازی>&packageName=<بسته>&sdkType=js&linkedToken=<توکن کاربر>&redirect=shop
```

پارامترها در [صفحه‌های بازینس](pages.md#parameters) توضیح داده شده‌اند. دو قانون این‌جا مهم‌ترند:

- **`/shop`** را باز کنید، نه ریشه‌ی سایت را؛ ریشه بازیکن داخل بازی را به صفحه‌ی ورود می‌برد.
- `allowGuest=false` را **اضافه نکنید**؛ فروشگاه مقصد است، نه صفحه‌ی ورود.

## دکمه در بازی شما
- آن را جایی بگذارید که بازیکن می‌بیند: لابی یا منوی اصلی. **موجودی زنده** را با آیکون گیتا کوین روی آن نشان دهید.
- وقتی بازینس خاموش است، یا پنهانش کنید یا با زدنش بگویید «بعد از اتصال به بازینس فعال می‌شود».
- وسط آموزش، ضربه‌ی اول می‌تواند به جایش [صفحه‌ی پیشنهاد بازی](game-offer.md) را باز کند.

## بعد از بسته شدن صفحه
شاید بازیکن سکه خرج کرده باشد، پس به محض بسته شدن نما و دوباره وقتی بازی فوکوس می‌گیرد **موجودی را تازه کنید**.

## پنهان کردن نوار پایین پلتفرم (اختیاری)
سایت بازینس نوار ناوبری پایین خودش را دارد (فروشگاه / بازی‌ها / خانه / ماموریت‌ها / بازینس من). داخل بازی شاید بخواهید پنهانش کنید. صفحه مال سایت دیگری است، پس CSS و اسکریپت شما به داخلش دسترسی ندارند. به جایش:

1. وب‌ویو را به اندازه‌ی ارتفاع نوار **بلندتر** از ظرفش کنید.
2. بگذارید ظرف بخش اضافه را **برش بدهد**.

نوار پایین صفحه است، پس بیرون محدوده‌ی دیده‌شده می‌افتد و بقیه‌ی صفحه مثل قبل اسکرول می‌شود. ارتفاع را روی گوشی‌های واقعی تنظیم کنید. [کد](samples-client.md#hiding-the-bottom-bar).

## بیلدهای بدون بازینس
بیلدی که بدون بازینس منتشر می‌شود (مثلاً بعضی بیلدهای فروشگاهی) نباید دکمه را نشان دهد **و** نباید جایزه‌ی گیتا کوین تبلیغ کند. بگذارید سرور تصمیم بگیرد: برای آن بیلد `{ enabled: false }` برگرداند و کلاینت هیچ‌کدام را نکشد.

## چک‌لیست
- [ ] دکمه موجودی زنده را نشان می‌دهد (هنگام بارگذاری یا خطا `…`).
- [ ] `/shop` را با `game_name`، `packageName`، `sdkType=js`، `linkedToken` و `redirect=shop` باز می‌کند.
- [ ] نه `allowGuest=false` دارد و نه ریشه‌ی سایت را باز می‌کند.
- [ ] موجودی بعد از بسته شدن نما و بعد از فوکوس دوباره‌ی بازی تازه می‌شود.
- [ ] وقتی بازینس خاموش است، دکمه پنهان است یا توضیح می‌دهد چرا در دسترس نیست.
