CẬP NHẬT: Giải thích sau đây dành cho một dự án Android Studio, với một Dự án Firebase và các Ứng dụng Firebase khác nhau trong dự án đó. Nếu mục đích là có các tệp JSON khác nhau cho các Ứng dụng Firebase khác nhau trong các Dự án Firebase khác nhau trong cùng một dự án Android Studio, (hoặc nếu bạn không biết sự khác biệt) hãy xem tại đây. .
Bạn cần một Ứng dụng Firebase cho mỗi ID ứng dụng Android (thường là tên gói). Thông thường có một ID ứng dụng cho mỗi biến thể xây dựng Gradle (Điều này sẽ có khả năng nếu bạn sử dụng các loại xây dựng Gradle và hương vị xây dựng Gradle)
Kể từ Google Services 3.0 và sử dụng Firebase , không cần thiết phải tạo các tệp khác nhau cho các hương vị khác nhau. Tạo các tệp khác nhau cho các hương vị khác nhau có thể không rõ ràng hoặc đơn giản trong trường hợp bạn có các loại sản phẩmFlavours và Build kết hợp với nhau.
Trong cùng một tệp, bạn sẽ có tất cả các cấu hình bạn cần cho tất cả các loại và hương vị bản dựng của bạn.
Trong bảng điều khiển Firebase, bạn cần thêm một ứng dụng cho mỗi tên gói. Hãy tưởng tượng rằng bạn có 2 hương vị (dev và live) và 2 loại xây dựng (gỡ lỗi và phát hành). Tùy thuộc vào cấu hình của bạn nhưng có thể bạn có 4 tên gói khác nhau như:
- com.stackoverflow.example (phát hành trực tiếp)
- com.stackoverflow.example.dev (trực tiếp - nhà phát triển)
- com.stackoverflow.example.debug (gỡ lỗi - phát hành)
- com.stackoverflow.example.dev.debug (gỡ lỗi - dev)
Bạn cần 4 ứng dụng Android khác nhau trong Bảng điều khiển Firebase. (Trên mỗi máy bạn cần thêm SHA-1 để gỡ lỗi và trực tiếp cho từng máy tính bạn đang sử dụng)
Khi bạn tải xuống tệp google-services.json, thực sự nó không thực sự quan trọng từ ứng dụng bạn tải xuống, tất cả chúng đều chứa cùng một thông tin liên quan đến tất cả các ứng dụng của bạn.
Bây giờ bạn cần xác định vị trí tệp này ở cấp ứng dụng (ứng dụng /).
Nếu bạn mở tệp đó, bạn sẽ thấy rằng nếu chứa tất cả thông tin cho tất cả các tên gói của bạn.
Một điểm đau được sử dụng để làm plugin. Để làm cho nó hoạt động, bạn cần xác định vị trí plugin ở dưới cùng của tập tin của bạn. Vì vậy, dòng này ..
apply plugin: 'com.google.gms.google-services'
... cần phải ở dưới cùng của tệp build.gradle ứng dụng của bạn.
Đối với hầu hết những gì đã nói ở đây, nó cũng áp dụng cho các phiên bản trước. Tôi chưa bao giờ có các tệp khác nhau cho các cấu hình khác nhau, nhưng bây giờ với bảng điều khiển Firebase dễ dàng hơn vì chúng cung cấp một tệp duy nhất với mọi thứ bạn cần cho tất cả các cấu hình của bạn.