راه اندازی

این صفحه نحوه تنظیم برنامه یا بازی خود را برای استفاده از Play Integrity API توضیح می دهد. باید پاسخ‌ها را از API فعال کنید و سپس باید API را در برنامه خود و سرور باطن برنامه خود ادغام کنید. پس از پیوند دادن پروژه Google Cloud که برای Play Integrity API در Google Play Console استفاده می‌کنید، گزینه‌های پیکربندی، ویژگی‌های آزمایشی و گزارش اضافی در دسترس می‌شوند.

پاسخ‌های Play Integrity API را فعال کنید

هر برنامه یا SDK که Play Integrity API را فراخوانی می‌کند باید از پروژه Google Cloud برای نظارت بر استفاده از API استفاده کند. برنامه‌های موجود در Google Play می‌توانند یک پروژه Cloud را در کنسول Google Play پیوند دهند تا پاسخ‌های Play Integrity API را فعال کنند. اگر می‌خواهید یک پروژه Cloud جدید ایجاد کنید یا برنامه شما منحصراً در خارج از Google Play توزیع شده است، می‌توانید پاسخ‌های Play Integrity API را از Google Cloud Console خود فعال کنید.

راه‌اندازی در کنسول Google Play (توصیه می‌شود)

با فعال کردن پاسخ‌های Play Integrity API در کنسول Google Play ، به گزینه‌های پیکربندی اضافی، ویژگی‌های آزمایشی و گزارش‌دهی API دسترسی خواهید داشت. این گزینه فقط برای برنامه های توزیع شده در Google Play در دسترس است. به Release > App integrity بروید. در بخش Play Integrity API، پیوند پروژه ابری را انتخاب کنید. پروژه Cloud را که می‌خواهید به برنامه خود پیوند دهید، انتخاب کنید تا پاسخ‌های Play Integrity API فعال شود. اکنون می توانید Play Integrity API را در برنامه خود ادغام کنید.

در Google Cloud Console راه اندازی کنید

در Google Cloud Console خود، یک پروژه Cloud جدید ایجاد کنید یا یک پروژه Cloud موجود را انتخاب کنید که می‌خواهید با Play Integrity API استفاده کنید. به API ها و سرویس ها بروید. فعال کردن API ها و خدمات را انتخاب کنید. Play Integrity API را جستجو کنید و سپس آن را فعال کنید . اکنون می توانید Play Integrity API را در برنامه خود ادغام کنید.

دستورالعمل ها را برای ارائه دهندگان SDK تنظیم کنید

ارائه دهندگان SDK باید از پروژه Google Cloud خود برای فراخوانی Play Integrity API استفاده کنند، به طوری که استفاده از API به SDK نسبت داده شود و نه به برنامه های فردی که از SDK استفاده می کنند. این بدان معناست که برنامه‌هایی که از SDK شما استفاده می‌کنند، نیازی به راه‌اندازی جداگانه Play Integrity API ندارند. درخواست‌های شما برای Play Integrity API به‌طور خودکار در استفاده از API SDK به حساب می‌آید و نه برنامه.

توسعه دهندگان SDK دو گزینه برای راه اندازی Play Integrity API دارند، کنسول Google Play SDK یا Google Cloud Console.

با فعال کردن پاسخ‌های Play Integrity API در کنسول SDK Google Play، به گزینه‌های پیکربندی اضافی دسترسی پیدا می‌کنید. به یکپارچگی SDK بروید و روی تنظیمات کلیک کنید. در قسمت پیکربندی پروژه، پیوند پروژه ابری را انتخاب کنید. پروژه Cloud را که می‌خواهید به SDK خود پیوند دهید، انتخاب کنید و این پاسخ‌های Play Integrity API را فعال می‌کند. اکنون می توانید Play Integrity API را در SDK خود ادغام کنید. توجه داشته باشید که دسترسی به کنسول SDK Google Play منوط به معیارهای واجد شرایط بودن است.

از Google Cloud Console استفاده کنید

می‌توانید پاسخ‌های Play Integrity API را از Google Cloud Console خود فعال کنید. در Google Cloud Console خود، یک پروژه Cloud جدید ایجاد کنید یا یک پروژه Cloud موجود را انتخاب کنید که می‌خواهید با Play Integrity API استفاده کنید. به API ها و سرویس ها بروید. فعال کردن API ها و خدمات را انتخاب کنید. Play Integrity API را جستجو کنید و سپس آن را فعال کنید . اکنون می توانید Play Integrity API را در SDK خود ادغام کنید.

درخواست‌های روزانه Play Integrity API SDK خود را افزایش دهید

ارائه دهندگان SDK که می خواهند حداکثر درخواست روزانه خود را افزایش دهند باید فرم درخواست سهمیه را تکمیل کنند. در بخش نظرات باز، مشخص کنید که در حال درخواست SDK هستید و مختصات Maven خود ( groupId:artifactId ) یا یک URL به SDK خود اضافه کنید.

محدودیت های استفاده از Integrity API

برنامه شما در هر روز حداکثر 10000 کل درخواست برای هر برنامه خواهد داشت. اگر برنامه شما نیاز به افزایش تعداد کاربر دارد، می‌توانید با دنبال کردن دستورالعمل‌های زیر، درخواست افزایش این حداکثر روزانه را بدهید.

اقدام سهمیه روزانه در هر برنامه یادداشت ها
درخواست های توکن 10000 بین درخواست‌های کلاسیک و آماده‌سازی نشانه‌های استاندارد مشترک است
رمزگشایی توکن در سرورهای گوگل 10000 بین درخواست های کلاسیک و استاندارد به اشتراک گذاشته شده است

حداکثر تعداد درخواست های روزانه خود را افزایش دهید

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

برای درخواست افزایش حداکثر تعداد درخواست‌های روزانه، موارد زیر را انجام دهید:

  1. پروژه Google Cloud را که برای Play Integrity API در Play Console استفاده می‌کنید پیوند دهید.
  2. اطمینان حاصل کنید که منطق API از جمله استراتژی تکرار توصیه شده را به درستی پیاده سازی می کنید.
  3. با استفاده از این فرم درخواست افزایش سهمیه کنید.

افزایش سهمیه Play Integrity API ممکن است تا یک هفته طول بکشد، بنابراین اکیداً توصیه می‌کنیم استفاده از Play Integrity API خود را در کنسول Google Play یا کنسول Google Cloud خود نظارت کنید، جایی که می‌توانید هشدارهای سهمیه را نیز تنظیم کنید تا از وقفه در سرویس خود جلوگیری کنید.

افزایش سهمیه به طور خودکار هم برای تماس مشتری برای ایجاد توکن های یکپارچگی و هم برای فراخوانی سرور برای رمزگشایی و تأیید توکن های یکپارچگی اعمال می شود.

Play Integrity API را در برنامه خود ادغام کنید

برای ادغام Play Integrity API در برنامه یا SDK خود، بسته به محیط توسعه خود یکی از موارد زیر را انجام دهید:

کاتلین یا جاوا

جدیدترین کتابخانه اندروید برای Play Integrity API از مخزن Maven Google در دسترس است. وابستگی زیر را به فایل build.gradle برنامه خود اضافه کنید:

implementation 'com.google.android.play:integrity:1.4.0'

وحدت

بخش‌های زیر نحوه ادغام و راه‌اندازی Google Play Integrity API برای پروژه‌های Unity را شرح می‌دهند که نسخه‌های Unity پشتیبانی‌شده، روش‌های نصب و راه‌اندازی محیط را پوشش می‌دهد.

