переинициализировать библиотеку после сборки ? Проблема в том что я не могу переинициализировать библиотеку AppMetrica что-бы поменять его ключ.
Я хочу использовать разные ключи метрик для прода и беты
Судя по мануалу, ключ устанавливается на уровне нативного кода - swift или objective C, причём название функции намекает на лайфсайкл аппки. Скорее всего нельзя, но точно ответит только нативщик
Инициализация библиотеки к ее сборке не имеет отношения, инициализация происходит тогда, когда вы ее вызываете, но не раньше старта процесса приложения. Чтобы сделать разные ключи, нужно их подкладывать в сборку через какую-нибудь переменную, когда будет регулироваться типом сборки.
Я так делал по типу сборки . Но теперь хотел после релиза в настройках менять режим и вместе с ним ключ метрики. У меня три режима дев, бета и прод. По сути там просто меняется адрес запроса . И как сделал я ) При открытии МП инициализацирую метрику ключом которую получаю от зависимости среды. И если меняю среду то просто сохраняю в стораже среду которая мне нужна. Дальше закрываю приложение и заново открываю . И по сути он берет новый ключ и заново идёт инициализация.
если библиотека поддерживает динамическую инициализацию из js - можно в любой момент. если нет - стоит изменить подход, использовать переменные окружения + react-native-config (или аналоги) при сборке приложения и настроить buildVariants / build targets
Если инициализация библиотеки выполняется вручную с передачей ей ключа, то да, так можно сделать. Прямо в рантайме выполнить деинициализацию библиотеки и проинициализировать ее заново вряд ли выйдет, я не помню ни одну библиотеку, которая бы поддерживала подобное.
Да, в рантайме ваще ничего не смог сделать.
Обсуждают сегодня