Google Play Games را برای Unity راه‌اندازی کنید و وارد شوید

این سند شما را در راه‌اندازی پروژه Unity برای استفاده از افزونه Google Play Games برای Unity راهنمایی می‌کند. شما یاد می گیرید که چگونه پلاگین را نصب کرده و پروژه Unity خود را پیکربندی کنید. این سند همچنین نحوه تأیید سرویس ورود به سیستم را پوشش می دهد.

قبل از شروع

الزامات نرم افزار را مرور کنید. کنسول Play را راه اندازی کرده و Unity Hub را نصب کنید.

نصب پلاگین

برای دانلود و نصب افزونه Google Play Games برای Unity، این مراحل را در Unity Hub دنبال کنید:

  1. مخزن GitHub را دانلود کنید.

  2. در فهرست current-build ، فایل unitypackage را پیدا کنید. این فایل نمایانگر افزونه است. به عنوان مثال، باید شبیه موارد زیر باشد:

      current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
    

پروژه یونیتی را راه اندازی کنید

برای راه اندازی پروژه 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 شما.

یک فروشگاه کلید جدید ایجاد کنید

برای تأیید اعتبار خود، به یک کلید نیاز دارید. این مراحل را دنبال کنید:

  1. در Unity Hub، روی File > Build settings > Player settings کلیک کنید.
  2. در بخش تنظیمات انتشار ، روی مدیر فروشگاه کلید کلیک کنید.
    1. در پنجره مدیر Keystore ، روی Keystore > Create new > Anywhere کلیک کنید.
    2. یک پوشه را انتخاب کنید و یک نام برای فروشگاه کلید ارائه دهید.
    3. در کادر Password یک رمز عبور وارد کرده و تایید کنید.
    4. روی افزودن کلید کلیک کنید.

به نام پوشه توجه کنید. می توانید از این نام برای ایجاد اعتبار در Google Cloud استفاده کنید.

منابع اندروید را از Play Console کپی کنید

هر دستاورد، تابلوی امتیازات و رویدادی که در Play Console ایجاد می‌کنید شامل یک منبع Android است که هنگام راه‌اندازی پروژه Unity خود از آن استفاده می‌کنید.

برای دریافت منابع اندروید برای بازی خود، این مراحل را دنبال کنید:

  1. در کنسول Google Play ، بازی را باز کنید.

  2. در صفحه پیکربندی خدمات بازی های Play ( رشد > خدمات بازی های Play > راه اندازی و مدیریت > پیکربندی )، روی دریافت منابع کلیک کنید.

  3. در پنجره منابع ، روی تب Android (XML) کلیک کنید.

  4. محتوای منابع Android ( AndroidManifest.xml ) را انتخاب و کپی کنید.

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

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

  1. در Unity Hub، روی Window > Google Play Games > Setup > Android Setup کلیک کنید.

    • در قسمت Directory to save stabilizs ، نام پوشه فایل ثابت را وارد کنید.
    • در قسمت Constants class name ، نام کلاس C# را برای ایجاد وارد کنید، از جمله فضای نام.

      برای مثال، اگر کلاس C# id.cs باشد و در زیر Assets > myproject > scripts > id.cs وجود داشته باشد. نام کلاس ثابت می تواند myproject.scripts.id باشد.

    • در قسمت تعریف منابع ، داده‌های منابع Android (فایل AndroidManifest.xml ) را که از کنسول Google Play کپی کرده‌اید جای‌گذاری کنید.

    • اختیاری: در قسمت Client ID ، شناسه مشتری برنامه وب پیوند شده را وارد کنید.

      برای دریافت شناسه مشتری بازی خود از Google Cloud، به ایجاد شناسه مشتری مراجعه کنید.

      این تنها زمانی مورد نیاز است که برای بازی خود یک بک‌اند مبتنی بر وب دارید و به کد تأیید اعتبار سرور برای مبادله رمز دسترسی توسط سرور باطن نیاز دارید، یا اگر برای برقراری تماس‌های API غیربازی دیگر به یک شناسه برای بازیکن نیاز دارید. .

    • روی Setup کلیک کنید. این بازی شما را با شناسه کلاینت پیکربندی می‌کند و یک کلاس C# ایجاد می‌کند که حاوی ثابت‌هایی برای هر یک از منابع اندروید شما است.

  2. در Unity Hub، روی Window > Google Play Games > Setup > Nearby Connections Setup کلیک کنید.

    • در قسمت شناسه خدمات اتصال نزدیک ، package_name را وارد کنید.

      از همان package_name استفاده کنید که در راه اندازی پروژه Unity استفاده کردید.

    • روی Setup کلیک کنید.

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

