توضح لك هذه الصفحة كيفية تمكين التحقق من التطبيق في تطبيق Android ، باستخدام موفر App Check المخصص الخاص بك . عند تمكين التحقق من التطبيق ، فإنك تساعد في التأكد من أن تطبيقك هو الوحيد الذي يمكنه الوصول إلى موارد Firebase الخاصة بمشروعك.
إذا كنت تريد استخدام App Check مع مزود Play Integrity الافتراضي ، فراجع تمكين التحقق من التطبيق باستخدام Play Integrity على Android .
قبل ان تبدأ
أضف Firebase إلى مشروع Android الخاص بك إذا لم تكن قد قمت بذلك بالفعل.
قم بتنفيذ منطق من جانب الخادم الخاص بموفر App Check المخصص .
1. أضف مكتبة App Check إلى تطبيقك
في ملف Gradle الخاص بالوحدة (على مستوى التطبيق) (عادةً app/build.gradle
) ، أعلن عن تبعية مكتبة App Check Android:
Kotlin+KTX
dependencies {
implementation 'com.google.firebase:firebase-appcheck:17.0.1'
}
Java
dependencies {
implementation 'com.google.firebase:firebase-appcheck:17.0.1'
}
2. تنفيذ واجهات التحقق من التطبيق
أولاً ، تحتاج إلى إنشاء فئات تنفذ واجهات AppCheckProvider
و AppCheckProviderFactory
.
يجب أن يكون لفئة AppCheckProvider
الخاصة بك طريقة getToken()
، والتي تجمع أي معلومات يطلبها موفر 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. تهيئة فحص التطبيق
أضف رمز التهيئة التالي إلى تطبيقك حتى يتم تشغيله قبل استخدام أي حزم 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 ، لكن منتجات Firebase لن تتطلب أن تكون الرموز المميزة صالحة حتى تقوم بتمكين التنفيذ في قسم التحقق من التطبيق في وحدة تحكم Firebase.
مراقبة المقاييس وتمكين الإنفاذ
قبل أن تقوم بتمكين التنفيذ ، يجب أن تتأكد من أن القيام بذلك لن يؤدي إلى تعطيل المستخدمين الشرعيين الحاليين لديك. من ناحية أخرى ، إذا كنت ترى استخدامًا مشبوهًا لموارد تطبيقك ، فقد ترغب في تمكين التنفيذ عاجلاً.
للمساعدة في اتخاذ هذا القرار ، يمكنك الاطلاع على مقاييس التحقق من التطبيقات للخدمات التي تستخدمها:
- مقاييس طلب Monitor App Check لقاعدة بيانات Realtime و Cloud Firestore والتخزين السحابي والمصادقة (تجريبي).
- مراقبة التطبيق تحقق من مقاييس الطلب لوظائف السحابة .
تفعيل فرض التحقق من التطبيق
عندما تفهم كيف سيؤثر فحص التطبيق على المستخدمين لديك وأنت مستعد للمتابعة ، يمكنك تمكين فرض التحقق من التطبيق:
- تمكين فرض التحقق من التطبيق لقاعدة بيانات Realtime و Cloud Firestore والتخزين السحابي والمصادقة (تجريبي).
- تفعيل فرض التحقق من التطبيق لوظائف السحابة .
استخدام التحقق من التطبيق في بيئات التصحيح
إذا كنت ترغب ، بعد تسجيل تطبيقك في App Check ، في تشغيل التطبيق في بيئة لا يصنفها App Check عادةً على أنها صالحة ، مثل المحاكي أثناء التطوير ، أو من بيئة تكامل مستمرة (CI) ، يمكنك إنشاء إصدار تصحيح لتطبيقك يستخدم موفر تصحيح أخطاء App Check بدلاً من موفر تصديق حقيقي.
راجع استخدام التحقق من التطبيق مع موفر تصحيح الأخطاء على Android .