Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 안보내짐
- foreground
- fullBackupContent
- 입력 커서
- gestureRecognizers
- freezed
- Set ID
- Chrome Developer Tools
- 안드로이드
- StringUtils.isBlank
- carousel slider
- TCP/IP모델
- runSpacing
- not working
- 앱
- TextFormField
- StringUtils.isEmpty
- Could not create service of type FileAccessTimeJournal using
- Flutter
- 웹뷰
- allowBackup
- project flow
- 프로그래머스
- Flutter SDK
- 플루터
- 두 수의 나눗셈
- VerticalMultiDragGestureRecognizer
- 에러
- 플러터
- 크롬개발자도구
Archives
- Today
- Total
흰오목눈이야 개발하자
[Flutter] Amplitude 이벤트 App set ID 문제 해결 본문
문제
Flutter Amplitude SDK를 구현했다. 테스트용 로그(예. Logger)는 확인이 가능해 이벤트를 성공적으로 보낸다고 생각했는데 실제 Amplitude 도구에서는 이벤트 송신이 안되었다.
- 테스트 대상 OS : Android
- Amplitude SDK (Flutter) 공식 사이트 : https://www.docs.developers.amplitude.com/data/sdks/flutter/
원인
안드로이드의 경우 App set ID가 필수였다. 사용자의 개인 정보를 보호하기 위한 대안으로 설정한 것으로 이를 설정하지 않으면 Amplitude 이벤트를 송신할 수 없다.
App set ID is a unique identifier for each app install on a device. App set ID is reset by the user manually when they uninstall the app, or after 13 months of not opening the app. Google designed this as a privacy-friendly alternative to Ad ID for users who want to opt out of stronger analytics.
: App set ID는 기기에 설치된 각 앱의 고유 식별자입니다. App set ID는 사용자가 앱을 제거하거나 13개월 동안 앱을 열지 않으면 수동으로 재설정됩니다. 구글은 이를 강력한 분석에서 벗어나려는 사용자를 위해 Ad ID의 개인 정보 보호를 위한 대안으로 설계했습니다.
- 참고: https://www.docs.developers.amplitude.com/data/sdks/android/#app-set-id
Android SDK (Maintenance) - Amplitude Developer Center
The Amplitude Android SDK installation and quick start guide.
www.docs.developers.amplitude.com
해결
1. 안드로이드 build.gradle 파일에 play-services-appset 종속성을 추가한다.
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.0.2'
}
2. App Set ID를 Amplitude 인스턴스에 설정한다.
(amplitude_instance).useAppSetIdForDeviceId();
예) 전체 코드
import 'package:amplitude_flutter/amplitude.dart';
import 'package:amplitude_flutter/identify.dart';
class YourClass {
Future<void> exampleForAmplitude() async {
// Create the instance
final Amplitude analytics = Amplitude.getInstance(instanceName: "project");
// Initialize SDK
analytics.init(widget.apiKey);
// App Set ID
analytics.useAppSetIdForDeviceId();
// Log an event
analytics.logEvent('MyApp startup', eventProperties: {
'friend_num': 10,
'is_heavy_user': true
});
}
}
3. Amplitude 유저 검색란에서 실시간으로 이벤트가 송신되는지 확인한다.
'Flutter' 카테고리의 다른 글
Flutter Freezed Snippet 코드 - Freezed 자동 생성 (0) | 2023.09.07 |
---|---|
[Flutter] 모바일 디바이스 상태 (Device States), 권한 부여 상태 (Authorization Status) (0) | 2023.08.22 |
[Flutter, Dart] const, final 차이점 (0) | 2023.03.13 |
Flutter iOS 세팅 에러 CocoaPods not installed. (0) | 2023.01.25 |
Flutter iOS 세팅 에러 Xcode installation is incomplete; a full installation is necessary for iOS development. (0) | 2023.01.25 |