Bu sayfa, özel Uygulama Denetimi sağlayıcınızı kullanarak bir C++ uygulamasında Uygulama Denetimini nasıl etkinleştireceğinizi gösterir. Uygulama Kontrolü'nü etkinleştirdiğinizde projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebilmesini sağlamaya yardımcı olursunuz.
Uygulama Denetimini varsayılan sağlayıcılarla kullanmak istiyorsanız bkz . C++ ile varsayılan sağlayıcılarla Uygulama Denetimini Etkinleştirme .
Sen başlamadan önce
Henüz yapmadıysanız Firebase'i C++ projenize ekleyin .
Özel Uygulama Kontrolü sağlayıcınızın sunucu tarafı mantığını uygulayın .
1. Uygulama Kontrolü kitaplığını uygulamanıza ekleyin
Uygulama Kontrolü kurulum talimatlarını izleyerek Uygulama Kontrolü kitaplığını bağımlılıklar grubunuza ekleyin.
2. Uygulama Kontrolü arayüzlerini uygulayın
Öncelikle AppCheckProvider
ve AppCheckProviderFactory
arayüzlerini uygulayan sınıflar oluşturmanız gerekir.
AppCheckProvider
sınıfınızın, özel Uygulama Kontrolü sağlayıcınızın orijinallik kanıtı olarak ihtiyaç duyduğu bilgileri toplayan ve bunu bir Uygulama Kontrolü jetonu karşılığında jeton edinme hizmetinize gönderen bir GetToken()
yöntemine sahip olması gerekir. Uygulama Kontrolü SDK'sı belirteç önbelleğe almayı yönetir, bu nedenle GetToken()
uygulamanızda her zaman yeni bir belirteç edinin.
class YourCustomAppCheckProvider : public AppCheckProvider {
void GetToken(std::function<void(AppCheckToken, int, const std::string&)>
completion_callback) {
// Logic to exchange proof of authenticity for an App Check token and
// expiration time.
// ...
// Create AppCheckToken object.
AppCheckToken appCheckToken;
appCheckToken.token = token;
appCheckToken.expire_time_millis = expireTime;
completion_callback(appCheckToken, 0, "");
// Or, if needing to return an error
//completion_callback({}, error_code, "Error description");
}
};
Ayrıca, AppCheckProvider
uygulamanızın örneklerini oluşturan bir AppCheckProviderFactory
sınıfını uygulayın:
class YourCustomAppCheckProviderFactory : public AppCheckProviderFactory {
AppCheckProvider* CreateProvider(App* app) {
// Create and return an AppCheckProvider object.
return new YourCustomAppCheckProvider(app);
}
}
3. Uygulama Kontrolünü Başlatın
Diğer Firebase SDK'larını kullanmadan önce çalışması için aşağıdaki başlatma kodunu uygulamanıza ekleyin:
firebase::app_check::AppCheck::SetAppCheckProviderFactory(
YourCustomAppCheckProviderFactory::GetInstance());
Sonraki adımlar
Uygulama Kontrolü kitaplığı uygulamanıza yüklendikten sonra güncellenen uygulamayı kullanıcılarınıza dağıtmaya başlayın.
Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte Uygulama Kontrolü jetonları göndermeye başlayacaktır, ancak Firebase ürünleri, Firebase konsolunun Uygulama Kontrolü bölümünde zorunlu kılmayı etkinleştirene kadar jetonların geçerli olmasını gerektirmeyecektir.
Metrikleri izleyin ve uygulamayı etkinleştirin
Ancak yaptırımı etkinleştirmeden önce, bunu yapmanın mevcut meşru kullanıcılarınızı aksatmayacağından emin olmalısınız. Öte yandan, uygulama kaynaklarınızın şüpheli bir şekilde kullanıldığını görüyorsanız yaptırımı daha erken etkinleştirmek isteyebilirsiniz.
Bu kararı vermenize yardımcı olması için kullandığınız hizmetlere ilişkin Uygulama Kontrolü metriklerine bakabilirsiniz:
- Gerçek Zamanlı Veritabanı, Cloud Firestore, Cloud Storage ve Kimlik Doğrulaması (beta) için Uygulama Kontrolü istek ölçümlerini izleyin .
- Bulut İşlevleri için Uygulama Kontrolü istek ölçümlerini izleyin .
Uygulama Kontrolü yaptırımını etkinleştir
Uygulama Kontrolü'nün kullanıcılarınızı nasıl etkileyeceğini anladığınızda ve devam etmeye hazır olduğunuzda Uygulama Kontrolü yaptırımını etkinleştirebilirsiniz:
- Gerçek Zamanlı Veritabanı, Cloud Firestore, Cloud Storage ve Kimlik Doğrulaması (beta) için Uygulama Kontrolü uygulamasını etkinleştirin .
- Bulut İşlevleri için Uygulama Denetimi zorunlu kılmayı etkinleştirin .
Hata ayıklama ortamlarında Uygulama Kontrolü'nü kullanın
Uygulamanızı Uygulama Kontrolü için kaydettirdikten sonra uygulamanızı, geliştirme sırasındaki bir öykünücü gibi Uygulama Kontrolü'nün normalde geçerli olarak sınıflandırmayacağı bir ortamda veya sürekli entegrasyon (CI) ortamında çalıştırmak istiyorsanız, şunları yapabilirsiniz: Uygulamanızın, gerçek bir doğrulama sağlayıcısı yerine Uygulama Denetimi hata ayıklama sağlayıcısını kullanan bir hata ayıklama yapısı oluşturun.
Bkz. C++ ile hata ayıklama sağlayıcısıyla Uygulama Denetimini Kullanma .