Bắt đầu sử dụng tính năng Kiểm tra ứng dụng trong ứng dụng C++
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Trang này hướng dẫn bạn cách bật tính năng Kiểm tra ứng dụng trong ứng dụng C++, sử dụng các trình cung cấp mặc định: Tính toàn vẹn của Play trên Android và Kiểm tra thiết bị hoặc Chứng thực ứng dụng trên các nền tảng của Apple. Khi bật tính năng Kiểm tra ứng dụng, bạn sẽ giúp đảm bảo rằng chỉ ứng dụng của bạn mới có thể truy cập vào tài nguyên Firebase của dự án. Xem
Tổng quan về tính năng này.
Đăng ký ứng dụng của bạn để sử dụng tính năng Kiểm tra ứng dụng với nhà cung cấp API Tính toàn vẹn của Play, Kiểm tra thiết bị hoặc Chứng thực ứng dụng trong phần Cài đặt dự án > Kiểm tra ứng dụng của bảng điều khiển Firebase.
Thông thường, bạn cần đăng ký tất cả các ứng dụng trong dự án của mình, vì một khi bạn
bật tính năng thực thi cho một sản phẩm Firebase, thì chỉ những ứng dụng đã đăng ký mới có thể
để truy cập vào tài nguyên phụ trợ của sản phẩm.
Để xem hướng dẫn chi tiết về cách đăng ký với từng nhà cung cấp, hãy tham khảo
tài liệu dành riêng cho Android và iOS.
Không bắt buộc: Trong phần cài đặt đăng ký ứng dụng, hãy đặt thời gian tồn tại tuỳ chỉnh
(TTL) cho mã thông báo Kiểm tra ứng dụng do nhà cung cấp cấp. Bạn có thể đặt TTL thành bất kỳ giá trị nào trong khoảng từ 30 phút đến 7 ngày. Khi thay đổi giá trị này, hãy
cũng cần lưu ý những yếu tố đánh đổi sau:
Bảo mật: TTL ngắn hơn giúp tăng cường bảo mật vì giảm khoảng thời gian mà kẻ tấn công có thể lợi dụng mã thông báo bị rò rỉ hoặc bị chặn.
Hiệu suất: TTL ngắn hơn đồng nghĩa với việc ứng dụng của bạn sẽ thực hiện quy trình chứng thực nhiều hơn
thường xuyên. Vì quy trình chứng thực ứng dụng làm tăng độ trễ cho các yêu cầu mạng mỗi khi quy trình này được thực hiện, nên TTL ngắn có thể ảnh hưởng đến hiệu suất của ứng dụng.
Hạn mức và chi phí: TTL ngắn hơn và việc chứng thực lại thường xuyên sẽ làm giảm hạn mức của bạn nhanh hơn, đồng thời có thể làm tăng chi phí đối với các dịch vụ có tính phí.
Xem phần Hạn mức và giới hạn.
TTL mặc định
là hợp lý với hầu hết các ứng dụng. Xin lưu ý rằng thư viện Kiểm tra ứng dụng sẽ làm mới mã thông báo ở khoảng một nửa thời lượng TTL.
2. Thêm thư viện Kiểm tra ứng dụng vào ứng dụng của bạn
Đưa thư viện Kiểm tra ứng dụng vào nhóm phần phụ thuộc, làm theo hướng dẫn thiết lập cho Kiểm tra ứng dụng.
3. Chạy tính năng Kiểm tra ứng dụng
Thêm mã khởi động sau đây vào ứng dụng để chạy trước bạn
sử dụng bất kỳ dịch vụ Firebase nào, bao gồm cả mọi hoạt động tạo Ứng dụng Firebase.
Android
Thêm tệp tiêu đề cho firebase::app_check:
#include"firebase/app_check.h"
Khởi chạy thư viện Kiểm tra ứng dụng bằng nhà cung cấp API Tính toàn vẹn của Play:
Sau khi cài đặt thư viện Kiểm tra ứng dụng trong ứng dụng, hãy bắt đầu phân phối
được cập nhật ứng dụng cho người dùng của mình.
Ứng dụng khách sau khi cập nhật sẽ bắt đầu gửi mã thông báo Kiểm tra ứng dụng cùng với mỗi
yêu cầu gửi mã đó đến Firebase, nhưng các sản phẩm của Firebase sẽ không yêu cầu mã
có hiệu lực cho đến khi bạn cho phép thực thi trong phần Kiểm tra ứng dụng của
bảng điều khiển của Firebase.
Theo dõi các chỉ số và cho phép thực thi
Tuy nhiên, trước khi bật tính năng thực thi, bạn nên đảm bảo rằng việc bật chế độ thực thi sẽ không
làm gián đoạn những người dùng hợp lệ hiện tại. Mặt khác, nếu bạn thấy
sử dụng tài nguyên ứng dụng của bạn một cách đáng ngờ, bạn có thể muốn cho phép thực thi
sớm hơn.
Để đưa ra quyết định này, bạn có thể xem xét các chỉ số Kiểm tra ứng dụng cho
dịch vụ bạn sử dụng:
Sử dụng tính năng Kiểm tra ứng dụng trong môi trường gỡ lỗi
Sau khi đăng ký ứng dụng của mình cho tính năng Kiểm tra ứng dụng, nếu muốn chạy ứng dụng trong một môi trường mà tính năng Kiểm tra ứng dụng thường không phân loại là hợp lệ, chẳng hạn như trên máy tính, trình mô phỏng trong quá trình phát triển hoặc từ môi trường tích hợp liên tục (CI), bạn có thể tạo một bản gỡ lỗi của ứng dụng sử dụng trình cung cấp gỡ lỗi Kiểm tra ứng dụng thay vì trình cung cấp chứng thực thực.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2024-10-16 UTC."],[],[],null,["# Get started using App Check in C++ apps\n\n\u003cbr /\u003e\n\nThis page shows you how to enable App Check in a C++ app, using the\ndefault providers: Play Integrity on Android, and Device Check or App Attest on\nApple platforms. When you enable App Check, you help ensure that\nonly your app can access your project's Firebase resources. See an\n[Overview](/docs/app-check) of this feature.\n\n1. Set up your Firebase project\n-------------------------------\n\n1. [Add Firebase to your C++ project](/docs/cpp/setup) if you haven't\n already done so.\n\n2. Register your apps to use App Check with the Play Integrity, Device Check,\n or App Attest providers in the\n [**Project Settings \\\u003e App Check**](https://console.firebase.google.com/project/_/appcheck)\n section of the Firebase console.\n\n You usually need to register all of your project's apps, because once you\n enable enforcement for a Firebase product, only registered apps will be able\n to access the product's backend resources.\n\n For detailed instructions on how to register with each provider, refer to\n the Android and iOS specific documentation.\n3. **Optional**: In the app registration settings, set a custom time-to-live\n (TTL) for App Check tokens issued by the provider. You can set the TTL\n to any value between 30 minutes and 7 days. When changing this value, be\n aware of the following tradeoffs:\n\n - Security: Shorter TTLs provide stronger security, because it reduces the window in which a leaked or intercepted token can be abused by an attacker.\n - Performance: Shorter TTLs mean your app will perform attestation more frequently. Because the app attestation process adds latency to network requests every time it's performed, a short TTL can impact the performance of your app.\n - Quota and cost: Shorter TTLs and frequent re-attestation deplete your quota faster, and for paid services, potentially cost more. See [Quotas \\& limits](/docs/app-check#quotas_limits).\n\n The default TTL\n is reasonable for most apps. Note that the App Check library refreshes\n tokens at approximately half the TTL duration.\n\n2. Add the App Check library to your app\n----------------------------------------\n\nInclude the App Check library in your set of dependencies, following\n[the setup instructions](/docs/cpp/setup#add-sdks) for App Check.\n\n3. Initialize App Check\n-----------------------\n\nAdd the following initialization code to your app so that it runs before you\nuse any Firebase services including any creation of Firebase Apps. \n\n### Android\n\n1. Include the header file for `firebase::app_check`:\n\n ```c++\n #include \"firebase/app_check.h\"\n ```\n2. Initialize the App Check library with the Play Integrity provider:\n\n firebase::app_check::AppCheck::SetAppCheckProviderFactory(\n firebase::app_check::PlayIntegrityProviderFactory::GetInstance());\n\n### iOS+\n\n1. Include the header file for `firebase::app_check`:\n\n ```c++\n #include \"firebase/app_check.h\"\n ```\n2. Initialize the App Check library with the Device Check or App Attest\n provider:\n\n firebase::app_check::AppCheck::SetAppCheckProviderFactory(\n firebase::app_check::DeviceCheckProviderFactory::GetInstance());\n\nNext steps\n----------\n\nOnce the App Check library is installed in your app, start distributing the\nupdated app to your users.\n\nThe updated client app will begin sending App Check tokens along with every\nrequest it makes to Firebase, but Firebase products will not require the tokens\nto be valid until you enable enforcement in the App Check section of the\nFirebase console.\n\n### Monitor metrics and enable enforcement\n\nBefore you enable enforcement, however, you should make sure that doing so won't\ndisrupt your existing legitimate users. On the other hand, if you're seeing\nsuspicious use of your app resources, you might want to enable enforcement\nsooner.\n\nTo help make this decision, you can look at App Check metrics for the\nservices you use:\n\n- [Monitor App Check request metrics](/docs/app-check/monitor-metrics) for Realtime Database, Cloud Firestore, and Cloud Storage.\n- [Monitor App Check request metrics for Cloud Functions](/docs/app-check/monitor-functions-metrics).\n\n### Enable App Check enforcement\n\nWhen you understand how App Check will affect your users and you're ready to\nproceed, you can enable App Check enforcement:\n\n- [Enable App Check enforcement](/docs/app-check/enable-enforcement) for Realtime Database, Cloud Firestore, and Cloud Storage.\n- [Enable App Check enforcement for Cloud Functions](/docs/app-check/cloud-functions).\n\n### Use App Check in debug environments\n\nIf, after you have registered your app for App Check, you want to run your\napp in an environment that App Check would normally not classify as valid,\nsuch as on desktop, an emulator during development, or from a continuous\nintegration (CI) environment, you can create a debug build of your app that\nuses the App Check debug provider instead of a real attestation provider.\n\nSee [Use App Check with the debug provider in C++ apps](/docs/app-check/cpp/debug-provider)."]]