افزونه Google Play Games Services رابط اجتماعی Unity را برای سازگاری با بازی‌هایی که قبلاً از آن رابط هنگام ادغام با سایر پلتفرم‌ها استفاده می‌کنند، پیاده‌سازی می‌کند. با این حال، برخی از ویژگی‌ها برای بازی‌های Play منحصر به فرد هستند و به عنوان افزونه‌های رابط اجتماعی استاندارد ارائه شده توسط Unity ارائه می‌شوند.

تماس‌های استاندارد API را می‌توان از طریق شی Social.Active ، که اشاره‌ای به یک رابط ISocialPlatform است، دریافت کرد. با فرستادن شی Social.Active به کلاس PlayGamesPlatform ، جایی که روش‌های اضافی در دسترس هستند، می‌توان به برنامه‌های افزودنی غیراستاندارد خدمات بازی‌های Google Play دسترسی پیدا کرد.

از افزونه بدون نادیده گرفتن پلت فرم اجتماعی پیش فرض استفاده کنید

وقتی PlayGamesPlatform.Activate را تماس می‌گیرید، خدمات بازی‌های Google Play به پیاده‌سازی پلتفرم اجتماعی پیش‌فرض شما تبدیل می‌شود، به این معنی که تماس‌های ثابت به روش‌ها در Social و Social.Active توسط افزونه Google Play Games Services انجام می‌شود. این رفتار برای اکثر بازی هایی است که از این افزونه استفاده می کنند.

با این حال، اگر به دلایلی می‌خواهید پیاده‌سازی پیش‌فرض را در دسترس نگه دارید (مثلاً برای استفاده از آن برای ارسال دستاوردها و تابلوهای امتیازات به یک پلتفرم اجتماعی دیگر)، می‌توانید از افزونه Google Play Games Services بدون لغو افزونه پیش‌فرض استفاده کنید. برای انجام این کار:

  1. با PlayGamesPlatform.Activate تماس نگیرید. Activate
  2. اگر Xyz نام روشی است که باید در کلاس Social فراخوانی کنید، Social.Xyz صدا نکنید. در عوض، با PlayGamesPlatform.Instance.Xyz تماس بگیرید
  3. هنگام تعامل با خدمات بازی های Google Play از Social.Active استفاده نکنید. در عوض، از PlayGamesPlatform.Instance استفاده کنید.

به این ترتیب، حتی می توانید نمرات و دستاوردها را به طور همزمان به دو یا چند پلت فرم اجتماعی ارسال کنید:

    // Submit achievement to original default social platform
    Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);

    // Submit achievement to Google Play
    PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);

سرویس ورود به سیستم را تأیید کنید

هنگامی که بازی شما باز می شود، به طور خودکار با استفاده از سرویس ورود به سیستم، اتصال به خدمات بازی های Play انجام می شود. اگر اتصال با موفقیت انجام شود، بازی شما یک اعلان ورود به سیستم را نمایش می‌دهد و آماده استفاده از افزونه خدمات بازی‌های Google Play برای Unity است.

اگر کاربری هرگز از خدمات بازی‌های Google Play در دستگاه خود استفاده نکرده باشد، به‌طور خودکار از طریق صفحه راه‌اندازی یک‌باره برای ایجاد حساب بازی‌های Play هدایت می‌شود.

در روش Start اسکریپت خود، به نتیجه تلاش برای ورود خودکار به سیستم گوش دهید، وضعیت احراز هویت را واکشی کنید و اگر کاربر وارد سیستم نشده باشد، ویژگی‌های «خدمات بازی‌های Play» را غیرفعال کنید.

اگر نسخه افزونه Unity قبل از v11 باشد، نمی توانید از ویژگی ورود به سیستم استفاده کنید.

    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).
      }
    }

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

اگر ترجیح می دهید از پلتفرم اجتماعی Unity استفاده کنید، می توانید از کد زیر استفاده کنید:

  using GooglePlayGames;

  public void Start() {
    PlayGamesPlatform.Activate();
    Social.localUser.Authenticate(ProcessAuthentication);
  }

