Firebase Remote config A/B Testing 메모공부방/Flutter2024. 10. 25. 15:36
Table of Contents
2024/10/25 기준
Firebase 에서 제공하는 A/B 테스트 방법에는 크게 3가지가 있어요,
Remote config, Messaging, In-App Messaging 를 이용해 테스트가 가능하고,
이번 글에서는 Remote config를 이용한 A/B 테스트를 해볼게요.
- 실험 만들기
a. Fireabase console → A/B Testing 이동 (https://console.firebase.google.com/u/4/project/vespexx-signal-dev-4c404/experiments/list?hl=ko)
b. 실험 만들기 → 원격 구성 클릭
c. 기본사항
- 실험 이름, 실험 설명 기입
- 실험 이름이 같으면 Remote config에서 Group화 되어 보여진다.
d. 타겟팅
- 앱 선택
* OS 별 실제 A/B 테스트 설정이 되어 있는지 확인 필수!!!! 한쪽만 노출될 가능성 있음
* Android, iOS 한번에 두 OS 타겟팅은 불가함.
* 실험을 한개 만든후 복제하여 다른 OS 선택 후 실험 가능
- 활성화 이벤트
(타겟팅된 모든 실험 사용자가 실험 시작 시점에 실험 변수 처리를 수신하지만 활성화 이벤트를 트리거한 사용자만 실험 측정에 포함된다.)
e. 목표
- 추적할 측정항목 선택
f. 변형
- remote config에 설정된 값 또는 직접 값을 만들어 테스트
- 직접 만들 경우 Remote config에 추가 된다.
g. 대안 가중치 조정
- 각 Variant 별 가중치 설정 (양의 정수만 가능) - 실험 시작
실험 생성후 실험 시작을 클릭하여 활성화 시켜야 실제 사용자에게 반영이 되어요! - 테스트 차수별 실제 value 측정
- 기기 : iPhone 15 (iOS 17.5)
- 테스트 방법: 앱삭제 후 재 실행
테스트 차수 | value |
1차 | {"test_value":"default"} |
2차 | {"test_value":"default"} |
3차 | {"test_value":"Variant A"} |
4차 | {"test_value":"Variant A"} |
5차 | {"test_value":"Variant A"} |
6차 | {"test_value":"Variant B"} |
- 기기 : Pixel 4 (Android 14)
- 테스트 방법 : 앱 삭제 후 재실행
테스트 차수value
테스트 차수 | value |
1차 | {"test_value":"Variant B"} |
2차 | {"test_value":"Variant A"} |
3차 | {"test_value":"Variant B"} |
4차 | {"test_value":"Variant B"} |
5차 | {"test_value":"Variant B"} |
6차 | {"test_value":"Variant A"} |
- App 재 실행 시 Value 측정(캐싱 초기화)
기기 : iPhone 15 (iOS 17.5)
- 테스트 방법: 30분 단위 App 재실행 후 측정
테스트 차수 | value |
1차 | {"test_value":"Variant B"} |
2차 | {"test_value":"Variant B"} |
3차 | {"test_value":"Variant B"} |
기기 : Pixel 4 (Android 14)
- 테스트 방법: 30분 단위 App 재실행 후 측정
테스트 차수 | value |
1차 | {"test_value":"Variant A"} |
2차 | {"test_value":"Variant A"} |
3차 | {"test_value":"Variant A"} |
- Remote config 업데이트 (로딩 전략 가져오기)
- fetchAndActivate() 함수를 호출하여 값 갱신 가능.
- 강제 실험 값 업데이트 필요시 서버에 특정 함수를 추가하여 remote config 버전 명시, 현재 버전과 맞지 않을경우 초기화 가능
제한사항
1. A/B 테스트 파라미터 값에는 실시간 Remote Config 업데이트가 지원되지 않습니다. Remote Config 실험에는 로딩 전략 가져오기 및 활성화를 사용하는 것이 좋습니다.
2. 필요에 따라 일부 Analytics 이벤트를 처음 트리거한 사용자의 데이터만 실험에 집계되도록 활성화 이벤트를 설정합니다. 타겟팅 파라미터와 일치하는 모든 사용자가 Remote Config 실험 값을 수신하지만 활성화 이벤트를 트리거한 사용자만 실험 결과에 포함됩니다.
app_install
app_remove
app_update
dynamic_link_first_open
3. 실험의 유효성을 보장하기 위해서는 선택한 이벤트가 앱에서 가져온 구성 값이 활성화된 후에 발생하는지 확인해야 합니다. 또한 다음 이벤트는 항상 가져온 값이 활성화되기 전에 발생하므로 사용할 수 없습니다.
기타 A/B Testing 서비스는 아래 링크 참조
https://mixpanel.mfitlab.com/blog/abtestingtool-vwo-abtasty-optimizely
참조 :
https://firebase.google.com/docs/ab-testing/abtest-config?hl=ko
반응형
'공부방 > Flutter' 카테고리의 다른 글
@soycrab :: 꿀맛코딩
행복한 코딩을 위하여!
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!