ویکی بازینس
English
مرجع

چک‌لیست انتشار و رفع اشکال

هر چیزی که باید پیش از روشن کردن بازینس در محیط اصلی بررسی کنید، و راه‌حل رایج‌ترین مشکلات یکپارچه‌سازی.

دانلود Markdown PDF

پیش از انتشار

تنظیمات

  • شناسه و کلید محرمانه‌ی محیط اصلی (جدا از توسعه)، فقط روی سرور.
  • BAZINESS_PLATFORM_ENABLED=true، BAZINESS_PLATFORM_USE_PRODUCTION=true، و نام بسته‌ی پلتفرم و نام بازی تنظیم شده.
  • BAZINESS_PAY_ENABLED=true، BAZINESS_PAY_BASE_URL=https://pay.baziness.com و نام بسته‌ی پرداخت تنظیم شده؛ درگاه آزمایشی محلی خاموش.
  • بیلد کلاینت را برای کلید محرمانه جست‌وجو کنید: نباید آنجا باشد.
  • /api/platform/config مقدار enabled: true را با آدرس‌های محیط اصلی برمی‌گرداند.

ورود

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

  • اسپلش «ورود با حساب بازینس» / «ادامه به عنوان مهمان» را برای هر دستگاه یک بار می‌پرسد.
  • بستن صفحه‌ی ورود بدون وارد شدن، دو دکمه را برمی‌گرداند.
  • ورود به حسابی که روی دستگاه دیگری استفاده شده، به آن جابه‌جا می‌کند و پیشرفتش سر جایش است.
  • تنظیمات ← اتصال حساب، صفحه‌ی پروفایل را باز می‌کند و بعدش «متصل» نشان می‌دهد.
  • خروج داخل یک صفحه‌ی بازینس، بازی را به حالت یک بازدیدکننده‌ی کاملاً جدید برمی‌گرداند.
  • باز کردن بازی از اپ بازینس (?linkedToken=) آموزش را برای بازیکن جدید اجرا می‌کند.

سکه و صفحه‌ها

  • موجودی گیتا کوین از پلتفرم می‌آید: تا وقتی معلوم نیست …، هیچ‌وقت یک 0 ساختگی.
  • موجودی بعد از بسته شدن صفحه و بعد از فوکوس دوباره‌ی بازی تازه می‌شود.
  • هر پرداخت یک‌باره transactionIdای دارد که از ماهیت پرداخت ساخته شده، و 400 پرداخت‌شده حساب می‌شود.
  • «انتخاب جایزه» /shop?game_name=… را بدون دیوار ورود باز می‌کند.
  • (اگر استفاده می‌کنید) ضربه‌ی اول آموزش /game-offer را باز می‌کند و بستنش به بسته‌ی شروع می‌رسد.
  • نما با دستگیره، با زدن بیرون و با دکمه‌ی خود صفحه بسته می‌شود.
  • لینک هر صفحه packageName و sdkType=js و در صورت وجود linkedToken را دارد.
  • لینک‌های کمپین هر چهار utm_* را به ASCII دارند و نوار آدرس بعد از بارگذاری تمیز است.
  • کمپین بعد از ورود بازینس و جابه‌جایی حساب حفظ می‌شود.

پرداخت بازینس

  • همه‌ی SKUها زیر نام بسته‌ی پرداخت شما ثبت شده‌اند.
  • یک خرید واقعی در محیط اصلی یک بار تحویل و بعد consume شده.
  • خریدن دو بار پشت سر هم همان بسته کار می‌کند، که نشان می‌دهد consume اجرا شده.
  • پرداختی که بعد از بستن بازی تمام شده، دفعه‌ی بعد که فروشگاه باز می‌شود تحویل داده می‌شود.

رفع اشکال

