شروع به استفاده از App Check با reCAPTCHA Enterprise در اندروید کنید

انتخاب پلتفرم: iOS+ اندروید وب فلاتر


این صفحه به شما نشان می‌دهد که چگونه با استفاده از ارائه‌دهنده reCAPTCHA Enterprise ، App Check در یک برنامه اندروید راه‌اندازی کنید. App Check به شما کمک می‌کند تا مطمئن شوید که فقط برنامه شما می‌تواند به منابع backend پروژه شما دسترسی داشته باشد. برای کسب اطلاعات بیشتر، مرور کلی ما در مورد App Check مرور کنید.

App Check نیاز به استفاده از کلیدهای reCAPTCHA مبتنی بر امتیاز دارد، که آن را برای کاربران نامرئی می‌کند. این بدان معناست که ارائه دهنده reCAPTCHA Enterprise از کاربران نمی‌خواهد که در هر زمانی یک چالش را حل کنند.

اگر مورد استفاده شما به ویژگی‌های reCAPTCHA Enterprise نیاز دارد که توسط App Check پیاده‌سازی نشده است، یا اگر می‌خواهید از App Check با ارائه‌دهنده سفارشی خود استفاده کنید، به بخش پیاده‌سازی ارائه‌دهنده سفارشی App Check مراجعه کنید.

۱. پروژه فایربیس خود را راه‌اندازی کنید

  1. اگر هنوز Firebase را به پروژه اندروید خود اضافه نکرده‌اید، آن را اضافه کنید.

  2. در کنسول Google Cloud ، به صفحه Fraud Defense بروید و موارد زیر را برای ارائه دهنده reCAPTCHA Enterprise انجام دهید:

    1. مطمئن شوید که در پروژه صحیح هستید (به انتخابگر پروژه در بالای صفحه مراجعه کنید).

    2. در صورت درخواست، رابط برنامه‌نویسی کاربردی reCAPTCHA Enterprise را فعال کنید.

    3. یک کلید از نوع اندروید ایجاد کنید و نام بسته برنامه خود را مشخص کنید (برای مثال، com.example.my_app ).

      • مطمئن شوید که همان نام بسته‌ای را که هنگام ایجاد برنامه اندروید Firebase خود در پروژه Firebase خود ارائه دادید، وارد می‌کنید. مقدار نام بسته به حروف کوچک و بزرگ حساس است.

      • برای App Check ، هر نام بسته فقط می‌تواند به یک کلید reCAPTCHA مربوط باشد.

      برای دستورالعمل‌های دقیق، به ایجاد کلیدهای reCAPTCHA مبتنی بر امتیاز مراجعه کنید.

    4. این کلید را یادداشت کنید. باید آن را به جریان ثبت‌نام در کنسول Firebase اضافه کنید.

  3. در کنسول Firebase ، به مسیر Security > App Check بروید.

  4. در تب برنامه‌ها ، برنامه‌های اندروید خود را برای استفاده App Check با ارائه‌دهنده reCAPTCHA Enterprise ثبت کنید. باید کلیدی را که در کنسول Google Cloud دریافت کرده‌اید، ارائه دهید.

  5. اختیاری : زمان زنده بودن توکن (TTL) را تنظیم کنید.

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

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

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

  6. اختیاری : تنظیمات پیشرفته را پیکربندی کنید.

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

(اختیاری) پیکربندی تنظیمات پیشرفته

وقتی کاربری برنامه شما را باز می‌کند، reCAPTCHA Enterprise سطح ریسک تعامل کاربر را تحت تأثیر کلیدهای اعمال‌شده ارزیابی می‌کند و امتیازی بین ۰.۰ تا ۱.۰، با گام‌های ۰.۱، برمی‌گرداند.

  • امتیاز ۰.۰ نشان می‌دهد که این تعامل ریسک بالایی دارد و ممکن است کلاهبرداری باشد.
  • امتیاز ۱.۰ نشان می‌دهد که این تعامل ریسک کمی دارد و به احتمال زیاد قانونی است.

App Check به شما امکان می‌دهد آستانه ریسک برنامه را پیکربندی کنید تا بتوانید تحمل خود را برای این ریسک تنظیم کنید.

برای اکثر موارد استفاده، مقدار آستانه پیش‌فرض ۰.۵ توصیه می‌شود. اگر مورد استفاده شما نیاز به تنظیم دارد، می‌توانید این مقدار را برای هر یک از برنامه‌های خود در کنسول Firebase پیکربندی کنید (به Security > App Check بروید). حتماً برخی از ملاحظات مهم در مورد پیکربندی آستانه ریسک برنامه را که در زیر آمده است، بسط داده و مرور کنید.

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

برای استفاده از ارائه‌دهنده reCAPTCHA Enterprise ، باید وابستگی مربوطه را اضافه کنید.

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

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

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

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

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

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

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

dependencies {
    // Add the dependency for the App Check reCAPTCHA library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-appcheck-recaptcha:19.2.0")
}

۳. App Check

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

Kotlin

Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
    RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY")
)

Java

FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
      RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY"));

۴. معیارها را رصد کنید و اجرای آنها را ممکن سازید

بعد از اینکه App Check در برنامه خود تنظیم کردید، شروع به توزیع برنامه به‌روزرسانی‌شده بین کاربران خود کنید.

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

نظارت بر معیارها

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

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

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

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

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

App Check برخی از محیط‌ها را به عنوان نامعتبر طبقه‌بندی می‌کند، مانند درخواست‌های یک شبیه‌ساز/شبیه‌ساز در طول توسعه یا از یک محیط ادغام مداوم (CI).

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

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

قیمت‌گذاری

App Check از طرف شما یک ارزیابی ایجاد می‌کند تا هر بار که برنامه شما توکن App Check خود را به‌روزرسانی می‌کند، توکن پاسخ کاربر را اعتبارسنجی کند. پروژه Firebase شما برای هر ارزیابی ایجاد شده بالاتر از سهمیه بدون هزینه، هزینه دریافت خواهد کرد. برای جزئیات بیشتر، به قیمت‌گذاری reCAPTCHA مراجعه کنید.

به طور پیش‌فرض، برنامه شما این توکن را هر ۱ ساعت دو بار به‌روزرسانی می‌کند. برای کنترل اینکه برنامه شما چند وقت یکبار توکن‌های App Check را به‌روزرسانی می‌کند (و در نتیجه چند وقت یکبار ارزیابی‌های جدید ایجاد می‌شوند)، می‌توانید TTL توکن را پیکربندی کنید .