Sau khi bạn đăng ký tính năng Kiểm tra ứng dụng, ứng dụng của bạn thường sẽ không chạy trong trình mô phỏng hoặc trong môi trường tích hợp liên tục (CI) vì những không đủ điều kiện là thiết bị hợp lệ. Nếu bạn muốn chạy ứng dụng bằng môi trường trong quá trình phát triển và thử nghiệm, bạn có thể tạo một bản gỡ lỗi ứng dụng của bạn sử dụng trình cung cấp dịch vụ gỡ lỗi Kiểm tra ứng dụng thay vì chứng thực thực Google Cloud.
Nền tảng của Apple
Sử dụng trình cung cấp gỡ lỗi khi chạy ứng dụng trong trình mô phỏng theo cách tương tác (ví dụ: trong quá trình phát triển), hãy làm như sau:
Kích hoạt tính năng Kiểm tra ứng dụng bằng trình cung cấp gỡ lỗi ngay sau khi bạn khởi chạy ứng dụng Firebase của bạn:
import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; // Import the firebase_app_check plugin import 'package:firebase_app_check/firebase_app_check.dart'; Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); await FirebaseAppCheck.instance.activate( // Set appleProvider to `AppleProvider.debug` appleProvider: AppleProvider.debug, ); runApp(App()); }
Bật tính năng ghi nhật ký gỡ lỗi trong dự án Xcode của bạn (phiên bản 11.0 trở lên):
- Mở Sản phẩm > Lược đồ > Chỉnh sửa lược đồ.
- Chọn Run (Chạy) trên trình đơn bên trái, sau đó chọn thẻ Arguments (Đối số).
- Trong phần Đối số đã thông qua khi khởi chạy, hãy thêm
-FIRDebugEnabled
.
Mở
ios/Runner.xcworkspace
bằng Xcode rồi chạy ứng dụng của bạn trong Trình mô phỏng. Ứng dụng của bạn sẽ in một mã gỡ lỗi cục bộ ở kết quả gỡ lỗi khi Firebase sẽ cố gắng gửi một yêu cầu đến phần phụ trợ. Ví dụ:Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678
Trong phần Kiểm tra ứng dụng trong bảng điều khiển của Firebase, hãy chọn Quản lý mã gỡ lỗi từ trình đơn mục bổ sung. Sau đó, hãy đăng ký mã thông báo gỡ lỗi mà bạn đã đăng nhập trước đó .
Sau khi bạn đăng ký mã thông báo này, các dịch vụ phụ trợ của Firebase sẽ chấp nhận mã đó là hợp lệ.
Bởi vì mã thông báo này cho phép truy cập vào các tài nguyên Firebase của bạn mà không cần thiết bị hợp lệ, điều quan trọng là bạn phải bảo mật thông tin đó. Không cam kết kho lưu trữ công khai và nếu một mã thông báo đã đăng ký bị xâm phạm, hãy thu hồi mã đó ngay trong bảng điều khiển của Firebase.
Android
Để sử dụng trình cung cấp gỡ lỗi khi chạy ứng dụng Flutter trong môi trường Android, triển khai mã sau trong ứng dụng Flutter của bạn:
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await FirebaseAppCheck.instance.activate(
webRecaptchaSiteKey: 'recaptcha-v3-site-key',
// Set androidProvider to `AndroidProvider.debug`
androidProvider: AndroidProvider.debug,
);
runApp(App());
}
Ứng dụng của bạn sẽ in một mã gỡ lỗi cục bộ ra kết quả gỡ lỗi khi Firebase cố gắng để gửi một yêu cầu đến chương trình phụ trợ. Ví dụ:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
Trong phần Kiểm tra ứng dụng trong bảng điều khiển của Firebase, hãy chọn Quản lý mã gỡ lỗi từ trình đơn mục bổ sung. Sau đó, hãy đăng ký mã thông báo gỡ lỗi mà bạn đã đăng nhập trước đó .
Sau khi bạn đăng ký mã thông báo này, các dịch vụ phụ trợ của Firebase sẽ chấp nhận mã đó là hợp lệ.
Web
Để sử dụng trình cung cấp gỡ lỗi trong khi chạy ứng dụng trên localhost
(trong
phát triển), hãy làm như sau:
Trong tệp
web/index.html
, hãy bật chế độ gỡ lỗi bằng cách cài đặtself.FIREBASE_APPCHECK_DEBUG_TOKEN
đếntrue
:<body> <script> self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; </script> ... </body>
Chạy ứng dụng web của bạn trên máy và mở công cụ cho nhà phát triển của trình duyệt. Trong bảng điều khiển gỡ lỗi, bạn sẽ thấy một mã thông báo gỡ lỗi:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.
Mã thông báo này được lưu trữ cục bộ trong trình duyệt của bạn và sẽ được sử dụng bất cứ khi nào bạn sử dụng ứng dụng của bạn trong cùng một trình duyệt trên cùng một máy. Nếu bạn muốn sử dụng mã thông báo trong trình duyệt khác hoặc trên một máy khác, hãy đặt
self.FIREBASE_APPCHECK_DEBUG_TOKEN
vào chuỗi mã thông báo thay vìtrue
.Trong phần Kiểm tra ứng dụng trong bảng điều khiển của Firebase, hãy chọn Quản lý mã gỡ lỗi từ trình đơn mục bổ sung. Sau đó, hãy đăng ký mã thông báo gỡ lỗi mà bạn đã đăng nhập trước đó .
Sau khi bạn đăng ký mã thông báo này, các dịch vụ phụ trợ của Firebase sẽ chấp nhận mã đó là hợp lệ.
Bởi vì mã thông báo này cho phép truy cập vào các tài nguyên Firebase của bạn mà không cần thiết bị hợp lệ, điều quan trọng là bạn phải bảo mật thông tin đó. Không cam kết kho lưu trữ công khai và nếu một mã thông báo đã đăng ký bị xâm phạm, hãy thu hồi mã đó ngay trong bảng điều khiển của Firebase.