Z tej strony dowiesz się, jak włączyć App Check w aplikacji Unity za pomocą niestandardowego dostawcy App Check. Gdy włączysz App Check, pomożesz zapewnić, że tylko Twoja aplikacja będzie mogła uzyskiwać dostęp do zasobów Firebase w Twoim projekcie.
Jeśli chcesz używać App Check z domyślnymi dostawcami, przeczytaj artykuł Włączanie App Check za pomocą domyślnych dostawców w Unity.
Zanim zaczniesz
Jeśli jeszcze tego nie zrobisz, dodaj Firebase do projektu Unity.
Zaimplementuj logikę po stronie serwera niestandardowego dostawcy App CheckSprawdzania aplikacji.
1. Dodaj do aplikacji bibliotekę App Check
Dołącz bibliotekę Sprawdzania aplikacji do zestawu zależności, postępując zgodnie z instrukcjami konfiguracji Sprawdzania aplikacji.
2. Zaimplementuj interfejsy App Check
Najpierw musisz utworzyć klasy, które implementują interfejsy IAppCheckProvider i
IAppCheckProviderFactory.
Klasa AppCheckProvider musi mieć metodę GetTokenAsync(), która
zbiera wszystkie informacje wymagane przez niestandardowego dostawcę App Check jako
dowód autentyczności i wysyła je do usługi pobierania tokenów w
zamian za token App Check. Pakiet SDK App Check obsługuje buforowanie tokenów, dlatego w implementacji GetTokenAsync() zawsze pobieraj nowy token.
public class YourCustomAppCheckProvider : IAppCheckProvider {
public Task<AppCheckToken> GetTokenAsync() {
// Logic to exchange proof of authenticity for an App Check token and
// expiration time.
// ...
AppCheckToken appCheckToken = new AppCheckToken() {
Token = tokenFromAbove,
ExpireTime = DateTime.UtcNow.AddMinutes(60)
};
return Task<AppCheckToken>.FromResult(appCheckToken);
}
};
Zaimplementuj też klasę AppCheckProviderFactory, która tworzy instancje implementacji
AppCheckProvider:
public class YourCustomAppCheckProviderFactory : IAppCheckProviderFactory {
IAppCheckProvider CreateProvider(FirebaseApp app) {
// Create and return an AppCheckProvider object.
return new YourCustomAppCheckProvider(app);
}
}
3. Zainicjuj App Check
Dodaj do aplikacji ten kod inicjujący, aby był on wykonywany przed użyciem innych pakietów SDK Firebase:
FirebaseAppCheck.SetAppCheckProviderFactory(
new YourCustomAppCheckProviderFactory());
Dalsze kroki
Gdy biblioteka App Check zostanie zainstalowana w Twojej aplikacji, zacznij rozpowszechniać zaktualizowaną aplikację wśród użytkowników.
Zaktualizowana aplikacja kliencka zacznie wysyłać App Check tokeny wraz z każdym żądaniem wysyłanym do Firebase, ale usługi Firebase nie będą wymagać, aby tokeny były prawidłowe, dopóki nie włączysz egzekwowania w sekcji App Check w konsoli Firebase.
Monitorowanie danych i włączanie egzekwowania
Zanim włączysz egzekwowanie, upewnij się, że nie zakłóci to działania dotychczasowych użytkowników. Z drugiej strony, jeśli zauważysz podejrzane użycie zasobów aplikacji, możesz włączyć egzekwowanie wcześniej.
Aby ułatwić podjęcie decyzji, możesz sprawdzić dane App Check dotyczące używanych usług:
- Monitoruj dane żądań App Check w przypadku usług Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API i Places API (nowa wersja).
- Monitoruj dane żądań App Check w przypadku Cloud Functions.
Włącz egzekwowanie App Check
Gdy zrozumiesz, jak App Check wpłynie na użytkowników, i będziesz gotowy(-a) do kontynuowania, możesz włączyć egzekwowanie App Check:
- Włącz egzekwowanieApp Checkw przypadku usług Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity for iOS, Maps JavaScript API i Places API (nowa wersja).
- Włącz egzekwowanie w przypadku Cloud Functions.App Check
Używanie App Check w środowiskach debugowania
Jeśli po zarejestrowaniu aplikacji w App Check chcesz uruchomić ją w środowisku, które App Check zwykle nie klasyfikuje jako prawidłowe, np. w emulatorze podczas programowania lub w środowisku ciągłej integracji (CI), możesz utworzyć kompilację debugowania aplikacji, która zamiast prawdziwego dostawcy atestów używa dostawcy debugowania App Check.
Zobacz Używanie App Check z dostawcą debugowania w Unity.