مهاجرت به Play Games Services v2 (Unity)

این سند نحوه انتقال بازی‌های موجود از بازی‌های v1 SDK به بازی‌های v2 SDK را شرح می‌دهد. افزونه Play Games برای Unity، نسخه 10 و پیش از آن، از بازی‌ها v1 SDK استفاده می‌کند.

قبل از شروع

  • مطمئن شوید که کنسول Play را از قبل راه اندازی کرده اید و Unity Hub را نصب کرده اید.

افزونه Google Play Games را برای Unity دانلود کنید

برای بهره مندی از آخرین ویژگی های خدمات بازی های Play، آخرین نسخه افزونه را دانلود و نصب کنید. آن را از مخزن gitHub دانلود کنید.

افزونه قدیمی را حذف کنید

در Unity Hub، پوشه ها یا فایل های زیر را حذف کنید.

Assets/GooglePlayGames

Assets/GeneratedLocalRepo/GooglePlayGames

Assets/Plugins/Android/GooglePlayGamesManifest.androidlib

Assets/Plugins/Android
پوشه های هایلایت شده را در پروژه Unity خود حذف کنید.
پوشه های هایلایت شده را در پروژه Unity خود حذف کنید (برای بزرگنمایی کلیک کنید).

افزونه جدید را به پروژه یونیتی خود وارد کنید

برای وارد کردن افزونه به پروژه یونیتی، مراحل زیر را دنبال کنید:

  1. پروژه بازی خود را باز کنید.
  2. در Unity Hub، روی Assets > Import Package > Custom Package کلیک کنید تا فایل unitypackage دانلود شده به دارایی های پروژه شما وارد شود.
  3. مطمئن شوید که پلتفرم ساخت فعلی شما روی Android تنظیم شده است.

    1. در منوی اصلی، روی File > Build Settings کلیک کنید.

    2. Android را انتخاب کنید و روی Switch Platform کلیک کنید.

    3. باید یک آیتم منوی جدید در زیر پنجره > بازی‌های Google Play وجود داشته باشد. اگر وجود ندارد، دارایی‌ها را با کلیک روی Assets > Refresh بازخوانی کنید و سپس دوباره سعی کنید پلتفرم ساخت را تنظیم کنید.

  4. در Unity Hub، روی File > Build Settings > Player Settings > Other Settings کلیک کنید.

  5. در کادر سطح Target API ، یک نسخه را انتخاب کنید.

  6. در کادر باطن Scripting ، IL2CPP را وارد کنید.

  7. در کادر معماری های هدف ، یک مقدار را انتخاب کنید.

  8. به نام بسته package_name توجه کنید. می‌توانید بعداً از این اطلاعات استفاده کنید.

    تنظیمات پخش کننده در پروژه Unity شما
    تنظیمات پخش کننده در پروژه Unity شما.
  9. منابع اندروید را از Play Console کپی کنید

  10. منابع اندروید را به پروژه یونیتی خود اضافه کنید

کد ورود خودکار را به روز کنید

کلاس مقداردهی اولیه PlayGamesClientConfiguration را با کلاس PlayGamesPlatform.Instance.Authenticate() جایگزین کنید. مقداردهی اولیه و فعال سازی PlayGamesPlatform لازم نیست. فراخوانی PlayGamesPlatform.Instance.Authenticate() نتیجه ورود خودکار را واکشی می کند.

سی شارپ

در Unity Hub، فایل‌ها را با کلاس PlayGamesClientConfiguration پیدا کنید.

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;

public void Start() {
    PlayGamesClientConfiguration config =
        new PlayGamesClientConfiguration.Builder()
    // Enables saving game progress
    .EnableSavedGames()
    // Requests the email address of the player be available
    // will bring up a prompt for consent
    .RequestEmail()
    // Requests a server auth code be generated so it can be passed to an
    // associated backend server application and exchanged for an OAuth token
    .RequestServerAuthCode(false)
    // Requests an ID token be generated. This OAuth token can be used to
    // identify the player to other services such as Firebase.
    .RequestIdToken()
    .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();
}

و به این صورت آپدیت کنید:

using GooglePlayGames;

public void Start() {
    PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}