تا زمانی که یک مقدار بازگشتی موفق از Authenticate دریافت نکنید، نمی‌توانید هیچ تماس API خدمات بازی‌های Google Play برقرار کنید. در نتیجه، توصیه می‌کنیم که بازی‌ها یک صفحه آماده به کار نمایش دهند تا زمانی که تماس برگشتی فراخوانی نشود تا اطمینان حاصل شود که کاربران نمی‌توانند بازی را شروع کنند تا زمانی که احراز هویت کامل نشود.

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

Google با استفاده از Play App Signing، کلید امضای برنامه شما را مدیریت و محافظت می کند. می‌توانید از Play App Signing برای امضای بهینه و توزیع فایل‌های Android APP Bundle (AAB) استفاده کنید. Play App Signing کلید امضای برنامه شما را در زیرساخت امن Google ذخیره می کند. برای استفاده از Play App Signing، ابتدا باید یک فایل AAB از Unity Hub ایجاد و دانلود کنید. سپس می توانید فایل AAB را در Play Console آپلود کنید و یک نسخه آزمایشی داخلی ایجاد کنید.

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

برای ایجاد یک فایل AAB در Unity Hub، مراحل زیر را دنبال کنید:

  1. در Unity Hub، روی File > Build settings کلیک کنید.
  2. Build App Bundle (Google Play) را انتخاب کنید.

    برای اطلاعات بیشتر، به مرجع تنظیمات ساخت اندروید مراجعه کنید.

  3. روی ساخت کلیک کنید.

  4. فایل AAB را از Unity Hub دانلود کنید.

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

برای ایجاد نسخه آزمایشی داخلی و افزودن آزمایش‌کنندگان در Play Console، مراحل زیر را انجام دهید:

  1. در کنسول Google Play ، یک بازی را انتخاب کنید.
  2. به صفحه تست و انتشار ( تست > تست داخلی ) بروید.
  3. روی Upload کلیک کنید و فایل AAB را انتخاب کنید.
  4. در قسمت جزئیات انتشار ، یک نام وارد کنید.
  5. روی Next کلیک کنید و جزئیات انتشار را بررسی کنید.
  6. روی ذخیره و انتشار کلیک کنید.
  7. در برگه آزمایش کنندگان ، روی ایجاد لیست ایمیل کلیک کنید تا حداکثر 100 آزمایش کننده اضافه شود.

    برای اطلاعات بیشتر، به تست داخلی مراجعه کنید: حداکثر 100 آزمایش کننده را مدیریت کنید .

  8. در نشانی اینترنتی بازخورد یا آدرس ایمیل ، نشانی وب بازخورد یا آدرس ایمیل را برای ارائه بازخورد وارد کنید.

  9. روی ذخیره کلیک کنید.

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

  1. در کنسول Google Play ، یک بازی را انتخاب کنید.
  2. به صفحه تست و انتشار ( تنظیم > امضای برنامه ) بروید.
  3. اعتبارنامه امضای برنامه خود را تأیید کنید.

پروژه را بسازید و اجرا کنید

در این مرحله می توانید پروژه بازی را بسازید و اجرا کنید. وقتی بازی شروع می‌شود، تلاش خودکار برای ورود به سیستم را خواهید دید.

شما به یک دستگاه فیزیکی مجهز به Android با فعال کردن اشکال زدایی USB یا شبیه ساز نیاز دارید که بتواند پروژه توسعه یافته را اجرا کند.

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

برای دسترسی به APIهای Google در یک وب سرور پشتیبان از طرف پخش کننده فعلی، باید یک کد احراز هویت را از برنامه مشتری دریافت کنید و آن را به برنامه وب سرور خود منتقل کنید. سپس کد را می توان با یک نشانه دسترسی برای برقراری تماس با API های مختلف مبادله کرد. برای اطلاعات در مورد گردش کار، به ورود به سیستم با Google برای وب مراجعه کنید.

برای دریافت کد دسترسی سمت سرور:

  1. شناسه وب سرویس گیرنده برنامه وب مرتبط با بازی خود را در Play Console پیکربندی کنید.

  2. پس از احراز هویت پخش کننده برای دریافت کد دسترسی سمت سرور، با PlayGamesPlatform.Instance.RequestServerSideAccess تماس بگیرید.

  3. این کد را به برنامه سرور خود ارسال کنید.

  PlayGamesPlatform.Instance.RequestServerSideAccess(
    /* forceRefreshToken= */ false,
    code -> {
      // send code to server
    });