نسخه های Unity پشتیبانی شده

  • همه نسخه‌های 2019.x، 2020.x و جدیدتر پشتیبانی می‌شوند.
  • اگر از Unity 2018.x استفاده می کنید، نسخه 2018.4 یا جدیدتر پشتیبانی می شود.
  • Unity 2017.x و نسخه های قدیمی تر پشتیبانی نمی شوند.

محیط توسعه خود را تنظیم کنید

OpenUPM-CLI

اگر OpenUPM CLI را نصب کرده اید، می توانید رجیستری OpenUPM را با دستور زیر نصب کنید:

openupm add com.google.play.integrity

OpenUPM

  1. تنظیمات مدیریت بسته را با انتخاب گزینه منوی Unity Edit > Project Settings > Package Manager باز کنید.

  2. OpenUPM را به عنوان یک رجیستری با محدوده به پنجره Package Manager اضافه کنید:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
      com.google.play.common
      com.google.play.core
      com.google.play.integrity
    
  3. منوی مدیریت بسته را با انتخاب گزینه منوی Unity Window > Package Manager باز کنید.

  4. منوی کشویی مدیریت دامنه را برای انتخاب My Registries تنظیم کنید.

  5. افزونه Google Play Integrity برای بسته Unity را از لیست بسته انتخاب کنید و Install را فشار دهید.

واردات از GitHub

  1. آخرین نسخه .unitypackage را از GitHub دانلود کنید.

  2. فایل .unitypackage را با انتخاب گزینه منوی Unity Assets > Import package > Custom Package و وارد کردن همه موارد وارد کنید.

موتور غیر واقعی

بخش‌های زیر نحوه ادغام و راه‌اندازی Google Play Integrity API برای پروژه‌های Unreal Engine را شرح می‌دهند.

پشتیبانی از نسخه های Unreal Engine

این افزونه از Unreal Engine 5.0 و تمامی نسخه های بعدی پشتیبانی می کند.

محیط توسعه خود را تنظیم کنید

  1. افزونه Play Unreal Engine را از مخزن GitHub دانلود کنید.

  2. پوشه GooglePlay را در داخل پوشه Plugins خود در پروژه Unreal Engine خود کپی کنید.

  3. پروژه Unreal Engine خود را باز کنید و روی Edit → Plugins کلیک کنید.

  4. Google Play را جستجو کنید و چک باکس Enabled را علامت بزنید.

  5. پروژه بازی را دوباره راه اندازی کنید و یک ساخت را راه اندازی کنید.

  6. فایل Build.cs پروژه خود را باز کنید و ماژول PlayIntegrity به PublicDependencyModuleNames اضافه کنید:

    using UnrealBuildTool;
    
    public class MyGame : ModuleRules
    {
      public MyGame(ReadOnlyTargetRules Target) : base(Target)
      {
        // ...
    
        PublicDependencyModuleNames.Add("PlayIntegrity");
    
        // ...
      }
    }
    

بومی

Play Core Native SDK 1.13.0 یا بالاتر را نصب کنید. برای دستورالعمل‌ها، راهنمای تنظیم محیط توسعه Play Core Native را ببینید.

پیکربندی پاسخ های API (اختیاری)

پاسخ API شامل احکام پیش‌فرض است که در هر درخواست بازگردانده می‌شود. اگر ادغام Play Integrity API خود را در Play Console راه‌اندازی کنید، می‌توانید پاسخ API خود را سفارشی کنید.

پاسخ های پیش فرض

احکام یکپارچگی زیر به طور پیش‌فرض در پاسخ Play Integrity API بازگردانده می‌شوند:

فیلد پاسخ ارزش توضیحات
یکپارچگی دستگاه MEETS_DEVICE_INTEGRITY این برنامه بر روی یک دستگاه واقعی دارای گواهی Play Protect دارای Android اجرا می شود. در Android 13 و بالاتر، اثبات سخت افزاری وجود دارد که نشان می دهد بوت لودر دستگاه قفل است و سیستم عامل اندروید بارگذاری شده یک تصویر تایید شده سازنده دستگاه است.
خالی (یک مقدار خالی) برنامه روی دستگاهی اجرا می‌شود که نشانه‌های حمله (مانند اتصال API) یا به خطر افتادن سیستم (مانند روت شدن) دارد، یا برنامه روی دستگاه فیزیکی اجرا نمی‌شود (مانند شبیه‌سازی که بررسی‌های یکپارچگی Google Play را رد نمی‌کند).
جزئیات حساب را پخش کنید LICENSED کاربر دارای حق برنامه است. به عبارت دیگر، کاربر برنامه شما را از Google Play روی دستگاه خود نصب یا به روز کرد.
UNLICENSED کاربر حق برنامه ندارد. این زمانی اتفاق می‌افتد که، برای مثال، کاربر برنامه شما را به صورت جانبی بارگذاری می‌کند یا آن را از Google Play خریداری نمی‌کند.
UNEVALUATED جزئیات مجوز ارزیابی نشد زیرا یک الزام از قلم افتاده بود. این ممکن است به دلایل مختلفی رخ دهد، از جمله موارد زیر:
  • دستگاه به اندازه کافی قابل اعتماد نیست.
  • کاربر وارد Google Play نشده است.
  • نسخه برنامه نصب شده شما در دستگاه برای Google Play ناشناخته است.
یکپارچگی برنامه PLAY_RECOGNIZED برنامه و گواهی با نسخه های توزیع شده توسط Google Play مطابقت دارند.
UNRECOGNIZED_VERSION گواهی یا نام بسته با سوابق Google Play مطابقت ندارد.
UNEVALUATED یکپارچگی برنامه ارزیابی نشد. یک نیاز ضروری از قلم افتاده بود، مانند دستگاه به اندازه کافی قابل اعتماد نبود.

پاسخ های مشروط

اگر در Google Play Games برای رایانه شخصی توزیع کنید، به طور خودکار برای دریافت یک برچسب اضافی در حکم یکپارچگی دستگاه شرکت خواهید کرد:

فیلد پاسخ برچسب بزنید توضیحات
یکپارچگی دستگاه MEETS_VIRTUAL_INTEGRITY این برنامه بر روی یک شبیه ساز اندرویدی اجرا می شود که توسط سرویس های Google Play پشتیبانی می شود. شبیه ساز بررسی های یکپارچگی سیستم را انجام می دهد و الزامات اصلی سازگاری اندروید را برآورده می کند.

پاسخ های اختیاری

اگر ادغام Play Integrity API خود را در Play Console یا Play SDK Console راه‌اندازی کرده‌اید، می‌توانید برای دریافت اطلاعات در پاسخ API خود شرکت کنید.

برای ایجاد تغییرات در پاسخ‌های API خود، از Play Console دیدن کنید و به Release > App integrity بروید. در بخش پاسخ‌ها ، تغییرات خود را ویرایش و ذخیره کنید.

اطلاعات اختیاری دستگاه و فراخوانی دستگاه

برنامه‌ها و SDK‌ها می‌توانند برچسب‌های دستگاه اضافی را در حکم یکپارچگی دستگاه انتخاب کنند. پس از انتخاب برای دریافت برچسب‌های اضافی، در صورت رعایت هر یک از معیارهای برچسب، پاسخ یکپارچگی شامل چندین برچسب برای یک دستگاه می‌شود. شما می توانید سرور باطن خود را آماده کنید تا بسته به دامنه پاسخ های ممکن رفتار متفاوتی داشته باشد. برای مثال، دستگاهی که سه برچسب ( MEETS_STRONG_INTEGRITY ، MEETS_DEVICE_INTEGRITY ، و MEETS_BASIC_INTEGRITY ) برمی گرداند، می تواند بیش از دستگاهی که فقط یک برچسب را برمی گرداند ( MEETS_BASIC_INTEGRITY ) قابل اعتماد باشد.

