Esta página mostra como ativar o App Check em um app Unity usando seu provedor App Check personalizado. Ao ativar o App Check, você ajuda a garantir que apenas seu app possa acessar os recursos do Firebase do seu projeto.
Se você quiser usar App Check com os provedores padrão, consulte Ativar App Check com provedores padrão no Unity.
Antes de começar
Adicione o Firebase ao seu projeto Unity, caso ainda não tenha feito isso.
Implemente a lógica do lado do servidor do provedor App Check personalizado.
1. Adicionar a biblioteca App Check ao app
Inclua a biblioteca do App Check no seu conjunto de dependências, seguindo as instruções de configuração do App Check.
2. Implementar as interfaces App Check
Primeiro, você precisa criar classes que implementem as interfaces IAppCheckProvider
e IAppCheckProviderFactory
.
A classe AppCheckProvider
precisa ter um método GetTokenAsync()
, que
colete todas as informações exigidas pelo provedor personalizado do App Check como
prova de autenticidade e as envie ao serviço de aquisição de tokens em
troca de um token App Check. O SDK App Check lida com o armazenamento
em cache de tokens. Portanto, sempre use um novo token na implementação do GetTokenAsync()
.
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);
}
};
Além disso, implemente uma classe AppCheckProviderFactory
que crie instâncias da implementação
AppCheckProvider
:
public class YourCustomAppCheckProviderFactory : IAppCheckProviderFactory {
IAppCheckProvider CreateProvider(FirebaseApp app) {
// Create and return an AppCheckProvider object.
return new YourCustomAppCheckProvider(app);
}
}
3. Inicializar o App Check
Adicione o seguinte código de inicialização ao app para que ele seja executado antes de usar outros SDKs do Firebase:
FirebaseAppCheck.SetAppCheckProviderFactory(
new YourCustomAppCheckProviderFactory());
Próximas etapas
Depois que a biblioteca App Check estiver instalada no seu app, comece a distribuir o app atualizado para os usuários.
O app cliente atualizado vai começar a enviar tokens do App Check em todas as solicitações feitas ao Firebase, mas os produtos dessa plataforma não exigirão que os tokens sejam válidos até que você ative a aplicação obrigatória na seção App Check do Console do Firebase.
Monitorar métricas e ativar a aplicação obrigatória
Antes de ativar a aplicação obrigatória, verifique se isso não vai afetar seus usuários legítimos. Por outro lado, se você perceber um uso suspeito dos recursos do seu app, convém ativar a aplicação obrigatória antes do previsto.
Para tomar essa decisão, analise as métricas do App Check nos serviços usados:
- Monitore as métricas de solicitação App Check para Data Connect, Vertex AI in Firebase, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity para iOS, API Maps JavaScript e API Places (novo).
- Monitore as métricas de solicitação do App Check para Cloud Functions.
Ativar a aplicação App Check
Assim que você entender como o App Check vai afetar seus usuários e estiver tudo pronto para prosseguir, ative a aplicação obrigatória do App Check:
- Ativar a aplicação de App Check para Data Connect, Vertex AI in Firebase, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity para iOS, API Maps JavaScript e API Places (novo).
- Ative a aplicação de App Check para Cloud Functions.
Usar App Check em ambientes de depuração
Se, depois de registrar seu aplicativo no App Check, você quiser executá-lo em um ambiente que o App Check normalmente não classificaria como válido, como um emulador durante o desenvolvimento ou de uma integração contínua (CI), será possível criar um build de depuração do seu app que use o provedor de depuração do App Check em vez de um provedor de atestado real.
Consulte Usar App Check com o provedor de depuração no Unity.