Можно ли использовать Firebase Remote Config без установленных на устройстве сервисов Google Play (aosp)?

Я выполнил эту настройку в своем проекте Android: (через https://firebase.google.com/docs /android/настройка):

  1. добавлен путь к классам 'com.google.gms:google-services:4.3.3' в основной файл gradle
  2. добавлена ​​реализация 'com.google.firebase:firebase-config:19.1.3' и 'apply plugin: 'com.google.gms.google -services'' в файл градиента приложения

Он компилируется, но когда я сначала запускаю приложение fetchAndActivate, это не удается, потому что после вызова fetch() задача приводит к результату:

MISSING_INSTANCEID_SERVICE (не удалось получить токен Firebase Instance ID для извлечения)

  firebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
        FirebaseRemoteConfigSettings.Builder configBuilder = new FirebaseRemoteConfigSettings.Builder();
        configBuilder.setMinimumFetchIntervalInSeconds(3600);


        firebaseRemoteConfig.setConfigSettingsAsync(configBuilder.build());
        HashMap<String, Object> defaults = new HashMap<>();
        defaults.put("variant", "basic");
        startActivity(new Intent(getApplicationContext(), CarLauncherBasic.class));

        firebaseRemoteConfig.setDefaultsAsync(defaults);
        firebaseRemoteConfig.fetchAndActivate()
                .addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
                    @Override
                    public void onComplete(@NonNull Task<Boolean> task) {
                        if (task.isSuccessful()) {
                            boolean updated = task.getResult();
                            Toast.makeText(MainActivity.this, "Fetch and activate succeeded",
                                    Toast.LENGTH_SHORT).show();

                        } else {
                            Toast.makeText(MainActivity.this, "Fetch failed",
                                    Toast.LENGTH_SHORT).show();
                        }
                        String variant = firebaseRemoteConfig.getString("variant");

//
                    }
                });

    }
8
icouldin 18 Мар 2020 в 17:08

2 ответа

Последняя версия удаленной конфигурации Firebase [19.2.0], похоже, работает на устройствах без Google PlayServices. Я использую его с аналитикой Firebase [17.4.4]. Я все еще мог видеть эти предупреждения PlayServices в logcat, но эта функция, похоже, работает.

В примечаниях к выпуску remote-config [19.2.0] по приведенной ниже ссылке указано -> «Перенесено для использования службы установки Firebase напрямую вместо использования косвенной зависимости через идентификаторы экземпляров Firebase».
Так что, возможно, это помогло.
https://firebase.google.com/support/release -notes/android#remote-config_v19-2-0

6
Dx-TCB 9 Июл 2020 в 11:34

Похоже, это было введено в более новых версиях удаленной конфигурации. Последняя версия, которая работает у меня на устройствах без сервисов Google Play, — 19.1.0. Было бы хорошо убедиться, что люди из Firebase знают об этом, чтобы это можно было исправить в будущих версиях.

Я получил эту информацию от службы поддержки Firebase: Служба установки Firebase, упомянутая в сообщении Stack Overflow, которым вы поделились, недостаточна для устранения зависимости от Play Services, поэтому в настоящее время нет планов по решению этой проблемы.

0
user2720435 30 Май 2020 в 14:26