iOS의 Firebase Analytics 이벤트가 표시되지 않음
저는 구글 기반의 새로운 파이어베이스를 테스트하고 있으며 원격 알림 및 충돌 보고 기능을 구현했습니다.하지만 Analytics를 실행하는 데는 큰 문제가 있습니다.
는 이트를추다니로 이벤트를 합니다.FIRAnalytics.logEventWithName(...)를 "pproperties"로 합니다.FIRAnalytics.setUserPropertyString(...)그러나 작업을 수행해도 Firebase Analytics Console에는 데이터가 표시되지 않습니다.
몇 가지 이벤트를 수신하긴 하지만 first_open 및 session_start와 같은 이벤트는 전송되지 않습니다.또한, 이 데이터는 매우 오랜 시간이 지난 후에 도착하는 것 같습니다.
또한 이벤트를 추적하고 사용자 데이터를 저장하면 다음과 같은 메시지가 표시됩니다.
Upload task scheduled to be executed in approx. (s): 3102.294599890709
이것은 정말 이상하게 보입니다. 다음 데이터 배치를 보내려고 시도하기 전에 거의 한 시간 동안 대기하는 소방서는 버그임에 틀림없습니다. 아니면 구성 가능합니까?제가 극도로 긴 지연 시간을 기다렸을 때, 데이터가 전송되었습니다.하지만 나타나지 않습니다.
파이어베이스 이벤트는 장치의 과도한 배터리 소모를 방지하기 위해 한 시간에 한 번씩 일괄 처리되고 업로드됩니다.iOS에서 업로드 대상 1시간 전에 앱을 백그라운드로 실행하면 이 시간에 이벤트가 백그라운드로 전송됩니다.
iOS에 대한 디버그 로깅을 활성화할 수 있습니다(https://firebase.google.com/docs/analytics/ios/events#view_events_in_the_xcode_debug_console) 에서는 디버그 콘솔에 이벤트가 업로드되는 시기를 확인할 수 있습니다.
이벤트가 업로드되면 약 3시간 후에 데이터가 Firebase Analytics 대시보드에 표시됩니다.또한 기본 요일 범위는 "오늘"을 제외하므로 어제의 이벤트만 볼 수 있습니다.최신 이벤트를 보려면 달력 보기를 오늘을 포함하도록 전환할 수 있습니다.
데이터 업로드를 지연/배치하는 주요 이유는 배터리를 절약하기 위해서입니다.네트워크를 사용할 때마다 장치 모바일 네트워크 모뎀이 전원 모드로 전환되고 잠시 동안 이 모드로 유지됩니다.네트워크를 정기적으로 사용할 경우 배터리 수명에 심각한 영향을 미칩니다.업로드를 일괄 처리하고 업로드를 지연시키면 배터리에 미치는 영향이 상당히 줄어듭니다.
Swift에서는 다음과 같아야 합니다.
FIRAnalytics.logEvent(withName: "SignUp", parameters: ["user_id": userid, "user_name": username])
Firebase에서 이 이벤트를 보는 방법
- Firebase 콘솔 → Analytics 탭으로 이동합니다.
- DebugView 탭을 클릭하면 이벤트가 표시됩니다.
이 이벤트를 Xcode로 보는 방법
- Xcode에서 Product → Scheme → Edit Scheme을 선택합니다.
- 왼쪽 메뉴에서 실행 선택
- 인수 탭 선택
- 에 시작시인다음추가다합니를 합니다.
-FIRAnalyticsDebugEnabled
단 한 번의 대시!!
-FIR AnalyticsDebugEnabled 앞에는 대시가 하나만 있습니다.
콘솔에서 이벤트를 수신하지 않으면 명명 규칙을 따르지 않기 때문일 수 있습니다. 이벤트 이름에 공백이 있으면 다음과 같이 콘솔에 표시되지 않습니다.
mFirebaseAnalytics.logEvent("Add Camera", bundle);
그러나 다음과 같이 공간을 제거할 때:
mFirebaseAnalytics.logEvent("Add_Camera", bundle);
이제 약 3시간 후에 콘솔에서 이벤트를 볼 수 있습니다.다음과 같은 경우 애플리케이션에서 콘솔로 데이터를 전송합니다.
1- Data is more than an hours old
2- App goes into the background
자세한 내용은 이 튜토리얼을 참조하십시오.iOS에서 Firebase Analytics 시작하기: 이벤트 - Firecast
한 확인해야 할 은 사로항에그것확다입니에 기록 입니다.Arguments Passed on Launch맞습니다.그들은 다음과 같이 시작해야 합니다.-
-FIRAnalyticsDebugEnabled
그리고 아닌
FIRAnalyticsDebugEnabled
며칠 전에는 왜 아무것도 기록되지 않는지 궁금해하며 한 시간을 허비했습니다.
React-Native 앱(IOS/Android)
동일한 문제가 발생했습니다. debugView가 작동하지 않고 streamView 결함이 몇 번 있었습니다. 이벤트를 테스트하기 위해 찾은 가장 좋은 방법은 이벤트를 로그에 기록하는 것이었습니다.createPageEvent()그리고 나서.
중요한 것은 이벤트를 기록한 후 앱을 백그라운드로 전환하는 것입니다. 이벤트는 Firebase 이벤트 또는 streamView에 거의 실시간으로 표시됩니다(이벤트가 Firebase로 전송되는 시기를 보려면 이 문서를 참조하십시오).
이벤트는 로그에 기록된 후 1시간 후 또는 앱을 백그라운드에 둔 경우 즉시 전송됩니다.
import firebase, { RNFirebase } from 'react-native-firebase';
export default class AnalyticsService {
static async initialize() {
firebase.analytics().setAnalyticsCollectionEnabled(true);
}
static async createPageEvent(screen: string) {
firebase.analytics().setCurrentScreen(screen)
firebase.analytics().logEvent(`open_${screen}`)
}
}
결과는 스트림에서 이것입니다. 거의 실시간으로 봅니다 ->
이제 깔때기 같은 것들을 만들 수 있습니다.
first_open,session_start는 Firebase에서 자동으로 수집된 이벤트로 나열됩니다.
사용자 지정 이벤트에서 발생하는 극도의 업로드 작업 지연에 대해 도움을 드릴 수 없습니다.하지만 Firebase Analytics는 출시된 지 일주일도 되지 않았고 단지 버그일 수도 있습니다.
동일한 디버그 라인을 언급하지만 Google App Measurement 또는 이전 Google Mobile Analytics SDK와 관련된 StackOverflow 질문을 발견했습니다.
또한 Firebase Console은 실시간(소스)으로 이벤트를 표시하지 않습니다.
Firebase 콘솔 대시보드에서 이벤트에 대한 집계된 통계를 볼 수 있습니다.이러한 대시보드는 하루 종일 주기적으로 업데이트됩니다.즉시 테스트하려면 이전 섹션에 설명된 대로 logcat 출력을 사용합니다.
여기 간단한 참고 사항이 있습니다. 시뮬레이터를 사용한 후 이 작은 비디오 https://www.youtube.com/watch?v=5pYdTgSkW5E 에 따르면 X 코드의 홈 버튼을 눌러야 합니다. 그렇지 않으면 데이터가 서버로 전송되지 않습니다.
대부분의 사람들이 직면하고 있는 가장 일반적인 문제는 모든 것이 완벽하게 잘 작동하고 있음에도 불구하고 소방서가 이벤트를 기록하지 않는다는 것입니다. 문서에서 발견한 것은 이것입니다.
앱 버전에서 Analytics 수집을 영구적으로 비활성화해야 하는 경우 설정FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED to YES앱의 Info.plist 파일에 있습니다.설정FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED to YES의 값보다 우선합니다.FIREBASE_ANALYTICS_COLLECTION_ENABLED앱에서Info.plistsetAnalyticsCollectionEnabled로 설정된 모든 값뿐 아니라
수집을 다시 활성화하려면, 제거FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED당신의Info.plist설정FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED로.NO효과가 없으며 없는 것과 동일한 동작이 발생합니다.FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED을 설정합니다.Info.plist file.
그래서 당신은 제거해야 합니다.FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED당신의google-servicesinfo.plist분석을 수행할 수 있는 파일
장치가 배터리 저장 모드로 설정되어 있지 않은지 확인합니다.이 모드에서는 다른 사용자의 설명에 따라 디버그 모드에서 Firebase를 실행하더라도 이벤트가 한 번만 누적되어 전송될 수 있습니다.
Firebase에서 이벤트를 업데이트하는 데 너무 많은 시간이 걸립니다.아마 하루에 한 번씩 하는 것 같습니다.Firebase 이벤트의 iOS 또는 Android 로깅을 참조하십시오.
상세 로깅을 사용하여 SDK에 의한 이벤트 로깅을 모니터링하여 이벤트가 올바르게 로깅되고 있는지 확인할 수 있습니다.여기에는 자동 및 수동으로 기록된 이벤트가 모두 포함됩니다.
다음과 같이 상세 로깅을 활성화할 수 있습니다.
- Xcode에서 Product > Scheme > Edit Scheme...을 선택합니다.
- 왼쪽 메뉴에서 Run(실행)을 선택합니다.
- 인수 탭을 선택합니다.
- 시작 시 전달된 인수 섹션에서 -FIRAnalyticsDebugEnabled를 추가합니다.
다음 번에 앱을 실행하면 이벤트가 Xcode 디버그 콘솔에 표시되어 이벤트가 전송되는지 즉시 확인할 수 있습니다.
언급URL : https://stackoverflow.com/questions/37416159/firebase-analytics-events-from-ios-not-showing-up
'codememo' 카테고리의 다른 글
| 부울 배열을 int 배열로 변환하는 방법 (0) | 2023.06.17 |
|---|---|
| 상수 식에서 0으로 나누기 (0) | 2023.06.17 |
| 인덱스 및 개체 유형이 아닌 Pandas DataFrame에서 값을 가져오는 방법 (0) | 2023.06.12 |
| VueJS + VUEX - 데이터 전송 관련 문제 (0) | 2023.06.12 |
| Angular2 경로 변경 주의사항 (0) | 2023.06.12 |
