Issue
Я размещаю приложение, написанное на Kotlin, на AppEngine и натолкнулся на пересекающуюся документацию от Google относительно аутентификации Firestore, работающего на сервере. Обе реализации работают как положено в AppEngine.Есть ли у одной реализации преимущества, есть ли отдельные варианты использования, или это просто дублирование?
Инициализация на вашем собственном сервереЧтобы использовать Firebase Admin SDK на вашем собственном сервере, используйте служебную учетную запись.
Перейдите в раздел IAM & admin> Сервисные учетные записи в консоли облачной платформы.Создайте новый закрытый ключ и сохраните файл JSON.Затем используйте файл для инициализации SDK:
import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.firestore.Firestore;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
// Use a service account
InputStream serviceAccount = new FileInputStream("path/to/serviceAccount.json");
GoogleCredentials credentials = GoogleCredentials.fromStream(serviceAccount);
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(credentials)
.build();
FirebaseApp.initializeApp(options);
Firestore db = FirestoreClient.getFirestore();
Добавление клиентской библиотеки сервера в ваше приложение
Использование Gradle: compile 'com.google.cloud:google-cloud-firestore:0.58.0-beta'
Инициализация Cloud Firestore
import com.google.cloud.firestore.Firestore;
import com.google.cloud.firestore.FirestoreOptions;
FirestoreOptions firestoreOptions =
FirestoreOptions.getDefaultInstance().toBuilder()
.setProjectId(projectId)
.build();
Firestore db = firestoreOptions.getService();