راه اندازی و اضافه کردن ویژگی ها

،

این سند شما را در راه‌اندازی پروژه Unity برای استفاده از افزونه Google Play Games برای Unity راهنمایی می‌کند. شما یاد می گیرید که چگونه پلاگین را نصب کرده و پروژه Unity خود را پیکربندی کنید. این سند همچنین نحوه تأیید سرویس ورود به سیستم را پوشش می دهد.

قبل از شروع

الزامات نرم افزار را مرور کنید. کنسول Play را راه اندازی کرده و Unity Hub را نصب کنید.

نصب پلاگین

برای دانلود و نصب افزونه Google Play Games برای Unity، این مراحل را در Unity Hub دنبال کنید:

  1. مخزن GitHub را دانلود کنید.

  2. در فهرست current-build ، فایل unitypackage را پیدا کنید. این فایل نمایانگر افزونه است. به عنوان مثال، باید شبیه موارد زیر باشد:

      current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
    

پروژه یونیتی را راه اندازی کنید

برای راه اندازی پروژه 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 شما.

یک فروشگاه کلید جدید ایجاد کنید

برای تأیید اعتبار خود، به یک کلید نیاز دارید. این مراحل را دنبال کنید:

  1. در Unity Hub، روی File > Build settings > Player settings کلیک کنید.
  2. در بخش تنظیمات انتشار ، روی مدیر فروشگاه کلید کلیک کنید.
    1. در پنجره مدیر Keystore ، روی Keystore > Create new > Anywhere کلیک کنید.
    2. یک پوشه را انتخاب کنید و یک نام برای فروشگاه کلید ارائه دهید.
    3. در کادر Password یک رمز عبور وارد کرده و تایید کنید.
    4. روی افزودن کلید کلیک کنید.

به نام پوشه توجه کنید. می توانید از این نام برای ایجاد اعتبار در Google Cloud استفاده کنید.

منابع اندروید را از Play Console کپی کنید

هر دستاورد، تابلوی امتیازات و رویدادی که در Play Console ایجاد می‌کنید شامل یک منبع Android است که هنگام راه‌اندازی پروژه Unity خود از آن استفاده می‌کنید.

برای دریافت منابع اندروید برای بازی خود، این مراحل را دنبال کنید:

  1. در کنسول Google Play ، بازی را باز کنید.

  2. در صفحه پیکربندی خدمات بازی های Play ( رشد > خدمات بازی های Play > راه اندازی و مدیریت > پیکربندی )، روی دریافت منابع کلیک کنید.

  3. در پنجره منابع ، روی تب Android (XML) کلیک کنید.

  4. محتوای منابع Android ( AndroidManifest.xml ) را انتخاب و کپی کنید.

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

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

  1. در Unity Hub، روی Window > Google Play Games > Setup > Android Setup کلیک کنید.

    • در قسمت Directory to save stabilizs ، نام پوشه فایل ثابت را وارد کنید.
    • در قسمت Constants class name ، نام کلاس C# را برای ایجاد وارد کنید، از جمله فضای نام.

      برای مثال، اگر کلاس C# id.cs باشد و در زیر Assets > myproject > scripts > id.cs وجود داشته باشد. نام کلاس ثابت می تواند myproject.scripts.id باشد.

    • در قسمت تعریف منابع ، داده‌های منابع Android (فایل AndroidManifest.xml ) را که از کنسول Google Play کپی کرده‌اید جای‌گذاری کنید.

    • اختیاری: در قسمت Client ID ، شناسه مشتری برنامه وب پیوند شده را وارد کنید.

      برای دریافت شناسه مشتری بازی خود از Google Cloud، به ایجاد شناسه مشتری مراجعه کنید.

      این تنها زمانی مورد نیاز است که برای بازی خود یک بک‌اند مبتنی بر وب دارید و به کد تأیید اعتبار سرور برای مبادله رمز دسترسی توسط سرور باطن نیاز دارید، یا اگر برای برقراری تماس‌های API غیربازی دیگر به یک شناسه برای بازیکن نیاز دارید. .

    • روی Setup کلیک کنید. این بازی شما را با شناسه کلاینت پیکربندی می‌کند و یک کلاس C# ایجاد می‌کند که حاوی ثابت‌هایی برای هر یک از منابع اندروید شما است.

  2. در Unity Hub، روی Window > Google Play Games > Setup > Nearby Connections Setup کلیک کنید.

    • در قسمت شناسه خدمات اتصال نزدیک ، package_name را وارد کنید.

      از همان package_name استفاده کنید که در راه اندازی پروژه Unity استفاده کردید.

    • روی Setup کلیک کنید.

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