نشانه علت احتمالی راه‌حل
دکمه‌ی بستن صفحه کاری نمی‌کند sdkType=js نیست، یا بررسی origin پیام با origin اشتباه مقایسه می‌کند sdkType=js را به همه‌ی لینک‌های صفحه اضافه کنید و origin پیام را با آدرسی که باز کرده‌اید مقایسه کنید
فروشگاه جایزه به محض باز شدن بسته می‌شود دست‌دادن token ورود حساب شده token را نادیده بگیرید؛ فقط login ورود است
ورود اول گیر می‌کند یا سرور 400 می‌دهد ورود پیش از اینکه بازیکن کاربر بازینس و توکن داشته باشد شروع شده اول /api/platform/token را صدا بزنید و صفحه را با همان توکن باز کنید
وارد شده ولی بازی هنوز مهمان نشان می‌دهد /api/platform/login صدا زده نشده یا پروفایل دوباره خوانده نشده با login صدایش بزنید و بعد پروفایل بازیکن را دوباره بخوانید
صفحه‌ی ورود «ادامه به عنوان مهمان» نشان می‌دهد allowGuest=false نیست روی صفحه‌های ورود، پروفایل و پیشنهاد اضافه‌اش کنید (نه /shop)
صفحه‌ی جایزه از بازیکن می‌خواهد وارد شود ریشه‌ی سایت به جای /shop باز شده {web}/shop?game_name=… را با linkedToken باز کنید
درخواست‌های پلتفرم بعد از مدتی شکست می‌خورند توکن کلاینت منقضی شده (401) توکن تازه بگیرید (قدم ۱) و یک بار دیگر بفرستید
توکنی که درست به نظر می‌رسد رد می‌شود validate-user-token پاسخ isValid: false داده (HTTP 200) فیلد isValid را بررسی کنید، نه فقط کد HTTP؛ کلاینت دوباره وارد شود
یک بازیکن همان سکه‌ها را دو بار گرفت transactionId از زمان ساخته شده آن را از ماهیت پرداخت بسازید (قدم ۵)
دریافت جایزه بعد از یک کرش برای همیشه شکست می‌خورد add-coin پاسخ 400 داده و دریافت آن را خطا حساب کرده 400 را «قبلاً پرداخت شده» حساب کنید
تب پرداخت سفید می‌ماند تب بعد از منتظر ماندن برای سرور یا با noopener باز شده داخل همان ضربه یک تب خالی باز کنید و بعد آدرسش را تنظیم کنید
بازیکن پرداخت کرد ولی چیزی نگرفت هیچ‌وقت برنگشت، پس بررسی اجرا نشد با فوکوس و «پرداخت کردم» بررسی کنید، و هنگام باز شدن فروشگاه پرداخت‌های در انتظار را بررسی کنید
verify_payment همیشه شکست می‌خورد به شکل JSON فرستاده شده بدنه‌ی فرم بفرستید
پرداخت پاسخ no_required_params می‌دهد uid عددی نیست شناسه‌ی عددی بازیکن را بفرستید
خرید دوم همان بسته مسدود است خرید consume نشده بعد از دادن آیتم و با چند بار تلاش consume را صدا بزنید
بازیکنانی که از اپ بازینس می‌آیند از آموزش رد می‌شوند ?linkedToken= نشانه‌ی «بازیکن قدیمی» گرفته شده «بازیکن جدید» را از داده‌های خودتان تشخیص دهید
کمپین بعد از ورود گم می‌شود برچسب‌ها فقط از آدرس خوانده شده‌اند و بازی از اول اجرا شده پیش از ورود آن‌ها را روی دستگاه ذخیره کنید
نام فارسی کمپین‌ها نیست مقدارهای UTM فقط به‌صورت ASCII نگه داشته می‌شوند از نام ASCII استفاده کنید (shahrivar_1405)
نمای ورود روی اسپلش دیده نمی‌شود نما زیر اسپلش است آن را بالای همه‌چیز بگذارید

کمک گرفتن

  • کلیدها، صفحه‌ی پیشنهاد بازی و SKUها: از تیم پلتفرم بازینس بپرسید.
  • برای دیدن همه‌چیز در کنار هم، کد بازی نمونه را بخوانید.