می‌توانید ویژگی‌های دستگاه را انتخاب کنید، که به شما می‌گوید نسخه Android SDK سیستم عامل Android در حال اجرا بر روی دستگاه است. در آینده، ممکن است با سایر ویژگی های دستگاه گسترش یابد.

می‌توانید در فعالیت اخیر دستگاه شرکت کنید. فعالیت اخیر دستگاه سطحی از LEVEL_1 (تعداد کم درخواست) تا LEVEL_4 (تعداد زیاد درخواست) را برمی‌گرداند. به عنوان مثال، دستگاهی که سطح فعالیت بسیار بالاتری نسبت به معمول برنامه شما برمی گرداند، ممکن است در تلاش باشد تعداد زیادی توکن یکپارچگی را برای توزیع در دستگاه های غیرقابل اعتماد تولید کند.

برنامه‌ها همچنین می‌توانند در فراخوانی دستگاه شرکت کنند. فراخوانی دستگاه به شما امکان می‌دهد برخی از داده‌های سفارشی را برای هر دستگاه با دستگاه‌های خاصی ذخیره کنید که می‌توانید پس از نصب مجدد برنامه‌تان بعداً در همان دستگاه، به‌طور قابل اعتماد آن‌ها را بازیابی کنید.

پس از شرکت در اطلاعات اختیاری دستگاه و فراخوانی دستگاه، پاسخ API شما شامل فیلدهای یکپارچگی دستگاه و پاسخ‌های جدید در حکم می‌شود:

فیلد پاسخ برچسب بزنید توضیحات
یکپارچگی دستگاه MEETS_BASIC_INTEGRITY این برنامه روی دستگاهی اجرا می‌شود که بررسی‌های اولیه یکپارچگی سیستم را انجام می‌دهد. بوت لودر دستگاه را می توان قفل یا باز کرد و وضعیت بوت را می توان تأیید یا تأیید نکرد. ممکن است دستگاه دارای گواهی «سپر ایمنی Play» نباشد، در این صورت Google نمی‌تواند هیچ گونه تضمینی برای امنیت، حفظ حریم خصوصی یا سازگاری برنامه ارائه دهد. در Android 13 و بالاتر، حکم MEETS_BASIC_INTEGRITY ایجاب می‌کند که ریشه تأیید اعتماد توسط Google ارائه شود.
MEETS_STRONG_INTEGRITY این برنامه بر روی یک دستگاه اصلی دارای گواهینامه Play Protect دارای سیستم عامل اندروید با به‌روزرسانی امنیتی اخیر اجرا می‌شود.
  • در Android 13 و بالاتر، حکم MEETS_STRONG_INTEGRITY به MEETS_DEVICE_INTEGRITY و به‌روزرسانی‌های امنیتی در سال گذشته برای همه پارتیشن‌های دستگاه، از جمله وصله پارتیشن سیستم عامل Android و وصله پارتیشن فروشنده، نیاز دارد.
  • در Android 12 و پایین‌تر، حکم MEETS_STRONG_INTEGRITY فقط به اثبات یکپارچگی بوت با پشتوانه سخت‌افزاری نیاز دارد و به دستگاه نیازی به به‌روزرسانی امنیتی اخیر ندارد . بنابراین، هنگام استفاده از MEETS_STRONG_INTEGRITY ، توصیه می‌شود نسخه Android SDK را در قسمت deviceAttributes نیز در نظر بگیرید.
ویژگی های دستگاه sdkVersion: 19, 20, ..., 36 نسخه SDK سیستم عامل اندروید که روی دستگاه اجرا می شود. این شماره نقشه‌ها را به Build.VERSION_CODES برگرداند.
خالی (یک مقدار خالی) نسخه SDK ارزیابی نمی شود زیرا یک نیاز ضروری از قلم افتاده است. در این مورد، فیلد sdkVersion تنظیم نشده است. بنابراین، قسمت deviceAttributes خالی است. این ممکن است اتفاق بیفتد زیرا:
  • دستگاه به اندازه کافی قابل اعتماد نیست.
  • مشکلات فنی روی دستگاه وجود داشت.
درخواست کد یکپارچگی استاندارد API در این دستگاه در آخرین ساعت در هر برنامه درخواست‌های رمز یکپارچگی API کلاسیک در این دستگاه در آخرین ساعت برای هر برنامه
فعالیت اخیر دستگاه LEVEL_1 (پایین ترین) 10 یا کمتر 5 یا کمتر
LEVEL_2 بین 11 تا 25 بین 6 تا 10
LEVEL_3 بین 26 تا 50 بین 11 تا 15
LEVEL_4 (بالاترین) بیش از 50 بیش از 15
UNEVALUATED فعالیت اخیر دستگاه ارزیابی نشد. این ممکن است اتفاق بیفتد زیرا:
  • دستگاه به اندازه کافی قابل اعتماد نیست.
  • نسخه برنامه نصب شده شما در دستگاه برای Google Play ناشناخته است.
  • مشکلات فنی روی دستگاه وجود داشت.
فراخوانی دستگاه values: bitFirst, bitSecond, bitThird اینها مقادیر بیتی هستند که در گذشته برای دستگاه خاصی تنظیم کرده اید. شما معنای هر بیت را تعیین می کنید. مقادیر سه بیتی به طور پیش فرض نادرست هستند.
writeDates: yyyymmFirst, yyyymmSecond, yyyymmThird اینها تاریخ نوشتن ارزش بیت در UTC با دقت به سال و ماه است. تاریخ نوشتن یک بیت فراخوان هر بار که بیت روی درست تنظیم شود به روز می شود و وقتی بیت روی نادرست تنظیم شود حذف می شود.

جزئیات محیط اختیاری

برنامه‌ها می‌توانند برای دریافت احکام اضافی درباره محیط‌زیست شرکت کنند. خطر دسترسی به برنامه به شما امکان می‌دهد بدانید که آیا برنامه‌های دیگری در حال اجرا هستند که می‌توانند صفحه را ضبط کنند، همپوشانی‌ها را نمایش دهند یا دستگاه را کنترل کنند. حکم Play Protect به شما امکان می دهد بدانید که آیا Play Protect در دستگاه فعال است یا خیر و آیا بدافزار شناخته شده ای پیدا کرده است یا خیر.

پس از شرکت در دریافت این احکام، پاسخ API شما شامل فیلد جزئیات محیط با حکم خواهد بود:

فیلد پاسخ ارزش توضیحات
حکم خطر دسترسی به برنامه KNOWN_INSTALLED برنامه ها توسط Google Play نصب می شوند یا توسط سازنده دستگاه روی پارتیشن سیستم از قبل بارگذاری می شوند.
KNOWN_CAPTURING برنامه‌های نصب‌شده توسط Google Play یا از پیش بارگذاری‌شده در دستگاه در حال اجرا هستند که می‌توانند برای خواندن یا گرفتن ورودی‌ها و خروجی‌های برنامه درخواست‌کننده، مانند برنامه‌های ضبط صفحه، استفاده شوند.
KNOWN_CONTROLLING برنامه‌های نصب‌شده توسط Google Play یا از پیش بارگذاری‌شده روی دستگاه در حال اجرا هستند که می‌توانند برای کنترل دستگاه و ورودی‌ها و خروجی‌های برنامه درخواست‌کننده، مانند برنامه‌های کنترل از راه دور، استفاده شوند.
KNOWN_OVERLAYS برنامه‌های نصب‌شده توسط Google Play یا از پیش بارگذاری‌شده در دستگاه در حال اجرا هستند که ممکن است هم‌پوشانی‌هایی را روی برنامه درخواست‌کننده نمایش دهند.
UNKNOWN_INSTALLED برنامه‌های دیگری نصب شده‌اند که توسط Google Play نصب نشده‌اند یا توسط سازنده دستگاه روی پارتیشن سیستم از قبل بارگذاری شده‌اند.
UNKNOWN_CAPTURING برنامه‌های دیگری در حال اجرا هستند (نصب شده توسط Play یا از پیش بارگذاری شده روی دستگاه) که می‌توانند برای خواندن یا گرفتن ورودی‌ها و خروجی‌های برنامه درخواست‌کننده، مانند برنامه‌های ضبط صفحه، استفاده شوند.
UNKNOWN_CONTROLLING برنامه‌های دیگری در حال اجرا هستند (نصب شده توسط Play یا از پیش بارگذاری شده روی دستگاه) که می‌توانند برای کنترل دستگاه و ورودی‌ها و خروجی‌های برنامه درخواست‌کننده، مانند برنامه‌های کنترل از راه دور، استفاده شوند.
UNKNOWN_OVERLAYS سایر برنامه‌ها در حال اجرا هستند (توسط Play نصب نشده یا از قبل روی دستگاه بارگذاری شده‌اند) که ممکن است همپوشانی‌هایی را روی برنامه درخواست‌کننده نمایش دهند.
خالی (یک مقدار خالی) در صورتی که یک نیاز ضروری از قلم افتاده باشد، خطر دسترسی به برنامه ارزیابی نمی شود. در این حالت فیلد appAccessRiskVerdict خالی است. این ممکن است به دلایل مختلفی رخ دهد، از جمله موارد زیر:
  • دستگاه به اندازه کافی قابل اعتماد نیست.
  • فاکتور فرم دستگاه تلفن، تبلت یا تاشو نیست.
  • دستگاه دارای Android 6 (سطح API 23) یا بالاتر نیست.
  • نسخه برنامه نصب شده شما در دستگاه برای Google Play ناشناخته است.
  • نسخه فروشگاه Google Play در دستگاه قدیمی است.
  • فقط بازی ها : حساب کاربری مجوز Play برای بازی ندارد.
  • یک درخواست استاندارد با پارامتر verdictOptOut استفاده شد.
  • یک درخواست استاندارد با نسخه کتابخانه Play Integrity API استفاده شد که هنوز از خطر دسترسی برنامه برای درخواست‌های استاندارد پشتیبانی نمی‌کند.
حکم Play Protect NO_ISSUES Play Protect روشن است و هیچ مشکلی در برنامه در دستگاه پیدا نکرد.
NO_DATA Play Protect روشن است اما هنوز هیچ اسکنی انجام نشده است. ممکن است دستگاه یا برنامه Play Store اخیراً بازنشانی شده باشد.
POSSIBLE_RISK Play Protect خاموش است.
MEDIUM_RISK Play Protect روشن است و برنامه‌های بالقوه مضر را روی دستگاه نصب کرده است.
HIGH_RISK Play Protect روشن است و برنامه‌های خطرناکی را روی دستگاه نصب کرده است.
UNEVALUATED حکم Play Protect ارزیابی نشد. یک نیاز ضروری از قلم افتاده بود، مانند دستگاه به اندازه کافی قابل اعتماد نبود.

پیکربندی تنظیمات درخواست کلاسیک (اختیاری)

اگر فقط قصد دارید درخواست های استاندارد API را انجام دهید، از این بخش رد شوید.

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

به Google اجازه دهید رمزگذاری پاسخ شما را مدیریت کند (پیش‌فرض و توصیه‌شده)

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

کلیدهای رمزگذاری پاسخ من را مدیریت و دانلود کنید

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

به یاد داشته باشید که رمز دریافتی را از داخل برنامه مشتری خود رمزگشایی یا تأیید نکنید و هرگز کلیدهای رمزگشایی را در معرض برنامه مشتری قرار ندهید.

قبل از اینکه استراتژی مدیریت رمزگذاری پاسخ خود را در Play Console تغییر دهید، مطمئن شوید که سرور شما به درستی پیکربندی شده است تا رمزگشایی و تأیید یکپارچگی نشانه‌های سرورهای Google Play را تأیید کند تا از اختلال جلوگیری شود.

بین کلیدهای رمزگذاری پاسخ مدیریت شده و خود مدیریت شده توسط Google جابجا شوید

اگر Google در حال حاضر رمزگذاری پاسخ شما را مدیریت می‌کند، و می‌خواهید کلیدهای رمزگذاری پاسختان را خودتان مدیریت و دانلود کنید، این مراحل را دنبال کنید:

  1. وارد کنسول Play شوید.
  2. برنامه ای را انتخاب کنید که از Play Integrity API استفاده می کند.
  3. در بخش Release در منوی سمت چپ، به App integrity بروید.
  4. در کنار Play Integrity API ، روی تنظیمات کلیک کنید.
  5. در بخش درخواست‌های کلاسیک صفحه، در کنار رمزگذاری پاسخ ، روی ویرایش کلیک کنید.
  6. در پنجره ای که ظاهر می شود، روی Manage کلیک کنید و کلیدهای رمزگذاری پاسخ من را دانلود کنید .
  7. دستورالعمل ها را برای آپلود کلید عمومی دنبال کنید.
  8. پس از اینکه پنجره نشان داد که آپلود با موفقیت انجام شده است، روی ذخیره کلیک کنید و کلیدهای رمزگذاری شده شما به طور خودکار دانلود شوند.
  9. منطق سرور خود را به گونه‌ای تغییر دهید که با استفاده از کلیدهای رمزگذاری پاسخ، توکن‌های یکپارچگی را به صورت محلی، در محیط سرور امن خود، رمزگشایی و تأیید کنید.
  10. (اختیاری) وقتی کلیدهای رمزگذاری پاسخ خود را خود مدیریت می کنید، برنامه شما همچنان می تواند برای رمزگشایی و تأیید پاسخ به سرور Google Play برگردد.

اگر کلیدهای رمزگذاری پاسخ خود را خودتان مدیریت می‌کنید و می‌خواهید که Google رمزگذاری پاسخ شما را مدیریت کند، این مراحل را دنبال کنید:

  1. منطق سرور خود را طوری تغییر دهید که فقط در سرورهای Google رمزگشایی و تأیید کنید.
  2. وارد کنسول Play شوید.
  3. برنامه ای را انتخاب کنید که از Play Integrity API استفاده می کند.
  4. در بخش Release در منوی سمت چپ، به App integrity بروید.
  5. در کنار Play Integrity API ، روی تنظیمات کلیک کنید.
  6. در بخش درخواست‌های کلاسیک صفحه، در کنار رمزگذاری پاسخ ، روی ویرایش کلیک کنید.
  7. در پنجره ای که ظاهر می شود، روی اجازه دهید Google رمزگذاری پاسخ من را مدیریت کند (توصیه می شود) کلیک کنید.
  8. روی ذخیره تغییرات کلیک کنید.
،