internal void ProcessAuthentication(SignInStatus status) {
    if (status == SignInStatus.Success) {
        // Continue with Play Games Services
    } else {
        // Disable your integration with Play Games Services or show a login
        // button to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
    }
}

یک پلتفرم اجتماعی را انتخاب کنید

برای انتخاب پلتفرم اجتماعی، به انتخاب پلتفرم اجتماعی مراجعه کنید.

بازیابی کدهای احراز هویت سرور

برای دریافت کدهای دسترسی سمت سرور، به بازیابی کدهای احراز هویت سرور مراجعه کنید.

حذف کد خروج

کد خروج از سیستم را بردارید. خدمات بازی‌های Play دیگر به دکمه خروج از سیستم نیاز ندارد.

کد نشان داده شده در مثال زیر را حذف کنید:

سی شارپ

// sign out
PlayGamesPlatform.Instance.SignOut();

بازی خود را تست کنید

با تست کردن، از عملکرد بازی خود همانطور که طراحی شده است اطمینان حاصل کنید. تست هایی که انجام می دهید به ویژگی های بازی شما بستگی دارد.

در زیر لیستی از تست های رایج برای اجرا آمده است.

  1. ورود موفقیت آمیز

    1. ورود خودکار کار می کند. کاربر باید پس از راه‌اندازی بازی، وارد «خدمات بازی‌های Play» شود.

    2. پنجره خوش آمد گویی نمایش داده می شود.

      نمونه پنجره خوش آمد گویی
      نمونه پنجره خوش آمد گویی (برای بزرگنمایی کلیک کنید).

    3. پیام های ثبت موفقیت آمیز نمایش داده می شود. دستور زیر را در ترمینال اجرا کنید:

      adb logcat | grep com.google.android.

      یک پیام ثبت موفقیت آمیز در مثال زیر نشان داده شده است:

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. از سازگاری مؤلفه UI اطمینان حاصل کنید .

    1. پاپ‌آپ‌ها، تابلوهای امتیازات و دستاوردها به‌طور صحیح و پیوسته در اندازه‌ها و جهت‌های مختلف صفحه در رابط کاربری (UI) خدمات بازی‌های Play نمایش داده می‌شوند.

    2. گزینه خروج از سیستم در رابط کاربری Play Games Services قابل مشاهده نیست.

    3. مطمئن شوید که می توانید با موفقیت شناسه پخش کننده را بازیابی کنید، و در صورت وجود، قابلیت های سمت سرور همانطور که انتظار می رود کار می کنند.

    4. اگر بازی از احراز هویت سمت سرور استفاده می کند، جریان requestServerSideAccess را به طور کامل آزمایش کنید. اطمینان حاصل کنید که سرور کد احراز هویت را دریافت کرده و می تواند آن را با یک نشانه دسترسی مبادله کند. سناریوهای موفقیت و شکست را برای خطاهای شبکه، سناریوهای client ID نامعتبر آزمایش کنید.

اگر بازی شما از یکی از ویژگی‌های زیر استفاده می‌کرد، آن‌ها را آزمایش کنید تا مطمئن شوید که مانند قبل از مهاجرت کار می‌کنند:

  • تابلوهای امتیازات : امتیازات را ارسال کنید و تابلوهای امتیازات را مشاهده کنید. رتبه بندی صحیح و نمایش اسامی و امتیازات بازیکنان را بررسی کنید.
  • دستاوردها : قفل دستاوردها را باز کنید و تأیید کنید که به درستی ثبت شده و در رابط کاربری بازی‌های Play نمایش داده می‌شوند.
  • بازی‌های ذخیره‌شده : اگر بازی از بازی‌های ذخیره‌شده استفاده می‌کند، مطمئن شوید که ذخیره و بارگیری پیشرفت بازی بدون نقص انجام می‌شود. این به ویژه برای آزمایش در چندین دستگاه و پس از به روز رسانی برنامه بسیار مهم است.

وظایف مهاجرت را ارسال کنید

پس از انتقال به SDK بازی ها v2 مراحل زیر را کامل کنید.

  1. از Play App Signing استفاده کنید

  2. یک فایل AAB ایجاد کنید

  3. یک نسخه آزمایشی داخلی ایجاد کنید

  4. اعتبارنامه امضای برنامه خود را تأیید کنید