این صفحه به شما نشان میدهد که چگونه با استفاده از ارائهدهنده App Check سفارشی خود ، App Check را در یک برنامه Android فعال کنید. وقتی برنامه بررسی را فعال میکنید، مطمئن میشوید که فقط برنامه شما میتواند به منابع Firebase پروژه شما دسترسی داشته باشد.
اگر میخواهید از App Check با ارائهدهنده پیشفرض Play Integrity استفاده کنید، به فعال کردن App Check with Play Integrity در Android مراجعه کنید.
قبل از اینکه شروع کنی
اگر قبلاً این کار را نکرده اید ، Firebase را به پروژه اندروید خود اضافه کنید .
منطق سمت سرور ارائه دهنده بررسی برنامه سفارشی خود را پیاده سازی کنید .
1. کتابخانه App Check را به برنامه خود اضافه کنید
در فایل Gradle ماژول (سطح برنامه) خود (معمولا app/build.gradle
)، وابستگی را برای کتابخانه Android App Check اعلام کنید:
Kotlin+KTX
dependencies {
implementation 'com.google.firebase:firebase-appcheck:17.0.1'
}
Java
dependencies {
implementation 'com.google.firebase:firebase-appcheck:17.0.1'
}
2. رابط های App Check را پیاده سازی کنید
ابتدا باید کلاس هایی ایجاد کنید که رابط های AppCheckProvider
و AppCheckProviderFactory
را پیاده سازی کنند.
کلاس AppCheckProvider
شما باید دارای یک متد getToken()
باشد که هر اطلاعاتی را که ارائهدهنده App Check سفارشی شما به عنوان اثبات اصالت نیاز دارد جمعآوری میکند و آن را در ازای توکن App Check به سرویس جذب توکن شما ارسال میکند. App Check SDK ذخیره رمز را کنترل می کند، بنابراین همیشه یک توکن جدید در پیاده سازی getToken()
دریافت کنید.
Kotlin+KTX
class YourCustomAppCheckToken(
private val token: String,
private val expiration: Long
) : AppCheckToken() {
override fun getToken(): String {
return token
}
override fun getExpireTimeMillis(): Long {
return expiration
}
}
class YourCustomAppCheckProvider : AppCheckProvider {
val token: Task<AppCheckToken>
get() {
// Logic to exchange proof of authenticity for an App Check token.
// ...
// Refresh the token early to handle clock skew.
val expMillis: Long = expirationFromServer * 1000 - 60000
// Create AppCheckToken object.
val appCheckToken: AppCheckToken =
YourCustomAppCheckToken(tokenFromServer, expMillis)
return appCheckToken!
}
}
Java
public class YourCustomAppCheckToken extends AppCheckToken {
private String token;
private long expiration;
YourCustomAppCheckToken(String token, long expiration) {
this.token = token;
this.expiration = expiration;
}
@NonNull
@Override
public String getToken() {
return token;
}
@Override
public long getExpireTimeMillis() {
return expiration;
}
}
public class YourCustomAppCheckProvider implements AppCheckProvider {
@Override
public Task<AppCheckToken> getToken() {
// Logic to exchange proof of authenticity for an App Check token and
// expiration time.
// ...
// Refresh the token early to handle clock skew.
long expMillis = expirationFromServer * 1000 - 60000;
// Create AppCheckToken object.
AppCheckToken appCheckToken =
YourCustomAppCheckToken(tokenFromServer, expMillis);
return appCheckToken;
}
}
همچنین، یک کلاس AppCheckProviderFactory
را پیاده سازی کنید که نمونه هایی از پیاده سازی AppCheckProvider
شما را ایجاد می کند:
Kotlin+KTX
class YourCustomAppCheckProviderFactory : AppCheckProviderFactory {
fun create(firebaseApp: FirebaseApp): AppCheckProvider {
// Create and return an AppCheckProvider object.
return YourCustomAppCheckProvider(firebaseApp)
}
}
Java
public class YourCustomAppCheckProviderFactory implements AppCheckProviderFactory {
@Override
public AppCheckProvider create(FirebaseApp firebaseApp) {
// Create and return an AppCheckProvider object.
return new YourCustomAppCheckProvider(firebaseApp);
}
}
3. App Check را اولیه کنید
کد اولیه زیر را به برنامه خود اضافه کنید تا قبل از استفاده از Firebase SDK دیگر اجرا شود:
Kotlin+KTX
FirebaseApp.initializeApp(/*context=*/ this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
YourCustomAppCheckProviderFactory.getInstance())
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
YourCustomAppCheckProviderFactory.getInstance());
مراحل بعدی
هنگامی که کتابخانه App Check در برنامه شما نصب شد، شروع به توزیع برنامه به روز شده بین کاربران خود کنید.
برنامه کلاینت بهروزرسانیشده، به همراه هر درخواستی که به Firebase میکند، نشانههای App Check را ارسال میکند، اما محصولات Firebase تا زمانی که اعمال را در بخش App Check کنسول Firebase فعال نکنید، نیازی به معتبر بودن توکنها ندارند.
معیارها را رصد کنید و اجرا را فعال کنید
با این حال، قبل از فعال کردن اعمال، باید مطمئن شوید که انجام این کار باعث اختلال در کاربران قانونی فعلی شما نمی شود. از سوی دیگر، اگر استفاده مشکوک از منابع برنامه خود را مشاهده کردید، ممکن است بخواهید زودتر اجرای آن را فعال کنید.
برای کمک به این تصمیم، میتوانید به معیارهای App Check برای سرویسهایی که استفاده میکنید نگاه کنید:
- معیارهای درخواست بررسی برنامه برای پایگاه داده بیدرنگ، Cloud Firestore، Cloud Storage و Authentication (بتا) را بررسی کنید .
- معیارهای درخواست بررسی برنامه را برای عملکردهای ابری نظارت کنید .
اجرای بررسی برنامه را فعال کنید
وقتی متوجه شدید که بررسی برنامه چگونه بر کاربران شما تأثیر می گذارد و آماده ادامه کار هستید، می توانید اجرای بررسی برنامه را فعال کنید:
- اجرای بررسی برنامه را برای پایگاه داده بیدرنگ، Cloud Firestore، Cloud Storage و Authentication (بتا) فعال کنید .
- اجرای بررسی برنامه را برای عملکردهای ابری فعال کنید .
از App Check در محیط های اشکال زدایی استفاده کنید
اگر بعد از اینکه برنامه خود را برای بررسی برنامه ثبت کردید، می خواهید برنامه خود را در محیطی اجرا کنید که App Check معمولاً آن را معتبر طبقه بندی نمی کند، مانند شبیه ساز در طول توسعه، یا از یک محیط یکپارچه سازی مداوم (CI)، می توانید یک ساختار اشکال زدایی از برنامه خود ایجاد کنید که از ارائه دهنده اشکال زدایی App Check به جای ارائه دهنده گواهی واقعی استفاده می کند.
به استفاده از بررسی برنامه با ارائهدهنده اشکالزدایی در Android مراجعه کنید.