این صفحه نحوه تنظیم برنامه یا بازی خود را برای استفاده از Play Integrity API توضیح می دهد. باید پاسخ‌ها را از API فعال کنید و سپس باید API را در برنامه خود و سرور باطن برنامه خود ادغام کنید. پس از پیوند دادن پروژه Google Cloud که برای Play Integrity API در Google Play Console استفاده می‌کنید، گزینه‌های پیکربندی، ویژگی‌های آزمایشی و گزارش اضافی در دسترس می‌شوند.

پاسخ‌های Play Integrity API را فعال کنید

هر برنامه یا SDK که Play Integrity API را فراخوانی می‌کند باید از پروژه Google Cloud برای نظارت بر استفاده از API استفاده کند. برنامه‌های موجود در Google Play می‌توانند یک پروژه Cloud را در کنسول Google Play پیوند دهند تا پاسخ‌های Play Integrity API را فعال کنند. اگر می‌خواهید یک پروژه Cloud جدید ایجاد کنید یا برنامه شما منحصراً در خارج از Google Play توزیع شده است، می‌توانید پاسخ‌های Play Integrity API را از Google Cloud Console خود فعال کنید.

راه‌اندازی در کنسول Google Play (توصیه می‌شود)

با فعال کردن پاسخ‌های Play Integrity API در کنسول Google Play ، به گزینه‌های پیکربندی اضافی، ویژگی‌های آزمایشی و گزارش‌دهی API دسترسی خواهید داشت. این گزینه فقط برای برنامه های توزیع شده در Google Play در دسترس است. به Release > App integrity بروید. در بخش Play Integrity API، پیوند پروژه ابری را انتخاب کنید. پروژه Cloud را که می‌خواهید به برنامه خود پیوند دهید، انتخاب کنید تا پاسخ‌های Play Integrity API فعال شود. اکنون می توانید Play Integrity API را در برنامه خود ادغام کنید.

در Google Cloud Console راه اندازی کنید

در Google Cloud Console خود، یک پروژه Cloud جدید ایجاد کنید یا یک پروژه Cloud موجود را انتخاب کنید که می‌خواهید با Play Integrity API استفاده کنید. به API ها و سرویس ها بروید. فعال کردن API ها و خدمات را انتخاب کنید. Play Integrity API را جستجو کنید و سپس آن را فعال کنید . اکنون می توانید Play Integrity API را در برنامه خود ادغام کنید.

دستورالعمل ها را برای ارائه دهندگان SDK تنظیم کنید

ارائه دهندگان SDK باید از پروژه Google Cloud خود برای فراخوانی Play Integrity API استفاده کنند، به طوری که استفاده از API به SDK نسبت داده شود و نه به برنامه های فردی که از SDK استفاده می کنند. این بدان معناست که برنامه‌هایی که از SDK شما استفاده می‌کنند، نیازی به راه‌اندازی جداگانه Play Integrity API ندارند. درخواست‌های شما برای Play Integrity API به‌طور خودکار در استفاده از API SDK به حساب می‌آید و نه برنامه.

توسعه دهندگان SDK دو گزینه برای راه اندازی Play Integrity API دارند، کنسول Google Play SDK یا Google Cloud Console.

با فعال کردن پاسخ‌های Play Integrity API در کنسول SDK Google Play، به گزینه‌های پیکربندی اضافی دسترسی پیدا می‌کنید. به یکپارچگی SDK بروید و روی تنظیمات کلیک کنید. در قسمت پیکربندی پروژه، پیوند پروژه ابری را انتخاب کنید. پروژه Cloud را که می‌خواهید به SDK خود پیوند دهید، انتخاب کنید و این پاسخ‌های Play Integrity API را فعال می‌کند. اکنون می توانید Play Integrity API را در SDK خود ادغام کنید. توجه داشته باشید که دسترسی به کنسول SDK Google Play منوط به معیارهای واجد شرایط بودن است.

از Google Cloud Console استفاده کنید

می‌توانید پاسخ‌های Play Integrity API را از Google Cloud Console خود فعال کنید. در Google Cloud Console خود، یک پروژه Cloud جدید ایجاد کنید یا یک پروژه Cloud موجود را انتخاب کنید که می‌خواهید با Play Integrity API استفاده کنید. به API ها و سرویس ها بروید. فعال کردن API ها و خدمات را انتخاب کنید. Play Integrity API را جستجو کنید و سپس آن را فعال کنید . اکنون می توانید Play Integrity API را در SDK خود ادغام کنید.

درخواست‌های روزانه Play Integrity API SDK خود را افزایش دهید

ارائه دهندگان SDK که می خواهند حداکثر درخواست روزانه خود را افزایش دهند باید فرم درخواست سهمیه را تکمیل کنند. در بخش نظرات باز، مشخص کنید که در حال درخواست SDK هستید و مختصات Maven خود ( groupId:artifactId ) یا یک URL به SDK خود اضافه کنید.

محدودیت های استفاده از Integrity API

برنامه شما در هر روز حداکثر 10000 کل درخواست برای هر برنامه خواهد داشت. اگر برنامه شما نیاز به افزایش تعداد کاربر دارد، می‌توانید با دنبال کردن دستورالعمل‌های زیر، درخواست افزایش این حداکثر روزانه را بدهید.

اقدام سهمیه روزانه در هر برنامه یادداشت ها
درخواست های توکن 10000 بین درخواست‌های کلاسیک و آماده‌سازی نشانه‌های استاندارد مشترک است
رمزگشایی توکن در سرورهای گوگل 10000 بین درخواست های کلاسیک و استاندارد به اشتراک گذاشته شده است

حداکثر تعداد درخواست های روزانه خود را افزایش دهید

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

برای درخواست افزایش حداکثر تعداد درخواست‌های روزانه، موارد زیر را انجام دهید:

  1. پروژه Google Cloud را که برای Play Integrity API در Play Console استفاده می‌کنید پیوند دهید.
  2. اطمینان حاصل کنید که منطق API از جمله استراتژی تکرار توصیه شده را به درستی پیاده سازی می کنید.
  3. با استفاده از این فرم درخواست افزایش سهمیه کنید.

افزایش سهمیه Play Integrity API ممکن است تا یک هفته طول بکشد، بنابراین اکیداً توصیه می‌کنیم استفاده از Play Integrity API خود را در کنسول Google Play یا کنسول Google Cloud خود نظارت کنید، جایی که می‌توانید هشدارهای سهمیه را نیز تنظیم کنید تا از وقفه در سرویس خود جلوگیری کنید.

افزایش سهمیه به طور خودکار هم برای تماس مشتری برای ایجاد توکن های یکپارچگی و هم برای فراخوانی سرور برای رمزگشایی و تأیید توکن های یکپارچگی اعمال می شود.

Play Integrity API را در برنامه خود ادغام کنید

برای ادغام Play Integrity API در برنامه یا SDK خود، بسته به محیط توسعه خود یکی از موارد زیر را انجام دهید:

کاتلین یا جاوا

جدیدترین کتابخانه اندروید برای Play Integrity API از مخزن Maven Google در دسترس است. وابستگی زیر را به فایل build.gradle برنامه خود اضافه کنید:

implementation 'com.google.android.play:integrity:1.4.0'

وحدت

بخش‌های زیر نحوه ادغام و راه‌اندازی Google Play Integrity API برای پروژه‌های Unity را شرح می‌دهند که نسخه‌های Unity پشتیبانی‌شده، روش‌های نصب و راه‌اندازی محیط را پوشش می‌دهد.

