این صفحه نحوه تنظیم برنامه یا بازی خود را برای استفاده از 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.
استفاده از Google Play SDK 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 خود اضافه کنید.
درخواستهای روزانه Play Integrity API خود را افزایش دهید
برنامه شما در هر روز حداکثر 10000 کل درخواست برای هر برنامه خواهد داشت. اگر برنامه شما نیاز به افزایش تعداد کاربر دارد، میتوانید با دنبال کردن دستورالعملهای زیر، درخواست افزایش این حداکثر روزانه را بدهید.
حداکثر تعداد درخواست های روزانه خود را افزایش دهید
برای واجد شرایط بودن برای افزایش حداکثر تعداد درخواستهای روزانه، برنامه شما باید علاوه بر سایر کانالهای توزیع، در Google Play نیز در دسترس باشد. حتی با افزایش حداکثر روزانه، باید به محدود کردن درخواستهای کلاسیک برای هر کاربر به اقدامات نادر و با ارزش برای حفظ دادههای کاربر و باتری ادامه دهید.
برای درخواست افزایش حداکثر تعداد درخواستهای روزانه، موارد زیر را انجام دهید:
- پروژه Google Cloud را که برای Play Integrity API در Play Console استفاده میکنید پیوند دهید.
- اطمینان حاصل کنید که منطق API از جمله استراتژی تکرار توصیه شده را به درستی پیاده سازی می کنید.
- با استفاده از این فرم درخواست افزایش سهمیه کنید.
افزایش سهمیه Play Integrity API ممکن است تا یک هفته طول بکشد، بنابراین ما قویاً توصیه میکنیم استفاده از Play Integrity API خود را در کنسول Google Play خود یا در Google Cloud Console خود نظارت کنید، جایی که میتوانید هشدارهای سهمیه را نیز تنظیم کنید تا از وقفه در کار خود جلوگیری کنید. خدمات
افزایش سهمیه درخواست کلاسیک به طور خودکار هم برای تماس مشتری برای تولید توکنهای یکپارچگی و هم برای تماس سرور برای رمزگشایی و تأیید توکنهای یکپارچگی اعمال میشود. افزایش سهمیه درخواست استاندارد برای رمزگشایی و تأیید توکنهای یکپارچگی به فراخوانی سرور اعمال میشود.
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 را برای Unity 1.3.0 یا بالاتر نصب کنید. برای دستورالعملها، نحوه نصب بستههای Google برای Unity را ببینید.
- همه نسخههای 2019.x، 2020.x و جدیدتر پشتیبانی میشوند.
- اگر از Unity 2018.x استفاده می کنید، نسخه 2018.4 یا جدیدتر پشتیبانی می شود.
- Unity 2017.x و نسخه های قدیمی تر پشتیبانی نمی شوند.
بومی
Play Core Native SDK 1.13.0 یا بالاتر را نصب کنید. برای دستورالعملها، راهنمای تنظیم محیط توسعه Play Core Native را ببینید.
پیکربندی پاسخ های API (اختیاری)
پاسخ API شامل احکام پیشفرض است که در هر درخواست بازگردانده میشود. اگر ادغام Play Integrity API خود را در Play Console راهاندازی کنید، میتوانید پاسخ API خود را سفارشی کنید.
پاسخ های پیش فرض
احکام یکپارچگی زیر به طور پیشفرض در پاسخ Play Integrity API بازگردانده میشوند:
فیلد پاسخ | ارزش | توضیحات |
---|---|---|
یکپارچگی دستگاه | MEETS_DEVICE_INTEGRITY | این برنامه بر روی یک دستگاه اندرویدی اجرا می شود که توسط سرویس های Google Play پشتیبانی می شود. دستگاه بررسی های یکپارچگی سیستم را انجام می دهد و شرایط سازگاری Android را برآورده می کند. |
خالی (یک مقدار خالی) | برنامه روی دستگاهی اجرا میشود که نشانههای حمله (مانند اتصال API) یا به خطر افتادن سیستم (مانند روت شدن) دارد، یا برنامه روی یک دستگاه فیزیکی اجرا نمیشود (مانند شبیهسازیهایی که از یکپارچگی Google Play عبور نمیکنند). چک ها). | |
جزئیات حساب را پخش کنید | LICENSED | کاربر دارای حق برنامه است. به عبارت دیگر، کاربر برنامه شما را از Google Play روی دستگاه خود نصب یا به روز کرد. |
UNLICENSED | کاربر حق برنامه ندارد. این زمانی اتفاق میافتد که، برای مثال، کاربر برنامه شما را به صورت جانبی بارگذاری میکند یا آن را از Google Play خریداری نمیکند. | |
UNEVALUATED | جزئیات مجوز ارزیابی نشد زیرا یک الزام از قلم افتاده بود. این ممکن است به دلایل مختلفی رخ دهد، از جمله موارد زیر:
| |
یکپارچگی برنامه | 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
) قابل اعتماد باشد.
همچنین میتوانید در فعالیت اخیر دستگاه شرکت کنید. فعالیت اخیر دستگاه سطحی از LEVEL_1
(تعداد کم درخواست) تا LEVEL_4
(تعداد زیاد درخواست) را برمیگرداند. به عنوان مثال، دستگاهی که سطح فعالیت بسیار بالاتری نسبت به معمول برنامه شما برمی گرداند، ممکن است در تلاش باشد تعداد زیادی توکن یکپارچگی را برای توزیع در دستگاه های غیرقابل اعتماد تولید کند.
همچنین میتوانید ویژگیهای دستگاه را انتخاب کنید، که به شما میگوید نسخه Android SDK سیستم عامل Android در حال اجرا بر روی دستگاه است. در آینده، ممکن است با سایر ویژگی های دستگاه گسترش یابد.
فیلد پاسخ | برچسب بزنید | توضیحات | |
---|---|---|---|
یکپارچگی دستگاه | MEETS_BASIC_INTEGRITY | این برنامه روی دستگاهی اجرا میشود که بررسیهای اولیه یکپارچگی سیستم را انجام میدهد. ممکن است دستگاه الزامات سازگاری Android را نداشته باشد و ممکن است برای اجرای خدمات Google Play تأیید نشده باشد. به عنوان مثال، ممکن است دستگاه از یک نسخه ناشناخته اندروید استفاده کند، ممکن است بوت لودر آنلاک شده داشته باشد یا ممکن است توسط سازنده تایید نشده باشد. | |
MEETS_STRONG_INTEGRITY | این برنامه بر روی یک دستگاه اندرویدی اجرا میشود که توسط سرویسهای Google Play پشتیبانی میشود و دارای ضمانت قوی برای یکپارچگی سیستم مانند اثبات یکپارچگی بوت مبتنی بر سختافزار است. دستگاه بررسی های یکپارچگی سیستم را انجام می دهد و شرایط سازگاری Android را برآورده می کند. | ||
درخواست کد یکپارچگی استاندارد API در این دستگاه در آخرین ساعت در هر برنامه | درخواستهای رمز یکپارچگی API کلاسیک در این دستگاه در آخرین ساعت برای هر برنامه | ||
فعالیت اخیر دستگاه | LEVEL_1 (پایین ترین) | 10 یا کمتر | 5 یا کمتر |
LEVEL_2 | بین 11 تا 25 | بین 6 تا 10 | |
LEVEL_3 | بین 26 تا 50 | بین 11 تا 15 | |
LEVEL_4 (بالاترین) | بیش از 50 | بیش از 15 | |
UNEVALUATED | فعالیت اخیر دستگاه ارزیابی نشد. این ممکن است اتفاق بیفتد زیرا:
| ||
ویژگی های دستگاه | sdkVersion: 19, 20, ..., 35 | نسخه SDK سیستم عامل اندروید که روی دستگاه اجرا می شود. این شماره نقشهها را به Build.VERSION_CODES برگرداند. | |
خالی (یک مقدار خالی) | نسخه SDK ارزیابی نمی شود زیرا یک نیاز ضروری از قلم افتاده است. در این مورد، فیلد sdkVersion تنظیم نشده است. بنابراین، قسمت deviceAttributes خالی است. این ممکن است اتفاق بیفتد زیرا:
|
جزئیات محیط اختیاری
برنامهها میتوانند برای دریافت احکام اضافی درباره محیطزیست شرکت کنند. خطر دسترسی به برنامه به شما امکان میدهد بدانید که آیا برنامههای دیگری در حال اجرا هستند که میتوانند صفحه را ضبط کنند، همپوشانیها را نمایش دهند یا دستگاه را کنترل کنند. حکم 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 خالی است. این ممکن است به دلایل مختلفی رخ دهد، از جمله موارد زیر:
| |
حکم 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 در حال حاضر رمزگذاری پاسخ شما را مدیریت میکند، و میخواهید کلیدهای رمزگذاری پاسختان را خودتان مدیریت و دانلود کنید، این مراحل را دنبال کنید:
- وارد کنسول Play شوید.
- برنامه ای را انتخاب کنید که از Play Integrity API استفاده می کند.
- در بخش Release در منوی سمت چپ، به App integrity بروید.
- در کنار Play Integrity API ، روی تنظیمات کلیک کنید.
- در بخش درخواستهای کلاسیک صفحه، در کنار رمزگذاری پاسخ ، روی ویرایش کلیک کنید.
- در پنجره ای که ظاهر می شود، روی Manage کلیک کنید و کلیدهای رمزگذاری پاسخ من را دانلود کنید .
- دستورالعمل ها را برای آپلود کلید عمومی دنبال کنید.
- پس از اینکه پنجره نشان داد که آپلود با موفقیت انجام شده است، روی ذخیره کلیک کنید و کلیدهای رمزگذاری شده شما به طور خودکار دانلود شوند.
- منطق سرور خود را به گونهای تغییر دهید که با استفاده از کلیدهای رمزگذاری پاسخ، توکنهای یکپارچگی را به صورت محلی، در محیط سرور امن خود، رمزگشایی و تأیید کنید.
- (اختیاری) وقتی کلیدهای رمزگذاری پاسخ خود را خود مدیریت می کنید، برنامه شما همچنان می تواند برای رمزگشایی و تأیید پاسخ به سرور Google Play برگردد.
اگر کلیدهای رمزگذاری پاسخ خود را خودتان مدیریت میکنید و میخواهید که Google رمزگذاری پاسخ شما را مدیریت کند، این مراحل را دنبال کنید:
- منطق سرور خود را طوری تغییر دهید که فقط در سرورهای Google رمزگشایی و تأیید کنید.
- وارد کنسول Play شوید.
- برنامه ای را انتخاب کنید که از Play Integrity API استفاده می کند.
- در بخش Release در منوی سمت چپ، به App integrity بروید.
- در کنار Play Integrity API ، روی تنظیمات کلیک کنید.
- در بخش درخواستهای کلاسیک صفحه، در کنار رمزگذاری پاسخ ، روی ویرایش کلیک کنید.
- در پنجره ای که ظاهر می شود، روی اجازه دهید Google رمزگذاری پاسخ من را مدیریت کند (توصیه می شود) کلیک کنید.
- روی ذخیره تغییرات کلیک کنید.