yandexmobile / react-native-appmetrica

React Native bridge to the AppMetrica on both iOS and Android.
MIT License
52 stars 132 forks source link

Так как библиотека мертвая, распишу как стоит подходить к подключению аппметрики #74

Open IslamRustam opened 9 months ago

IslamRustam commented 9 months ago

На самом то деле, самому подключить аппметрику в свое приложение без этой либы не тяжело. Если кратко, нужно сделать следующее:

  1. Установить аппметрику конкретно для айоса/андроида;
  2. Проинициализировать аппметрику в didFinishLaunchingWithOptions/onCreate (для айоса и андроида соответственно);
  3. Создать два мелких нативных модуля на айосе и андроиде, где вы по сути экспоузите методы нативных библиотек аппметрики для реакт нейтива.

Таким образом вы не зависите от устаревшей библиотеки, не устанавливаете лишний функционал, сами решаете какие методы из аппметрики будут доступны, какие нет.

Если данные шаги тяжело сделать самому, пишите, я запилю гайд с примерами кода и более подробным описанием процесса.

bulkinav commented 9 months ago

@IslamRustam да, будет здорово, если опишите конкретно часть про нативные модули.

IslamRustamov commented 9 months ago

@bulkinav на родной кушай https://habr.com/ru/articles/791202/, расписал гайд

kirx76 commented 8 months ago

Общался с разрабами с Яшки. Сказали что библиотека не мертвая и в скором времени они ее обновят. Жду уже 5й месяц

kirx76 commented 8 months ago

и стоит все же обновиться до 5 версии в своем гайде https://appmetrica.yandex.ru/docs/ru/sdk/ios/analytics/migration-io-5-0-0#rename-modules

MaximVaulin commented 6 months ago

Общался с разрабами с Яшки. Сказали что библиотека не мертвая и в скором времени они ее обновят. Жду уже 5й месяц

А "в скором времени" когда? Можешь узнать подробнее? Очень ждём! Н

nurmanbe7ov commented 6 months ago

при установки метрики на android устройстве вылетает вот такой алерт. может кто сталкивался с такой проблемой? заранее благодарю! react-native: 0.64.0. PS: в ближайшее время обновлять версию рн не собираюсь

Screenshot 2024-05-16 at 14 12 19
bgataullin commented 4 months ago

Finally, Яндекс выпустил версию 3.0.0. https://appmetrica.yandex.ru/docs/ru/sdk/react-native/analytics/migration-io-3-0-0 Но сам репозиторий недоступен

bulkinav commented 4 months ago

Но сам репозиторий недоступен

У меня все нормально - yarn add @appmetrica/react-native-analytics поставил пакет.

bgataullin commented 4 months ago

Пакет да, но исходный репозиторий закрыт, так что форк или баг по библиотеке им не отправить https://github.com/appmetrica/appmetrica-react-native-plugin

bulkinav commented 4 months ago

Фидбек можно направлять сюда: https://appmetrica.yandex.ru/docs/ru/troubleshooting/feedback-new

У меня лично возникла следующая проблема - при сборке проекта под iOS возникает:

/ios/Pods/Flipper-Folly/folly/Demangle.h:19:10 'folly/FBString.h' file not found in file included from /ios/Pods/KSCrash/Source/KSCrash/Recording/Tools/KSDemangle_Swift.cpp:28

Отписался через ту форму фидбека и получил следующий ответ:


Проблема возникает из-за того, что Flipper-Folly и KSCrash содержат header-файлы с одинаковыми названиями. В такой ситуации механизм header map работает некорректно. Один из файлов не входит с список индексов. Тут вопрос освещен подробнее: https://habr.com/ru/articles/144834/

Чтоб обойти проблему, можно выключить использование header map для одной из целей. Для Этого в ios/Podfile проекта внутри post_install do |installer| прописать:

     installer.pods_project.targets.each do |target|
       if target.name == 'KSCrash'
         target.build_configurations.each do |config|
           config.build_settings['USE_HEADERMAP'] = 'NO'
         end
       end
     end

Также проблемы не будет, если Flipper отключен.

В будущем поищем решение для этого конфликта на стороне плагина.

IslamRustamov commented 4 weeks ago

при установки метрики на android устройстве вылетает вот такой алерт. может кто сталкивался с такой проблемой? заранее благодарю! react-native: 0.64.0. PS: в ближайшее время обновлять версию рн не собираюсь

Screenshot 2024-05-16 at 14 12 19

@nurmanbe7ov если все еще актуально, попробуй открыть андроид студио, logcat и через него логи посмотреть, чтобы увидеть какая ошибка вылетает. Там должна быть ошибка, которая точно укажет в чем проблема