نسخه های Unity پشتیبانی شده

  • همه نسخه‌های 2019.x، 2020.x و جدیدتر پشتیبانی می‌شوند.
  • اگر از Unity 2018.x استفاده می کنید، نسخه 2018.4 یا جدیدتر پشتیبانی می شود.
  • Unity 2017.x و نسخه های قدیمی تر پشتیبانی نمی شوند.

محیط توسعه خود را تنظیم کنید

OpenUPM-CLI

اگر OpenUPM CLI را نصب کرده اید، می توانید رجیستری OpenUPM را با دستور زیر نصب کنید:

openupm add com.google.play.integrity

OpenUPM

  1. تنظیمات مدیریت بسته را با انتخاب گزینه منوی Unity Edit > Project Settings > Package Manager باز کنید.

  2. OpenUPM را به عنوان یک رجیستری با محدوده به پنجره Package Manager اضافه کنید:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
      com.google.play.common
      com.google.play.core
      com.google.play.integrity
    
  3. منوی مدیریت بسته را با انتخاب گزینه منوی Unity Window > Package Manager باز کنید.

  4. منوی کشویی مدیریت دامنه را برای انتخاب My Registries تنظیم کنید.

  5. افزونه Google Play Integrity برای بسته Unity را از لیست بسته انتخاب کنید و Install را فشار دهید.

واردات از GitHub

  1. آخرین نسخه .unitypackage را از GitHub دانلود کنید.

  2. فایل .unitypackage را با انتخاب گزینه منوی Unity Assets > Import package > Custom Package و وارد کردن همه موارد وارد کنید.

موتور غیر واقعی

بخش‌های زیر نحوه ادغام و راه‌اندازی Google Play Integrity API برای پروژه‌های Unreal Engine را شرح می‌دهند.

پشتیبانی از نسخه های Unreal Engine

این افزونه از Unreal Engine 5.0 و تمامی نسخه های بعدی پشتیبانی می کند.

محیط توسعه خود را تنظیم کنید

  1. افزونه Play Unreal Engine را از مخزن GitHub دانلود کنید.

  2. پوشه GooglePlay را در داخل پوشه Plugins خود در پروژه Unreal Engine خود کپی کنید.

  3. پروژه Unreal Engine خود را باز کنید و روی Edit → Plugins کلیک کنید.

  4. Google Play را جستجو کنید و چک باکس Enabled را علامت بزنید.

  5. پروژه بازی را دوباره راه اندازی کنید و یک ساخت را راه اندازی کنید.

  6. فایل Build.cs پروژه خود را باز کنید و ماژول PlayIntegrity به PublicDependencyModuleNames اضافه کنید:

    using UnrealBuildTool;
    
    public class MyGame : ModuleRules
    {
      public MyGame(ReadOnlyTargetRules Target) : base(Target)
      {
        // ...
    
        PublicDependencyModuleNames.Add("PlayIntegrity");
    
        // ...
      }
    }
    

بومی

Play Core Native SDK 1.13.0 یا بالاتر را نصب کنید. برای دستورالعمل‌ها، راهنمای تنظیم محیط توسعه Play Core Native را ببینید.

پیکربندی پاسخ های API (اختیاری)

پاسخ API شامل احکام پیش‌فرض است که در هر درخواست بازگردانده می‌شود. اگر ادغام Play Integrity API خود را در Play Console راه‌اندازی کنید، می‌توانید پاسخ API خود را سفارشی کنید.

پاسخ های پیش فرض

احکام یکپارچگی زیر به طور پیش‌فرض در پاسخ Play Integrity API بازگردانده می‌شوند:

فیلد پاسخ ارزش توضیحات
یکپارچگی دستگاه MEETS_DEVICE_INTEGRITY این برنامه بر روی یک دستگاه واقعی دارای گواهی Play Protect دارای Android اجرا می شود. در Android 13 و بالاتر، اثبات سخت افزاری وجود دارد که نشان می دهد بوت لودر دستگاه قفل است و سیستم عامل اندروید بارگذاری شده یک تصویر تایید شده سازنده دستگاه است.
خالی (یک مقدار خالی) برنامه روی دستگاهی اجرا می‌شود که نشانه‌های حمله (مانند اتصال API) یا به خطر افتادن سیستم (مانند روت شدن) دارد، یا برنامه روی دستگاه فیزیکی اجرا نمی‌شود (مانند شبیه‌سازی که بررسی‌های یکپارچگی Google Play را رد نمی‌کند).
جزئیات حساب را پخش کنید LICENSED کاربر دارای حق برنامه است. به عبارت دیگر، کاربر برنامه شما را از Google Play روی دستگاه خود نصب یا به روز کرد.
UNLICENSED کاربر حق برنامه ندارد. این زمانی اتفاق می‌افتد که، برای مثال، کاربر برنامه شما را به صورت جانبی بارگذاری می‌کند یا آن را از Google Play خریداری نمی‌کند.
UNEVALUATED جزئیات مجوز ارزیابی نشد زیرا یک الزام از قلم افتاده بود. این ممکن است به دلایل مختلفی رخ دهد، از جمله موارد زیر:
  • دستگاه به اندازه کافی قابل اعتماد نیست.
  • کاربر به Google Play وارد نشده است.
  • نسخه برنامه شما که بر روی دستگاه نصب شده است برای Google Play ناشناخته است.
یکپارچگی کاربرد PLAY_RECOGNIZED برنامه و گواهینامه با نسخه های توزیع شده توسط Google Play مطابقت دارد.
UNRECOGNIZED_VERSION گواهی یا نام بسته با سوابق Google Play مطابقت ندارد.
UNEVALUATED یکپارچگی برنامه مورد ارزیابی قرار نگرفت. یک نیاز لازم از دست رفته است ، مانند دستگاه به اندازه کافی قابل اعتماد نیست.

پاسخهای شرطی

اگر به Google Play Games برای رایانه شخصی توزیع کنید ، به طور خودکار تصمیم می گیرید که یک برچسب اضافی در حکم یکپارچگی دستگاه دریافت کنید:

قسمت پاسخ برچسب بزنید توضیحات
یکپارچگی دستگاه MEETS_VIRTUAL_INTEGRITY این برنامه روی یک شبیه ساز Android که توسط Google Play Services ارائه شده است ، اجرا می شود. شبیه ساز سیستم های یکپارچگی سیستم را بررسی می کند و الزامات سازگاری هسته اندرویدی را برآورده می کند.

پاسخهای اختیاری

اگر یکپارچه سازی API Play Integrity API را در کنسول Play یا کنسول Play SDK تنظیم کرده اید ، می توانید در پاسخ API خود اطلاعاتی را انتخاب کنید.

برای ایجاد تغییراتی در پاسخ های API خود ، به کنسول Play مراجعه کرده و برای انتشار > یکپارچگی برنامه حرکت کنید. تحت پاسخ ، تغییرات خود را ویرایش و ذخیره کنید.

اطلاعات دستگاه اختیاری و فراخوان دستگاه

برنامه ها و SDK ها می توانند برچسب های اضافی دستگاه را در حکم یکپارچگی دستگاه انتخاب کنند. پس از تصمیم گیری برای دریافت برچسب های اضافی ، در صورت رعایت هر یک از معیارهای برچسب ، پاسخ یکپارچگی شامل چندین برچسب برای همان دستگاه خواهد بود. بسته به طیف وسیعی از پاسخ های احتمالی ، می توانید سرور پس زمینه خود را آماده کنید تا متفاوت رفتار کنید. به عنوان مثال ، دستگاهی که سه برچسب را برمی گرداند ( MEETS_STRONG_INTEGRITY ، MEETS_DEVICE_INTEGRITY و MEETS_BASIC_INTEGRITY ) می تواند بیش از دستگاهی باشد که فقط یک برچسب را برگرداند ( MEETS_BASIC_INTEGRITY ).

