شروع به استفاده از App Check با Play Integrity در Android کنید

این صفحه به شما نشان می‌دهد که چگونه با استفاده از ارائه‌دهنده Play Integrity داخلی، App Check در یک برنامه Android فعال کنید. وقتی App Check فعال می‌کنید، مطمئن می‌شوید که فقط برنامه شما می‌تواند به منابع Firebase پروژه شما دسترسی داشته باشد. مروری بر این ویژگی را ببینید.

در حال حاضر، ارائه‌دهنده داخلی Play Integrity فقط از برنامه‌های Android توزیع شده توسط Google Play پشتیبانی می‌کند. برای استفاده از ویژگی‌های خارج از بازی Play Integrity یا استفاده از App Check با ارائه‌دهنده سفارشی خود، به اجرای ارائه‌دهنده App Check سفارشی مراجعه کنید.

1. پروژه Firebase خود را راه اندازی کنید

  1. اگر قبلاً این کار را نکرده اید ، Firebase را به پروژه اندروید خود اضافه کنید .

  2. Play Integrity API را فعال کنید:

    1. در کنسول Google Play ، برنامه خود را انتخاب کنید یا اگر قبلاً این کار را نکرده اید، آن را اضافه کنید.

    2. در بخش انتشار ، روی یکپارچگی برنامه کلیک کنید.

    3. به بخش Play Integrity API صفحه بروید، روی Link Cloud project کلیک کنید، سپس پروژه Firebase خود را از لیست پروژه‌های Google Cloud انتخاب کنید. پروژه ای که در اینجا انتخاب می کنید باید همان پروژه Firebase باشد که در آن برنامه خود را ثبت کرده اید (مرحله بعدی را ببینید).

  3. برنامه‌های خود را برای استفاده از App Check با ارائه‌دهنده Play Integrity در بخش App Check کنسول Firebase ثبت کنید. باید اثر انگشت SHA-256 گواهی امضای برنامه خود را ارائه دهید .

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

  4. اختیاری : در تنظیمات ثبت برنامه، یک زمان سفارشی (TTL) برای نشانه‌های App Check صادر شده توسط ارائه‌دهنده تنظیم کنید. می توانید TTL را روی هر مقداری بین 30 دقیقه تا 7 روز تنظیم کنید. هنگام تغییر این مقدار، به معاوضه های زیر توجه داشته باشید:

    • امنیت: TTL‌های کوتاه‌تر امنیت قوی‌تری را فراهم می‌کنند، زیرا پنجره‌ای را کاهش می‌دهد که در آن توکن لو رفته یا رهگیری شده توسط مهاجم مورد سوء استفاده قرار می‌گیرد.
    • عملکرد: TTLهای کوتاهتر به این معنی است که برنامه شما به دفعات بیشتری گواهی را انجام می دهد. از آنجایی که فرآیند تأیید برنامه هر بار که انجام می شود، تاخیر را به درخواست های شبکه اضافه می کند، یک TTL کوتاه می تواند بر عملکرد برنامه شما تأثیر بگذارد.
    • سهمیه و هزینه: TTLهای کوتاهتر و تأیید مجدد مکرر سهمیه شما را سریعتر از بین می برد و برای خدمات پولی، احتمالاً هزینه بیشتری دارد. به سهمیه ها و محدودیت ها مراجعه کنید.

    TTL پیش‌فرض ۱ ساعت برای اکثر برنامه‌ها معقول است. توجه داشته باشید که کتابخانه App Check توکن ها را تقریباً در نیمی از مدت زمان TTL تازه می کند.

2. کتابخانه App Check را به برنامه خود اضافه کنید

در فایل Gradle ماژول (سطح برنامه) خود (معمولا <project>/<app-module>/build.gradle.kts یا <project>/<app-module>/build.gradle )، وابستگی را برای App Check اضافه کنید کتابخانه برای اندروید توصیه می‌کنیم از Firebase Android BoM برای کنترل نسخه‌سازی کتابخانه استفاده کنید.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.7.0"))

    // Add the dependencies for the App Check libraries
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-playintegrity")
}

با استفاده از Firebase Android BoM ، برنامه شما همیشه از نسخه‌های سازگار کتابخانه‌های Firebase Android استفاده می‌کند.

(جایگزین) وابستگی های کتابخانه Firebase را بدون استفاده از BoM اضافه کنید

اگر تصمیم گرفتید از Firebase BoM استفاده نکنید، باید هر نسخه کتابخانه Firebase را در خط وابستگی آن مشخص کنید.

توجه داشته باشید که اگر از چندین کتابخانه Firebase در برنامه خود استفاده می کنید، ما قویاً توصیه می کنیم از BoM برای مدیریت نسخه های کتابخانه استفاده کنید، که تضمین می کند همه نسخه ها سازگار هستند.

dependencies {
    // Add the dependencies for the App Check libraries
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-playintegrity:18.0.0")
}
به دنبال یک ماژول کتابخانه خاص کاتلین هستید؟ از اکتبر 2023 ( Firebase BoM 32.5.0) ، توسعه دهندگان Kotlin و Java می توانند به ماژول کتابخانه اصلی وابسته باشند (برای جزئیات، به سؤالات متداول در مورد این ابتکار مراجعه کنید).

3. App Check اولیه کنید

کد اولیه زیر را به برنامه خود اضافه کنید تا قبل از استفاده از Firebase SDK دیگر اجرا شود:

Kotlin+KTX

Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
    PlayIntegrityAppCheckProviderFactory.getInstance(),
)

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
        PlayIntegrityAppCheckProviderFactory.getInstance());

مراحل بعدی

هنگامی که کتابخانه App Check در برنامه شما نصب شد، شروع به توزیع برنامه به روز شده بین کاربران خود کنید.

برنامه کلاینت به‌روزرسانی‌شده، به همراه هر درخواستی که به Firebase می‌کند، نشانه‌های App Check ارسال می‌کند، اما محصولات Firebase تا زمانی که اعمال را در بخش App Check کنسول Firebase فعال نکنید، نیازی به معتبر بودن توکن‌ها ندارند.

معیارها را رصد کنید و اجرا را فعال کنید

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

برای کمک به این تصمیم، می‌توانید به معیارهای App Check برای سرویس‌هایی که استفاده می‌کنید نگاه کنید:

اجرای App Check فعال کنید

وقتی متوجه شدید که App Check چگونه بر کاربران شما تأثیر می گذارد و آماده ادامه کار هستید، می توانید اجرای App Check را فعال کنید:

از App Check در محیط های اشکال زدایی استفاده کنید

اگر بعد از اینکه برنامه خود را برای App Check ثبت کردید، می خواهید برنامه خود را در محیطی اجرا کنید که App Check معمولاً آن را معتبر طبقه بندی نمی کند، مانند شبیه ساز در حین توسعه، یا از یک محیط یکپارچه سازی مداوم (CI)، می توانید یک ساختار اشکال زدایی از برنامه خود ایجاد کنید که از ارائه دهنده اشکال زدایی App Check به جای ارائه دهنده گواهی واقعی استفاده می کند.

به استفاده از App Check با ارائه‌دهنده اشکال‌زدایی در Android مراجعه کنید.