Использование Google Firebase Remote Config без сервисов Google Play? - PullRequest
2 голосов
/ 18 марта 2020

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

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

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

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

MISSING_INSTANCEID_SERVICE (Не удалось получить токен идентификатора экземпляра Firebase для получения)

  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");

//
                    }
                });

    }

1 Ответ

2 голосов
/ 18 марта 2020

firebaser here

К сожалению, в настоящее время Remote Config зависит от того, установлены ли на устройстве службы Google Play.

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

Хорошая новость заключается в том, что многие Сервисы Firebase переходят на новый сервис под названием Firebase Installation Service, который больше не зависит от сервисов Google Play. Но нет никакой временной шкалы, когда Remote Config больше не будет иметь эту зависимость.

Предыдущий ответ, который был неправильным ?:

Я спросил вокруг, и кажется, что Remote Config делает не зависит от Google Play Services на устройстве. Поэтому вы должны иметь возможность использовать его на устройстве AOSP.

Однако многие сценарии использования Remote Config зависят от ориентации пользователей на события и свойства Analytics. А поскольку Analytics не является частью SDK с открытым исходным кодом Firebase, вы не сможете ориентировать пользователей на AOSP со свойствами Analytics. Другие возможности таргетинга Remote Config будут работать для всех, но вы сможете ориентировать пользователей только на события / свойства Google Analytics, если они находятся на устройстве с Google Play Services.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...