19

Bir Android uygulamasında Google Analytics'i kurma kılavuzunu takip etme (https://developers.google.com/analytics/devguides/collection/android/v4/) Bu google-services.json dosyasının güvenli bir şekilde kaynak kod sürümüne geçirilip yüklenemediğini ve herkese açık bir GitHub deposuna gönderilip gönderilmeyeceğini veya bu dosyada bulunabileceğini merak ediyorum. kimlik bilgileri veya sırlar.google-services.json gizli mi?

Başka yerde kesin bir yanıt bulamıyorum, ancak örnek uygulamaların hem dosyayı (https://github.com/google/climb-tracker/blob/master/mobile/google-services.json) hem de diğerlerinin dosyayı .gitignore dosyasına eklediğini görebiliyorum.

cevap

6

Gizli olarak kabul edilmelidir. Oluşturulan json dosyası, push bildirimleri göndermek için kullanabileceğiniz bir api_key içerir.

Google Geliştirici Konsolu üzerindeki kimlik bilgileri sayfasına gitmek varsa, API keys

+0

[Bu gönderi] 'de (https://stackoverflow.com/a/37484053/5861618) görebileceğiniz gibi, API anahtarı, Firebase projenizi yalnızca Google sunucularında tanımlar. Birisinin bunu bilmesi güvenlik riski değildir. –

3

Evet altında listelenen json dosyası anahtarı göreceksiniz. En azından api_key maddeleri gizli tutulmalıdır.

Kamu havuzunuza google-services.json kodunu koymanın ve gizli tutmanın bir yolu, BlackBox numaralı telefonu kullanmaktır. uygulama düzeyinde build.gradle yılında

böyle örnek defaultConfig için bir kopyalama görevini koydu: sağ noktaya secret/ klasörden dosya kopyalar

defaultConfig { 
    ... 
    ... 
    copy { 
     from "../secret/" 
     into "." 
     include "*.json" 
    } 
} 

.

Şimdi, uygulamanızı oluşturmak için, repo'unuzu ilk kez kontrol ettiğinizde blackbox_edit_start google-services.json.gpg'u çalıştırmanız gerekecek ve bundan sonra iyisiniz.

9

this gönder bu dosyayı güvenli bir şekilde saklamak için gerçek bir neden yok gibi görünüyor. Veriler yine de APK'da olacak.

+1

APK bozulabilir ... – stepheaw