می توانید ویژگی های دستگاه را انتخاب کنید ، که نسخه Android SDK سیستم عامل Android را که روی دستگاه کار می کند به شما می گوید. در آینده ممکن است با سایر ویژگی های دستگاه گسترش یابد.

می توانید فعالیت دستگاه اخیر را انتخاب کنید. فعالیت دستگاه اخیر سطح اعم از LEVEL_1 (تعداد کم درخواست) را به LEVEL_4 (تعداد زیاد درخواست ها) باز می گرداند. به عنوان مثال ، دستگاهی که سطح فعالیت قابل توجهی بالاتر را نسبت به برنامه شما باز می گرداند ممکن است در تلاش باشد تعداد زیادی از نشانه های یکپارچگی را برای توزیع در دستگاه های غیرقابل اعتماد تولید کند.

برنامه ها همچنین می توانند به فراخوان دستگاه انتخاب کنند. یادآوری دستگاه به شما امکان می دهد تا برخی از داده های سفارشی و هر دستگاه را با دستگاه های خاص ذخیره کنید که می توانید با اطمینان از هنگام نصب مجدد برنامه بعداً در همان دستگاه ، با اطمینان بازیابی کنید.

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

قسمت پاسخ برچسب بزنید توضیحات
یکپارچگی دستگاه MEETS_BASIC_INTEGRITY این برنامه بر روی دستگاهی اجرا می شود که از بررسی های یکپارچگی سیستم اساسی عبور می کند. bootloader دستگاه را می توان قفل یا قفل کرد و حالت بوت قابل تأیید یا تأیید نیست. این دستگاه ممکن است دارای مجوز Play Protect نباشد ، در این صورت گوگل نمی تواند تضمین های امنیتی ، حریم خصوصی یا سازگاری برنامه را فراهم کند. در Android 13 و بالاتر ، حکم MEETS_BASIC_INTEGRITY مستلزم آن است که ریشه تأیید اعتماد توسط Google ارائه شود.
MEETS_STRONG_INTEGRITY این برنامه با یک به روزرسانی امنیتی اخیر بر روی یک دستگاه واقعی Protect Protect Android در حال اجرا است.
  • در Android 13 و بالاتر ، حکم MEETS_STRONG_INTEGRITY نیاز به به روزرسانی های MEETS_DEVICE_INTEGRITY و امنیتی در سال گذشته برای همه پارتیشن های دستگاه از جمله یک پچ پارتیشن Android OS و یک پچ پارتیشن فروشنده دارد.
  • در Android 12 و پایین ، حکم MEETS_STRONG_INTEGRITY فقط به اثبات سخت افزاری از یکپارچگی بوت نیاز دارد و نیازی به دستگاه به روزرسانی امنیتی اخیر ندارد . بنابراین ، هنگام استفاده از MEETS_STRONG_INTEGRITY ، توصیه می شود نسخه Android SDK را در قسمت deviceAttributes نیز در نظر بگیرید.
ویژگی های دستگاه sdkVersion: 19, 20, ..., 36 نسخه SDK سیستم عامل Android که روی دستگاه اجرا می شود. تعداد نقشه ها به Build.VERSION_CODES .
خالی (یک مقدار خالی) نسخه SDK ارزیابی نمی شود زیرا یک نیاز لازم از دست رفته است. در این حالت ، قسمت sdkVersion غیرقانونی است. بنابراین ، قسمت deviceAttributes خالی است. این می تواند اتفاق بیفتد زیرا:
  • دستگاه به اندازه کافی قابل اعتماد نیست.
  • مشکلات فنی در دستگاه وجود داشت.
درخواست های استاندارد یکپارچگی API در این دستگاه در آخرین ساعت در هر برنامه درخواست های توکن کلاسیک API در این دستگاه در آخرین ساعت در هر برنامه
فعالیت دستگاه اخیر LEVEL_1 (پایین ترین) 10 یا کمتر 5 یا کمتر
LEVEL_2 بین 11 تا 25 بین 6 تا 10
LEVEL_3 بین 26 تا 50 بین 11 تا 15
LEVEL_4 (بالاترین) بیش از 50 بیش از 15
UNEVALUATED فعالیت دستگاه اخیر ارزیابی نشده است. این می تواند اتفاق بیفتد زیرا:
  • دستگاه به اندازه کافی قابل اعتماد نیست.
  • نسخه برنامه شما که بر روی دستگاه نصب شده است برای Google Play ناشناخته است.
  • مشکلات فنی در دستگاه وجود داشت.
به یاد بیاورید values: bitFirst, bitSecond, bitThird این مقادیر بیتی است که در گذشته برای دستگاه خاص تعیین کرده اید. شما در مورد معنی هر بیت تصمیم می گیرید. مقادیر سه بیتی به طور پیش فرض نادرست است.
writeDates: yyyymmFirst, yyyymmSecond, yyyymmThird اینها تاریخ نوشتن مقدار کمی در UTC دقیق به سال و ماه است. تاریخ نوشتن بیت فراخوان هر بار که بیت روی درست تنظیم می شود به روز می شود و وقتی بیت روی کاذب تنظیم می شود حذف می شود.

جزئیات محیط اختیاری

برنامه ها می توانند برای دریافت حکم های اضافی در مورد محیط ، تصمیم بگیرند. Risk Risk App به شما امکان می دهد بدانید که آیا برنامه های دیگر در حال اجرا هستند که می توانند صفحه نمایش ، پوشش نمایشگر را ضبط کنند یا دستگاه را کنترل کنند. حكم Play Protect به شما امکان می دهد بدانید كه آیا Play Protect در دستگاه فعال است و آیا این بدافزار شناخته شده را پیدا كرده است یا خیر.

پس از تصمیم گیری برای دریافت این احکام ، پاسخ API شما شامل قسمت جزئیات محیط با حکم خواهد بود:

قسمت پاسخ ارزش توضیحات
حکم ریسک دسترسی به برنامه KNOWN_INSTALLED برنامه ها توسط Google Play نصب شده یا از قبل در پارتیشن سیستم توسط سازنده دستگاه بارگذاری شده اند.
KNOWN_CAPTURING برنامه های نصب شده توسط Google Play یا از قبل بارگذاری شده در دستگاه در حال اجرا هستند که می توانند برای خواندن یا ضبط ورودی ها و خروجی های برنامه درخواست کننده مانند برنامه های ضبط صفحه استفاده شوند.
KNOWN_CONTROLLING برنامه های نصب شده توسط Google Play یا از قبل بارگذاری شده در دستگاه در حال اجرا هستند که می توانند برای کنترل دستگاه و ورودی ها و خروجی های برنامه درخواست کننده مانند برنامه های کنترل از راه دور استفاده شوند.
KNOWN_OVERLAYS برنامه های نصب شده توسط Google Play یا از قبل بارگذاری شده در دستگاه در حال اجرا هستند که ممکن است در برنامه درخواست کننده پوشش نمایش داده شود.
UNKNOWN_INSTALLED برنامه های دیگر نصب شده اند که توسط Google Play نصب نشده یا از قبل در پارتیشن سیستم توسط سازنده دستگاه بارگیری نشده است.
UNKNOWN_CAPTURING برنامه های دیگر در حال اجرا هستند (توسط Play نصب نشده یا از قبل بارگذاری شده در دستگاه) که می تواند برای خواندن یا ضبط ورودی ها و خروجی های برنامه درخواست کننده مانند برنامه های ضبط صفحه استفاده شود.
UNKNOWN_CONTROLLING برنامه های دیگر در حال اجرا هستند (توسط Play نصب نشده یا از قبل بارگذاری شده در دستگاه) که می تواند برای کنترل دستگاه و ورودی ها و خروجی های برنامه درخواست کننده مانند برنامه های کنترل از راه دور استفاده شود.
UNKNOWN_OVERLAYS برنامه های دیگر در حال اجرا هستند (توسط Play نصب نشده یا از قبل بارگذاری شده در دستگاه) که ممکن است در برنامه درخواست کننده پوشش نمایش داده شود.
خالی (یک مقدار خالی) در صورت از دست رفتن یک نیاز لازم ، خطر دسترسی به برنامه ارزیابی نمی شود. در این حالت قسمت appAccessRiskVerdict خالی است. این ممکن است به دلایل مختلف از جمله موارد زیر رخ دهد:
  • دستگاه به اندازه کافی قابل اعتماد نیست.
  • ضریب فرم دستگاه تلفن ، رایانه لوحی یا تاشو نیست.
  • این دستگاه Android 6 (API سطح 23) یا بالاتر را اجرا نمی کند.
  • نسخه برنامه شما که بر روی دستگاه نصب شده است برای Google Play ناشناخته است.
  • نسخه فروشگاه Google Play در دستگاه منسوخ شده است.
  • فقط بازی ها : حساب کاربری مجوز بازی برای بازی ندارد.
  • یک درخواست استاندارد با پارامتر verdictOptOut استفاده شد.
  • یک درخواست استاندارد با نسخه کتابخانه API یکپارچگی بازی استفاده شد که هنوز از ریسک دسترسی برنامه برای درخواست های استاندارد پشتیبانی نمی کند.
بازی را محافظت کنید NO_ISSUES Play Protect روشن است و هیچ مشکلی در دستگاه پیدا نکرد.
NO_DATA Play Protect روشن است اما هنوز هیچ اسکن انجام نشده است. دستگاه یا برنامه Play Store ممکن است اخیراً بازنشانی شده باشد.
POSSIBLE_RISK Play Protect خاموش است.
MEDIUM_RISK Play Protect روشن است و برنامه های بالقوه مضر نصب شده بر روی دستگاه را پیدا کرده است.
HIGH_RISK Play Protect روشن است و برنامه های خطرناک نصب شده بر روی دستگاه را پیدا کرده است.
UNEVALUATED حكم محافظت از بازی مورد ارزیابی قرار نگرفت. یک نیاز لازم از دست رفته است ، مانند دستگاه به اندازه کافی قابل اعتماد نیست.

پیکربندی تنظیمات درخواست کلاسیک (اختیاری)

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

هنگامی که درخواست های کلاسیک را انجام می دهید ، به طور پیش فرض ، سرورهای Google Play رمزگذاری پاسخ را که برنامه شما هنگام تعامل با API Play Integrity API استفاده می کند ، مدیریت می کنند. در حالی که توصیه می کنیم از این گزینه پیش فرض استفاده کنید ، می توانید با دنبال کردن دستورالعمل های زیر ، کلیدهای رمزگذاری پاسخ خود را مدیریت و بارگیری کنید.

بگذارید Google رمزگذاری پاسخ شما را مدیریت کند (پیش فرض و توصیه شده)

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

کلیدهای رمزگذاری پاسخ من را مدیریت و بارگیری کنید

اگر می خواهید حکم یکپارچگی را به صورت محلی در محیط سرور امن خود رمزگشایی کنید ، می توانید کلیدهای رمزگذاری پاسخ خود را مدیریت و بارگیری کنید. برای مدیریت و بارگیری کلیدهای رمزگذاری پاسخ خود ، باید از کنسول Play استفاده کنید و برنامه شما علاوه بر هر کانال توزیع دیگر باید در Google Play نیز در دسترس باشد. دستورالعمل های زیر را دنبال کنید تا از کلیدهای رمزگذاری پاسخ خود مدیریت شده به Google Manifaced تبدیل شوید.

به یاد داشته باشید که نشانه های دریافت شده را از درون برنامه مشتری خود رمزگشایی یا تأیید نکنید و هرگز کلیدهای رمزگشایی را در برنامه مشتری قرار ندهید.

قبل از تغییر استراتژی مدیریت رمزگذاری پاسخ خود در کنسول Play ، اطمینان حاصل کنید که سرور شما به درستی پیکربندی شده است تا بتواند نشانه های یکپارچگی را در سرورهای Google Play انجام دهد تا از اختلال جلوگیری شود.

بین کلیدهای رمزگذاری پاسخ به مدیریت گوگل و خود مدیریت تغییر دهید

اگر Google در حال حاضر رمزگذاری پاسخ شما را مدیریت می کند ، و می خواهید برای مدیریت و بارگیری کلیدهای رمزگذاری پاسخ خود ، خود را تغییر دهید ، این مراحل را دنبال کنید:

  1. وارد کنسول بازی شوید.
  2. برنامه ای را انتخاب کنید که از API Play Integrity استفاده می کند.
  3. در بخش انتشار منوی سمت چپ ، به یکپارچگی برنامه بروید.
  4. در کنار بازی API یکپارچگی ، روی تنظیمات کلیک کنید.
  5. در بخش درخواست های کلاسیک صفحه ، در کنار رمزگذاری پاسخ ، روی ویرایش کلیک کنید.
  6. در پنجره ای که ظاهر می شود ، روی مدیریت و بارگیری کلیدهای رمزگذاری پاسخ من کلیک کنید.
  7. دستورالعمل های بارگذاری یک کلید عمومی را دنبال کنید.
  8. بعد از اینکه پنجره نشان می دهد که بارگذاری موفقیت آمیز بوده است ، روی ذخیره و بارگیری کلیدهای رمزگذاری شده خود به طور خودکار کلیک کنید.
  9. منطق سرور خود را تغییر دهید تا با استفاده از کلیدهای رمزگذاری پاسخ خود ، نشانه های یکپارچگی را به صورت محلی ، در محیط سرور امن خود رمزگشایی و تأیید کنید.
  10. (اختیاری) هنگامی که شما کلیدهای رمزگذاری پاسخ خود را مدیریت می کنید ، برنامه شما هنوز هم می تواند به سرور Google Play برگردد تا پاسخ را رمزگشایی و تأیید کند.

اگر کلیدهای رمزگذاری پاسخ خود را خود مدیریت می کنید ، و می خواهید تغییر دهید تا Google رمزگذاری پاسخ خود را مدیریت کند ، این مراحل را دنبال کنید:

  1. منطق سرور خود را تغییر دهید تا فقط در سرورهای Google رمزگشایی و تأیید کنید.
  2. وارد کنسول بازی شوید.
  3. برنامه ای را انتخاب کنید که از API Play Integrity استفاده می کند.
  4. در بخش انتشار منوی سمت چپ ، به یکپارچگی برنامه بروید.
  5. در کنار بازی API یکپارچگی ، روی تنظیمات کلیک کنید.
  6. در بخش درخواست های کلاسیک صفحه ، در کنار رمزگذاری پاسخ ، روی ویرایش کلیک کنید.
  7. در پنجره ای که ظاهر می شود ، کلیک کنید اجازه دهید Google رمزگذاری پاسخ من را مدیریت کند (توصیه می شود) .
  8. روی ذخیره تغییرات کلیک کنید.