افزونه Google Play Games Services رابط اجتماعی Unity را برای سازگاری با بازی‌هایی که قبلاً از آن رابط هنگام ادغام با سایر پلتفرم‌ها استفاده می‌کنند، پیاده‌سازی می‌کند. با این حال، برخی از ویژگی‌ها برای بازی‌های Play منحصر به فرد هستند و به عنوان افزونه‌های رابط اجتماعی استاندارد ارائه شده توسط Unity ارائه می‌شوند.

تماس‌های استاندارد API را می‌توان از طریق شی Social.Active ، که اشاره‌ای به یک رابط ISocialPlatform است، دریافت کرد. با فرستادن شی Social.Active به کلاس PlayGamesPlatform ، جایی که روش‌های اضافی در دسترس هستند، می‌توان به برنامه‌های افزودنی غیراستاندارد خدمات بازی‌های Google Play دسترسی پیدا کرد.

از افزونه بدون نادیده گرفتن پلت فرم اجتماعی پیش فرض استفاده کنید

وقتی PlayGamesPlatform.Activate را تماس می‌گیرید، خدمات بازی‌های Google Play به پیاده‌سازی پلتفرم اجتماعی پیش‌فرض شما تبدیل می‌شود، به این معنی که تماس‌های ثابت به روش‌ها در Social و Social.Active توسط افزونه Google Play Games Services انجام می‌شود. این رفتار برای اکثر بازی هایی است که از این افزونه استفاده می کنند.

با این حال، اگر به دلایلی می‌خواهید پیاده‌سازی پیش‌فرض را در دسترس نگه دارید (مثلاً برای استفاده از آن برای ارسال دستاوردها و تابلوهای امتیازات به یک پلتفرم اجتماعی دیگر)، می‌توانید از افزونه Google Play Games Services بدون لغو افزونه پیش‌فرض استفاده کنید. برای انجام این کار:

  1. با PlayGamesPlatform.Activate تماس نگیرید. Activate
  2. اگر Xyz نام روشی است که باید در کلاس Social فراخوانی کنید، Social.Xyz صدا نکنید. در عوض، با PlayGamesPlatform.Instance.Xyz تماس بگیرید
  3. هنگام تعامل با خدمات بازی های Google Play از Social.Active استفاده نکنید. در عوض، از PlayGamesPlatform.Instance استفاده کنید.

به این ترتیب، حتی می توانید نمرات و دستاوردها را به طور همزمان به دو یا چند پلت فرم اجتماعی ارسال کنید:

    // Submit achievement to original default social platform
    Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);

    // Submit achievement to Google Play
    PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);

سرویس ورود به سیستم را تأیید کنید

هنگامی که بازی شما باز می شود، به طور خودکار با استفاده از سرویس ورود به سیستم، اتصال به خدمات بازی های Play انجام می شود. اگر اتصال با موفقیت انجام شود، بازی شما یک اعلان ورود به سیستم را نمایش می‌دهد و آماده استفاده از افزونه خدمات بازی‌های Google Play برای Unity است.

اگر کاربری هرگز از خدمات بازی‌های Google Play در دستگاه خود استفاده نکرده باشد، به‌طور خودکار از طریق صفحه راه‌اندازی یک‌باره برای ایجاد حساب بازی‌های Play هدایت می‌شود.

در روش Start اسکریپت خود، به نتیجه تلاش برای ورود خودکار به سیستم گوش دهید، وضعیت احراز هویت را واکشی کنید و اگر کاربر وارد سیستم نشده باشد، ویژگی‌های «خدمات بازی‌های Play» را غیرفعال کنید.

اگر نسخه افزونه Unity قبل از v11 باشد، نمی توانید از ویژگی ورود به سیستم استفاده کنید.

    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).
      }
    }

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

اگر ترجیح می دهید از پلتفرم اجتماعی Unity استفاده کنید، می توانید از کد زیر استفاده کنید:

  using GooglePlayGames;

  public void Start() {
    PlayGamesPlatform.Activate();
    Social.localUser.Authenticate(ProcessAuthentication);
  }

