قبل از ارسال بازی خود برای بررسی در Google Play Games در رایانه شخصی، از این چک لیست استفاده کنید تا مطمئن شوید که بازی شما تمام الزامات و بهترین شیوهها را برآورده میکند.
پروژه خود را تنظیم و پیکربندی کنید
- دانلود و وارد کردن SDK: جدیدترین SDK مخصوص بازیهای Play Games را برای محیط خود ادغام کنید. برای اطلاعات بیشتر، به راهنمای Unity یا راهنمای C++ مراجعه کنید.
- ایجاد مانیفست برنامه: یک فایل
manifest.xmlایجاد کنید که<PackageName>را به بسته کنسول Play مورد ادعای شما نگاشت کند. برای اطلاعات بیشتر، به راهنمای مانیفست مراجعه کنید. - امضای دیجیتالی فایل اجرایی: بازی خود را با استفاده از امضای دیجیتالی Authenticode امضا کنید و گواهی را برای همه بهروزرسانیهای آینده حفظ کنید. اگرچه میتوانید با فعال کردن حالت توسعهدهنده، این مرحله را در طول توسعه محلی نادیده بگیرید، اما باید فایل باینری نهایی خود را با یک گواهی تولید واقعی از یک مرجع صدور گواهی شناختهشده امضا کنید. برای اطلاعات بیشتر، به امضای دیجیتالی بازی خود مراجعه کنید.
- قالببندی و ارسال گواهی: اطلاعات گواهی را برای نماینده گوگل خود ارسال کنید. فایل گواهی فقط باید حاوی اطلاعات مربوط به گواهی باشد؛ تأیید کنید که تمام بلوکهای غیر گواهی حذف شدهاند. میتوانید از OpenSSL برای تبدیل فایلهای DER/CER به فرمت PEM مورد نیاز استفاده کنید.
ادغام APIها و ویژگیها
- مقداردهی اولیه SDK: منطق مقداردهی اولیه SDK، مثلاً
InitializeAsyncدر هنگام راهاندازی و قبل از استفاده از سایر ویژگیها، پیادهسازی کنید. برای اطلاعات بیشتر، به راهنمای مقداردهی اولیه مراجعه کنید. - ورود یکپارچه را پیادهسازی کنید: بازیکنان را بهطور خودکار با استفاده از حساب کاربری Play Games از طریق Recall API تأیید هویت کنید. برای اطلاعات بیشتر، به راهنمای ورود یکپارچه مراجعه کنید.
- یکپارچهسازی یکپارچگی بازی: از
IntegrityClientبرای درخواست توکنها و تأیید مشروعیت جلسات بازی در backend خود استفاده کنید. برای اطلاعات بیشتر، به راهنمای یکپارچگی بازی مراجعه کنید. - افزودن ارجاعدهنده نصب بازی: اگر نیاز به ردیابی منابع جذب کاربر برای رایانه شخصی دارید، API ارجاعدهنده نصب را ادغام کنید. برای اطلاعات بیشتر، به راهنمای ارجاعدهنده نصب مراجعه کنید.
- مدیریت خطاهای مقداردهی اولیه: برای استفاده از SDK، برای مقداردهی اولیه API
GooglePlayInitialize(C++) یاGooglePlayInitialization.InitializeAsync(C#) را فراخوانی کنید. قبل از اینکه بتوانید از هر API دیگری استفاده کنید، باید این را فراخوانی کرده و تأیید کنید که فراخوانی مجدد باInitializeResult::ok()(C++) یاResult.IsOk(C#)trueرا برمیگرداند. - مدیریت خاموش کردن اجباری: با خاموش کردن فرآیند کلاینت در اسرع وقت،
kActionRequiredShutdownClientProcessرا مدیریت کنید. - مدیریت الزامات نصب بازیهای گوگل پلی: با اطلاعرسانی به کاربران مبنی بر اینکه بازیهای گوگل پلی و زمان اجرای SDK برای ادامه باید نصب شوند،
kSdkRuntimeUnavailableرا مدیریت کنید. - مدیریت بهروزرسانیهای بازیهای گوگل پلی: مدیریت
kSdkRuntimeUpdateRequiredبا اطلاعرسانی به کاربران مبنی بر نیاز به بهروزرسانی زمان اجرای بازیهای گوگل پلی.
پیادهسازی پرداخت از طریق Play
- انواع خرید را بررسی کنید: مطمئن شوید که بازی شما فقط به خریدهای درون برنامهای متکی است، زیرا پرداختهای دورهای و اشتراکها پشتیبانی نمیشوند. برای اطلاعات بیشتر، به سوالات متداول صورتحساب مراجعه کنید.
- پرسوجوی جزئیات محصول: از
QueryProductDetailsبرای بازیابی دادههای فروشگاه محلی استفاده کنید. اگر بیش از 50 محصول دارید، درخواست را به چندین فراخوانی تقسیم کنید. برای اطلاعات بیشتر، به راهنمای پرسوجوی محصولات مراجعه کنید. - جریان خرید را راهاندازی کنید: از
LaunchPurchaseFlowبرای پردازش تراکنشها به صورت بومی استفاده کنید. اگر مرورگر پرداخت را بدون پرداخت ببندید، خطای تایم اوت پنج دقیقهای رخ میدهد. برای اطلاعات بیشتر، به راهنمای جریان خرید مراجعه کنید. - بازیابی خریدهای موجود: برای دریافت خریدهای بین دستگاهی تأیید نشده، در هنگام راهاندازی و پیشزمینهسازی،
QueryPurchasesرا فراخوانی کنید. برای اطلاعات بیشتر، به راهنمای بازیابی خریدها مراجعه کنید. - پردازش امن در بکاند: قبل از اعطای مجوزها و نهایی کردن با
AcknowledgePurchaseیاConsumePurchase، توکنpurchaseTokenدر بکاند خود اعتبارسنجی کنید. برای اطلاعات بیشتر، به راهنمای پردازش امن مراجعه کنید.
تست در حالت توسعهدهنده و انجام QA قبل از راهاندازی
- تست در حالت توسعهدهنده:
<IsDeveloperMode>true</IsDeveloperMode>را به مانیفست خود اضافه کنید و GUID شریک دسترسی اولیه خود را برای آزمایش محیط توسعه یکپارچه (IDE) محلی پیکربندی کنید. اگر GUID شریک دسترسی اولیه ندارید، فرم ابراز علاقه را تکمیل کنید. - مدیریت خریدهای حالت توسعهدهنده: وقتی خریدها را در حالت توسعهدهنده آزمایش میکنید، برای جلوگیری از بازپرداخت خودکار، خرید را ظرف سه دقیقه مصرف کنید. برای اطلاعات بیشتر، به سوالات متداول در مورد آزمایش مراجعه کنید.
- حذف حالت توسعهدهنده: شما باید قبل از بستهبندی نسخه نهایی خود در اسرع وقت، برچسب
<IsDeveloperMode>را حذف کنید. برای اطلاعات بیشتر، به راهنمای حالت توسعهدهنده مراجعه کنید. - آرگومانها را با استفاده از لانچرهای شخص ثالث ارسال کنید: تمام آرگومانهای خط فرمان ناشناخته دریافت شده توسط لانچر از کلاینت بازیهای گوگل پلی را مستقیماً به فرآیند بازی ایجاد شده منتقل کنید. برای اطلاعات بیشتر، به راهنمای چند فرآیندی مراجعه کنید.
- با VPN تست کنید: اگر از منطقهای پشتیبانی نشده تست میکنید، از یک شبکه خصوصی مجازی (VPN) با حالت TUN فعال برای دریافت آدرس IP پشتیبانی شده استفاده کنید. برای اطلاعات بیشتر، به سوالات متداول تست VPN مراجعه کنید.
- پشتیبانی از میانبرهای دسکتاپ: برای پشتیبانی یکپارچه از میانبرها، به سوالات متداول میانبرها برای اجرای میانبر مراجعه کنید. اجرای مستقیم بازی یا یک لانچر شخص ثالث با استفاده از میانبر ممکن است منجر به خطاهای راهاندازی اولیه شود.
بازی خود را بستهبندی، آزمایش و منتشر کنید
- بستهبندی WAB: از ابزار انتشار Play برای بستهبندی بازی خود در یک بسته نرمافزاری ویندوز (WAB) استفاده کنید. حجم فایل WAB باید کمتر از 10 گیگابایت باشد. برای اطلاعات بیشتر، به راهنمای بستهبندی مراجعه کنید.
- ارسال نصبکنندههای لانچر شخص ثالث: اگر از لانچر شخص ثالث استفاده میکنید، نصبکننده آن را داخل WAB ارسال کنید. برای اطلاعات بیشتر، به راهنمای انتشار نصبکننده مراجعه کنید.
- بازی و لانچر یا نصبکننده را بهروزرسانی کنید: محتوای بسته شما، از جمله نصبکنندههای لانچر، باید خود-بهروزرسانیپذیر باشند. تمام منابع مورد نیاز بازی خود، از جمله بهروزرسانی خود لانچر را مدیریت کنید.
- اطلاعات راهاندازی را با گوگل به اشتراک بگذارید: با شریک Play خود تماس بگیرید و نام بسته، کشورهای راهاندازی (با استفاده از کدهای دو کاراکتری ISO، به عنوان مثال ایالات متحده، کالیفرنیا، مکزیک) و تاریخ و زمان راهاندازی را بر اساس زمان هماهنگ جهانی (UTC) به اشتراک بگذارید.
- تنظیم دسترسی آزمایشی: یک گروه گوگل خارجی ایجاد کنید تا به لیست مجاز برای آزمایش، مستندسازی و دسترسی به گوگل درایو اضافه شود. لیست ایمیل حسابهای آزمایشی را با شریک Play خود به اشتراک بگذارید، زیرا آهنگهای آزمایشی Play Console برای رایانه شخصی پشتیبانی نمیشوند.
- افزودن نسخه کامپیوتر شخصی: نسخه «بازیهای گوگل پلی روی کامپیوتر» را به صراحت به برنامه خود در کنسول گوگل پلی اضافه کنید. اگر نمیتوانید به این برگه دسترسی پیدا کنید، با شریک پلی خود تماس بگیرید تا حساب شما را به لیست مجاز اضافه کند.
- پیکربندی نیازمندیهای رایانه شخصی: نیازمندیهای سختافزاری (RAM، GPU، فضای ذخیرهسازی) را برای رایانههای شخصی ویندوزی وارد کنید. برای اطلاعات بیشتر، به راهنمای نیازمندیهای رایانه شخصی مراجعه کنید.
- آپلود داراییهای فروشگاه: فایل WAB بستهبندیشده خود را در مسیر تولید آپلود کنید و داراییهای بصری را پیکربندی کنید. برای اطلاعات بیشتر، به راهنمای آپلود دارایی مراجعه کنید.
- انتشار برای آزمایش محیط کاربری: در کنسول گوگل پلی، گزینه انتشار را انتخاب کنید. برخلاف نسخه اندروید، انتخاب انتشار در WAB باعث انتشار عمومی نمیشود. در عوض، برنامه را برای حسابهای آزمایشی مشترک شما قابل جستجو میکند تا پس از فرآیند بررسی گوگل، آزمایشها در یک محیط کاربری انجام شود.
- راهاندازی رسمی: گوگل، راهاندازی را بر اساس تاریخ رسمی راهاندازی که با شریک Play خود به اشتراک گذاشتهاید، کنترل میکند.
مهاجرت از API به SDK
مهاجرت از API به SDK یک مرحله اختیاری است. اگر تصمیم به مهاجرت دارید، این توصیهها را دنبال کنید:
- حذف APIهای REST قدیمی: فراخوانیهای API توسعهدهنده Play قدیمی (برای مثال،
purchases.products.get) را به توابع SDK بومی سمت کلاینت نگاشت کنید. برای اطلاعات بیشتر، به راهنمای مهاجرت مراجعه کنید. - آرگومانهای خط فرمان را تأیید کنید: آرگومانهای خط فرمان در محیط SDK ممکن است با آرگومانهای موجود در محیط API متفاوت باشند. تأیید کنید که بسته شما تمام آرگومانها را به درستی مدیریت و ارسال میکند. برای اطلاعات بیشتر، به بخش تأیید مراجعه کنید.
- مسیر رجیستری را تأیید کنید: برای مهاجرت یکپارچه به SDK بومی، پیکربندی رجیستری باید با نسخههای قبلی سازگار باقی بماند. برای اطلاعات بیشتر، به راهنمای فایل WAB مراجعه کنید.