بازیهای Google Play روی رایانه شخصی از محافظت از یکپارچگی از طریق Play Integrity API و چندین ویژگی دیگر Google Play پشتیبانی میکند تا اطمینان حاصل شود که بازی شما دستکاری نشده یا از منبع غیرقابل اعتمادی نصب نشده است.
Play Integrity API
Play Integrity API به محافظت از بازیهای شما در برابر تعاملات احتمالی مخاطرهآمیز و متقلبانه کمک میکند. API شما را قادر می سازد تا حملات و سوء استفاده هایی مانند تقلب، تقلب و دسترسی غیرمجاز را کاهش دهید. Play Integrity API جایگزین SafetyNet Attestation API (SNAA) و Play Licensing API می شود. SNAA با بازی های Google Play روی رایانه شخصی کار نمی کند.
فیلد یکپارچگی دستگاه
فیلد deviceRecognitionVerdict
حاوی یک مقدار واحد است، deviceRecognitionVerdict
، که نشان میدهد دستگاه چقدر میتواند یکپارچگی برنامه را اعمال کند. به طور پیش فرض، deviceRecognitionVerdict
می تواند یکی از این مقادیر را داشته باشد:
-
MEETS_DEVICE_INTEGRITY
: این برنامه در دستگاهی با سیستم عامل Android با خدمات Google Play اجرا می شود. دستگاه بررسی های یکپارچگی سیستم را انجام می دهد و شرایط سازگاری Android را برآورده می کند. -
MEETS_VIRTUAL_INTEGRITY
: این برنامه در یک محیط اندروید مجازی با سرویسهای Google Play اجرا میشود که در حال حاضر محدود به بازیهای Google Play در رایانه شخصی است. این محیط الزامات اصلی سازگاری Android را برآورده میکند و بررسیهای یکپارچگی Google Play را انجام میدهد. - هیچ (یک مقدار خالی): برنامه روی دستگاهی اجرا میشود که نشانههایی از حمله (مانند اتصال API) یا به خطر افتادن سیستم (مانند روت شدن) دارد، یا برنامه روی دستگاهی غیر فیزیکی (مانند شبیه ساز) که بررسی های یکپارچگی Google Play را رد نمی کند.
Play Integrity API از مقدار deviceRecognitionVerdict
MEETS_VIRTUAL_INTEGRITY
استفاده میکند تا نشان دهد بازی در بازیهای Google Play روی رایانه شخصی اجرا میشود. در اینجا نمونه ای از پاسخ گذرا از Play Integrity API آمده است:
deviceIntegrity: {
// "MEETS_VIRTUAL_INTEGRITY" indicates the game is running on Google Play Games on PC
deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}
اگر بازی چند پلتفرمی را هم در تلفن همراه و هم در بازیهای Google Play روی رایانه شخصی دارید، مطمئن شوید که منطق اعتبارسنجی شما برای MEETS_VIRTUAL_INTEGRITY
و MEETS_DEVICE_INTEGRITY
بررسی میشود.
حفاظت از یکپارچگی خودکار
حفاظت از یکپارچگی خودکار یک بررسی زمان اجرا است که هر بار که بازی شما باز می شود توسط Google Play اضافه می شود. اگر بازی شما توسط Google Play دستکاری شده یا نصب نشده است، محافظت خودکار از یکپارچگی میتواند از اجرای آن جلوگیری کند. حفاظت از یکپارچگی خودکار دستگاه را بررسی نمی کند. برای دریافت وضعیت یکپارچگی دستگاه باید از Play Integrity API استفاده کنید.
حفاظت از یکپارچگی خودکار با ویژگی های زیر به محافظت از یکپارچگی کمک می کند:
- نیاز به نصب از Google Play : چکی اضافه می کند تا ببیند آیا برنامه شما از Google Play نصب شده است یا خیر. اگر این بررسی ناموفق باشد، از کاربر خواسته میشود برنامه شما را از Google Play دریافت کند. این ویژگی به طور پیش فرض روشن است، اما می توانید آن را خاموش کنید. خاموش کردن این ویژگی، حفاظت از دزدی دریایی را برای برنامههای پولی غیرفعال میکند.
- محدود کردن اصلاح : یک چک اضافه می کند تا ببیند آیا برنامه شما اصلاح نشده است یا خیر. اگر این بررسی ناموفق باشد، برنامه اجرا نمی شود. این ویژگی همیشه روشن است و نمی توان آن را خاموش کرد.
- محدود کردن مهندسی معکوس : مبهم سازی و سایر تکنیک های پیشرفته را اضافه می کند که حذف چک های زمان اجرا را برای مهاجم دشوار می کند. این ویژگی همیشه روشن است و نمی توان آن را خاموش کرد.
حفاظت از یکپارچگی خودکار به برنامهنویس نیاز دارد که در آن شرکت کند. این نیاز به تغییر کد یا کار توسعهدهنده ندارد.
حفاظت ها بدون وجود اتصال داده یا اینترنت اجرا می شوند. هیچ مؤلفه سمت سرور مورد نیاز نیست. اگر برنامه Play Store در دستگاه برای مدت طولانی آفلاین بوده باشد، بررسی «نیاز به نصب از Play» به صورت دورهای نیاز به اتصال داده دارد.