تا زمانی که یک مقدار بازگشتی موفق از Authenticate دریافت نکنید، نمی‌توانید هیچ تماس API خدمات بازی‌های Google Play برقرار کنید. در نتیجه، توصیه می‌کنیم که بازی‌ها یک صفحه آماده به کار نمایش دهند تا زمانی که تماس برگشتی فراخوانی نشود تا اطمینان حاصل شود که کاربران نمی‌توانند بازی را شروع کنند تا زمانی که احراز هویت کامل نشود.

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

Google با استفاده از Play App Signing، کلید امضای برنامه شما را مدیریت و محافظت می کند. می‌توانید از Play App Signing برای امضای بهینه و توزیع فایل‌های Android APP Bundle (AAB) استفاده کنید. Play App Signing کلید امضای برنامه شما را در زیرساخت امن Google ذخیره می کند. برای استفاده از Play App Signing، ابتدا باید یک فایل AAB از Unity Hub ایجاد و دانلود کنید. سپس می توانید فایل AAB را در Play Console آپلود کنید و یک نسخه آزمایشی داخلی ایجاد کنید.

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

برای ایجاد یک فایل AAB در Unity Hub، مراحل زیر را دنبال کنید:

  1. در Unity Hub، روی File > Build settings کلیک کنید.
  2. Build App Bundle (Google Play) را انتخاب کنید.

    برای اطلاعات بیشتر، به مرجع تنظیمات ساخت اندروید مراجعه کنید.

  3. روی ساخت کلیک کنید.

  4. فایل AAB را از Unity Hub دانلود کنید.

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

برای ایجاد نسخه آزمایشی داخلی و افزودن آزمایش‌کنندگان در Play Console، مراحل زیر را انجام دهید:

  1. در کنسول Google Play ، یک بازی را انتخاب کنید.
  2. به صفحه تست و انتشار ( تست > تست داخلی ) بروید.
  3. روی Upload کلیک کنید و فایل AAB را انتخاب کنید.
  4. در قسمت جزئیات انتشار ، یک نام وارد کنید.
  5. روی Next کلیک کنید و جزئیات انتشار را بررسی کنید.
  6. روی ذخیره و انتشار کلیک کنید.
  7. در برگه آزمایش کنندگان ، روی ایجاد لیست ایمیل کلیک کنید تا حداکثر 100 آزمایش کننده اضافه شود.

    برای اطلاعات بیشتر، به تست داخلی مراجعه کنید: حداکثر 100 آزمایش کننده را مدیریت کنید .

  8. در نشانی اینترنتی بازخورد یا آدرس ایمیل ، نشانی وب بازخورد یا آدرس ایمیل را برای ارائه بازخورد وارد کنید.

  9. روی ذخیره کلیک کنید.

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

  1. در کنسول Google Play ، یک بازی را انتخاب کنید.
  2. به صفحه تست و انتشار ( تنظیم > امضای برنامه ) بروید.
  3. اعتبارنامه امضای برنامه خود را تأیید کنید.

پروژه را بسازید و اجرا کنید

در این مرحله می توانید پروژه بازی را بسازید و اجرا کنید. وقتی بازی شروع می‌شود، تلاش خودکار برای ورود به سیستم را خواهید دید.

شما به یک دستگاه فیزیکی مجهز به Android با فعال کردن اشکال زدایی USB یا شبیه ساز نیاز دارید که بتواند پروژه توسعه یافته را اجرا کند.

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

برای دسترسی به APIهای Google در یک وب سرور پشتیبان از طرف پخش کننده فعلی، باید یک کد احراز هویت را از برنامه مشتری دریافت کنید و آن را به برنامه وب سرور خود منتقل کنید. سپس کد را می توان با یک نشانه دسترسی برای برقراری تماس با API های مختلف مبادله کرد. برای اطلاعات در مورد گردش کار، به ورود به سیستم با Google برای وب مراجعه کنید.

برای دریافت کد دسترسی سمت سرور:

  1. شناسه وب سرویس گیرنده برنامه وب مرتبط با بازی خود را در Play Console پیکربندی کنید.

  2. پس از احراز هویت پخش کننده برای دریافت کد دسترسی سمت سرور، با PlayGamesPlatform.Instance.RequestServerSideAccess تماس بگیرید.

  3. این کد را به برنامه سرور خود ارسال کنید.

  PlayGamesPlatform.Instance.RequestServerSideAccess(
    /* forceRefreshToken= */ false,
    code -> {
      // send code to server
    });

راه اندازی و اضافه کردن ویژگی ها