мы в настоящее время интегрируем плагин Performance в наше приложение для iOS.В ходе этого процесса мы проверили журналы Firebase и заметили что-то, что нам не подходит:
Как указано в документации, мы устанавливаем флаги Performance.sharedInstance().isInstrumentationEnabled
и Performance.sharedInstance().isDataCollectionEnabled
в didFinishLaunchingWithOptions
.
Чтобы смоделировать, что пользователь выбирает вход / выход для сбора данных о производительности, мы сначала устанавливаем эти значения в false, устанавливаем приложение, устанавливаем их в true, перезапускаем приложение, устанавливаем в false и снова.
Ожидается, что SDK будет собирать данные только во время второго запуска, но также и во время третьего запуска.После дальнейшего изучения мы обнаружили, что как только вы установите Performance.sharedInstance().isDataCollectionEnabled
в true, эта функция останется включенной, даже если вы установите ее в false в более поздней версии.Только после переустановки приложения трассировка отключается в порядке.Ниже вы можете увидеть отфильтрованный вывод журнала XCode последнего запуска, показывающий, что он все еще собирает данные, даже если не должен.
2019-05-08 13:46:17.532273+0200 stage[49670:820732] 5.20.0 - [Firebase/Performance][I-PRF100009] Recording trace: _as
2019-05-08 13:47:02.218257+0200 stage[49670:821041] 5.20.0 - [Firebase/Performance][I-PRF100010] Clearcut is about to send logs. 1 upload blocks will be ran.
2019-05-08 13:47:49.893332+0200 stage[49670:822055] 5.20.0 - [Firebase/Performance][I-PRF100009] Recording trace: _st_PageViewController
2019-05-08 13:47:55.067167+0200 stage[49670:822053] 5.20.0 - [Firebase/Performance][I-PRF100009] Recording trace: _st_PageViewController
2019-05-08 13:48:02.663044+0200 stage[49670:822276] 5.20.0 - [Firebase/Performance][I-PRF100009] Recording trace: _st_PageViewController
Таким образом, кажется, что пользователь больше не мог отказаться после выбораодин раз, но это не может быть ожидаемым поведением SDK, поэтому мы должны что-то упустить.У кого-нибудь есть идеи, как сделать так, чтобы повторное отключение сбора данных вступило в силу?
Спасибо, Кристиан