ویکی بازینس
English
API

صفحه‌های بازینس و پیام‌هایشان

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

دانلود Markdown PDF

این صفحه‌ها چه هستند

بعضی بخش‌های بازینس صفحه‌ی وب هستند که بازی شما داخل خودش نشان می‌دهد؛ مثلاً صفحه‌ی ورود و فروشگاه جایزه‌ی «انتخاب جایزه». آدرس صفحه را در یک وب‌ویوی داخل بازی باز می‌کنید: روی وب یک iframe، در موتور بازی یک کامپوننت WebView. صفحه با پیام با بازی حرف می‌زند، مثلاً «بازیکن وارد شد» یا «مرا ببند».

همه‌ی صفحه‌ها روی یک سایت هستند:

محیط آدرس پایه‌ی صفحه‌ها {web}
توسعه https://platform-web-dev.karizmastudios.org
اصلی https://baziness.com

ساختن نمای داخل بازی (شیتی که از پایین بالا می‌آید و با کشیدن به پایین بسته می‌شود) در شیت پایین / وب‌ویو آمده است.

پارامترها

مهم

linkCode (کد یک‌بارمصرف از سرور شما با v2/client/link-code/{userId}) جای linkedToken را می‌گیرد. در دوره‌ی مهاجرت صفحه‌ها هر دو را قبول می‌کنند. مهاجرت توکن را ببینید.

پارامتر کِی مقدار چرا
packageName همیشه نام بسته‌ی پلتفرم شما بازی شما را معرفی می‌کند
sdkType همیشه js به صفحه می‌گوید داخل بازی است تا برایتان پیام بفرستد. بدون آن حتی دکمه‌ی بستن خود صفحه هم نمای شما را نمی‌بندد
linkedToken هر وقت دارید توکن کاربر بازیکن صفحه به نام همین بازیکن کار می‌کند و ورود داخل صفحه به او وصل می‌شود
redirect پروفایل، جایزه profile / shop صفحه بعد از ورود داخلش به کجا برگردد
allowGuest ورود، پروفایل، پیشنهاد بازی false «ادامه به عنوان مهمان» خود صفحه را پنهان می‌کند؛ بازی شما این گزینه را دارد
game_name جایزه، پیشنهاد بازی نام بازی شما، URL-encode شده جایزه‌ها و پیشنهاد بازی شما را انتخاب می‌کند
buildStore فقط بیلدهای فروشگاهی CafeBazaar / Myket صفحه لینک فروشگاه‌های دیگر را پنهان می‌کند

همه‌ی مقدارها را encode کنید، چون game_name ممکن است فارسی باشد و توکن‌ها ممکن است + یا / داشته باشند.

صفحه‌ها

صفحه مسیر کِی بازش کنید پارامترها
ورود / بازیکن «ورود با حساب بازینس» را می‌زند، یا برای دریافت جایزه باید وارد شود packageName، sdkType=js، linkedToken، allowGuest=false
پروفایل /profile تنظیمات ← اتصال یا مدیریت حساب packageName، sdkType=js، linkedToken، redirect=profile، allowGuest=false
فروشگاه جایزه «انتخاب جایزه» /shop بازیکن دکمه‌ی جایزه را می‌زند game_name، packageName، sdkType=js، linkedToken، redirect=shop؛ بدون allowGuest
پیشنهاد بازی /game-offer یک بار، وسط آموزش (جزئیات) game_name، packageName، sdkType=js، linkedToken، allowGuest=false
Text
Login        https://baziness.com/?packageName=com.karizmastudio.example&sdkType=js&linkedToken=eyJ…&allowGuest=false
Profile      https://baziness.com/profile?packageName=com.karizmastudio.example&sdkType=js&linkedToken=eyJ…&redirect=profile&allowGuest=false
Rewards      https://baziness.com/shop?game_name=example&packageName=com.karizmastudio.example&sdkType=js&linkedToken=eyJ…&redirect=shop
Game offer   https://baziness.com/game-offer?game_name=example&packageName=com.karizmastudio.example&sdkType=js&linkedToken=eyJ…&allowGuest=false

مهم

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

پیام‌های صفحه‌ها

صفحه با postMessage پیام می‌فرستد. هر پیام JSON است، به شکل رشته یا شیء، با قالب { "type": "...", "data": ... }:

type data معنی کار بازی شما
close — دکمه‌ی بستن صفحه زده شد نما را ببندید
login توکن: "<token>" یا { "token": "<token>" } بازیکن وارد یک حساب شد توکن را به سرور خودتان بفرستید تا بررسی‌اش کند و حساب را وصل کند یا به حساب دیگر بازیکن جابه‌جا شود؛ بعد توکن را تازه کنید و نما را ببندید
login (بدون داده) حساب فعلی بازیکن در همان جا وصل شد بازیکن را متصل علامت بزنید و توکن را تازه کنید
token توکن دست‌دادن بی‌صدایی که صفحه هنگام بارگذاری می‌فرستد نادیده بگیرید؛ ورود نیست
logout — بازیکن داخل صفحه خارج شد نما را ببندید، هر چه بازی به‌صورت محلی ذخیره کرده پاک کنید و مثل یک بازدیدکننده‌ی کاملاً جدید از اول شروع کنید

هشدار

  • فقط پیام‌هایی را بپذیرید که origin آن‌ها صفحه‌ای است که باز کرده‌اید ({web}) و بقیه را نادیده بگیرید.
  • هیچ‌وقت token را ورود حساب نکنید؛ وگرنه فروشگاه جایزه به محض باز شدن بسته می‌شود.