For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
최신 React Native SDK로 마이그레이션
Amplitude의 최신 React Native SDK(@amplitude/analytics-react-native)는 플러그인 아키텍처, 내장 형식 정의, 광범위한 플랫폼 지원을 특징으로 합니다.
최신 React Native SDK는 유지 관리 React Native SDK(@amplitude/react-native)와 완전한 하위 호환성을 제공하지 않습니다. 그러나 v1.3.4 및 이후 버전에서는 사용자, 기기 및 이벤트 데이터를 자동으로 새 SDK로 전송합니다.
@amplitude/analytics-react-native로 마이그레이션하려면 종속성 및 계측을 업데이트하십시오.
용어
@amplitude/react-native: React Native SDK 유지 관리.@amplitude/analytics-react-native: 최신 React Native SDK.
종속성
package.json를 업데이트하여 유지보수 React Native SDK를 제거하고 최신 React Native SDK를 설치하십시오.
{
"dependencies": {
"@amplitude/react-native": "*"
"@amplitude/analytics-react-native": "^1"
}
}
계측
최신 React Native SDK는 이벤트를 계측하기 위한 API를 제공합니다. 마이그레이션하려면 다음 호출을 업데이트하십시오.
초기화
유지 관리 SDK의 getInstance() 메서드는 API 키만 허용하며 최신 SDK에서는 이를 제거합니다. SDK를 초기화하려면 사용자 ID 및 구성 매개 변수를 입력하여 init()를 호출하십시오.
- import { Amplitude } from '@amplitude/react-native';
+ import { init } from '@amplitude/analytics-react-native';
- Amplitude.getInstance().init(API_KEY)
+ init(API_KEY, OPTIONAL_USER_ID, config);
구성
최신 React Native SDK는 초기화 시 유지 관리 SDK와 유사한 설정을 가진 구성 객체를 허용합니다.
| @amplitude/react-native | @amplitude/analytics-react-native |
|---|---|
enableCoppaControl() | 자세한 내용은 COPPA 섹션을 참조하십시오. |
disableCoppaControl() | 자세한 내용은 COPPA 섹션을 참조하십시오. |
setAdvertisingIdForDeviceId() | ADID를 장치 ID로 설정하기 위한 구성이 없습니다. config.trackingOptions.adid의 기본값이 true이므로 SDK는 여전히 기본적으로 ADID를 추적합니다. SDK가 기기 ID를 초기화하는 방법에 대한 자세한 내용은 기기 ID를 참조하십시오. |
setAppSetIdForDeviceId() | 앱 세트 ID를 장치 ID로 설정할 구성이 없습니다. 최신 React Native SDK는 곧 출시될 릴리스에서 App Set ID 지원을 추가합니다. |
setOptOut() | setOptOut() 및 config.optOut는 둘 다 지원됩니다. |
trackingSessionEvents() | config.trackingSessionEvents. |
setUseDynamicConfig() | 지원되지 않습니다. |
setMinTimeBetweenSessionsMillis() | config.sessionTimeout. |
setServerZone() | config.serverZone. |
setServerUrl() | config.serverUrl. |
setEventUploadMaxBatchSize() | config.flushQueueSize. |
setEventUploadPeriodMillis() | config.flushIntervalMillis. |
setEventUploadThreshold() | config.flushQueueSize. |
enableLogging() | 로깅은 항상 설정되어 있습니다. 출력을 제어하려면 config.logLevel을 설정하거나 config.loggerProvider을 사용자 정의합니다. |
setLogLevel() | config.logLevel. |
addLogCallback() | 완벽하게 지원되지 않습니다. 로깅을 사용자 정의하려면 config.loggerProvider을 설정합니다. |
logEvent
logEvent() API는 track()에 매핑됩니다.
import { Amplitude } from "@amplitude/react-native";
import { track } from "@amplitude/analytics-react-native";
Amplitude.getInstance().logEvent("Button Clicked", { buttonColor: "primary" });
track("Button Clicked", { buttonColor: "primary" });
업로드 이벤트
uploadEvents() API는 flush()에 매핑됩니다.
import { Amplitude } from "@amplitude/react-native";
import { flush } from "@amplitude/analytics-react-native";
Amplitude.getInstance().uploadEvents();
flush();
식별
identify() API 및 Identify 유형은 동일하게 유지됩니다.
import { Amplitude, Identify } from "@amplitude/react-native";
import { Identify, identify } from "@amplitude/analytics-react-native";
const identifyObj = new Identify();
identifyObj.set("location", "LAX");
Amplitude.getInstance().identify(identifyObj);
identify(identifyObj);
setUserProperties
최신 SDK는 setUserProperties()를 제거합니다. 통합 identify() API를 사용하여 사용자 속성을 추가하십시오.
import { Amplitude } from '@amplitude/react-native';
import { Identify, identify } from '@amplitude/analytics-react-native';
Amplitude.getInstance().setUserProperties({
membership, "paid",
payment, "bank",
})
const identifyObj = new amplitude.Identify()
identifyObj
.set("membership", "paid")
.set("payment", "bank")
amplitude.identify(identifyObj)
clearUserProperties
최신 SDK는 clearUserProperties()를 제거합니다. 통합 identify() API를 사용하여 사용자 속성을 제거하십시오.
import { Amplitude } from "@amplitude/react-native";
import { Identify, identify } from "@amplitude/analytics-react-native";
Amplitude.getInstance().clearUserProperties();
const identifyObj = new amplitude.Identify();
identifyObj.clearAll();
amplitude.identify(identifyObj);
setUserId
유지 관리 SDK는 deviceId및 userId에 대해 길이 제한을 적용하지 않는 이전 SDK 엔드포인트(api2.amplitude.com)를 사용합니다. 최신 SDK는 Amplitude의 HTTP V2 API(api2.amplitude.com/2/httpapi)를 사용하며 기본적으로 식별자가 최소 5자 이상이어야 합니다. 최신 SDK로 마이그레이션할 때 5자 미만의 식별자를 허용했다면 config.minIdLength를 더 작은 값으로 설정하십시오.
setUserId() API는 동일하게 유지됩니다.
import { Amplitude } from "@amplitude/react-native";
import { setUserId } from "@amplitude/analytics-react-native";
Amplitude.getInstance().setUserId("test_user_id");
setUserId("user@amplitude.com");
groupIdentify
이제 getInstance()를 호출하지 않고도 identify 호출을 수행할 수 있습니다.
import { Amplitude } from "@amplitude/react-native";
import { Identify, groupIdentify } from "@amplitude/analytics-react-native";
const groupType = "plan";
const groupName = "enterprise";
const identifyObj = new Identify();
identifyObj.set("key1", "value1");
Amplitude.getInstance().groupIdentify(groupType, groupName, identifyObj);
groupIdentify(groupType, groupName, identifyObj);
logRevenue
logRevenue() API는 revenue()에 매핑됩니다. 최신 SDK는 receipt 또는 receiptSignature를 지원하지 않습니다.
import { Amplitude } from "@amplitude/react-native";
import { Revenue, revenue } from "@amplitude/analytics-react-native";
const userProperties = {
price: 3,
productId: "com.company.productId",
quantity: 2,
revenueType: "productRevenue",
eventProperties: {
key: "value",
},
};
ampInstance.logRevenue(userProperties);
const event = new Revenue()
.setPrice(3)
.setProductId("com.company.productId")
.setQuantity(2)
.setRevenueType("productRevenue")
.setEventProperties({
key: "value",
});
revenue(event);
setPrice(3) 및 setQuantity(2) 대신 setRevenue(6)를 사용할 수도 있습니다.
마이그레이션 세부 정보
기기 ID
유지보수 React Native SDK는 유지보수 iOS, Android 및 브라우저 SDK를 래핑하고 React Native 호출을 네이티브 SDK 함수에 매핑하므로, 기기 ID 생성은 각 플랫폼의 네이티브 SDK를 따릅니다. 기기 ID 생애주기 분석에 대한 자세한 내용은 유지 관리 iOS SDK 및 유지 관리 Android SDK 문서를 참조하십시오.setAdvertisingIdForDeviceId() 또는 setAppSetIdForDeviceId()를 호출하여 ADID 또는 앱 세트 ID를 기기 ID로 설정할 수도 있습니다.
최신 React Native SDK는 기기 ID를 이 순서대로 지정된 목록에서 첫 번째 유효한 값으로 설정합니다:
- 초기화 시 구성에 제공된 장치 ID입니다.
- SDK가 웹에서 실행될 때 URL 매개변수의
deviceId값(예:http://example.com/?deviceId=123456789)입니다. - 쿠키 저장소의 장치 ID입니다.
- 무작위로 생성된 36자리 UUID입니다.
광고 ID
유지 보수 React Native SDK는 setAdvertisingIdForDeviceId() 또는 setAppSetIdForDeviceId()을 통해 광고 ID를 기기 ID로 설정할 수 있도록 지원합니다. config.trackingOptions.adid의 기본값이 true로 설정되어 있으므로 최신 React Native SDK는 기본적으로 ADID를 추적합니다. 최신 React Native SDK는 앱 세트 ID, IDFA 또는 IDFV를 지원하지 않습니다.
COPPA
유지 보수 React Native SDK는 enableCoppaControl()를 통해 COPPA 제어를 지원합니다. 최신 React Native SDK는 해당 API를 지원하지 않지만, 추적하기 전에 식별 정보를 제거하는 config.trackingOptions또는 강화 플러그인을 통해 COPPA를 활성화할 수 있습니다.
- IDFA, IDFV, ADID 및 AppSetId를 활성화하는 방법에 대한 자세한 내용은 광고 식별자 문서를 참조하십시오.
- IP 주소 추적을 해제하려면
config.trackingOptions.ipAddress을false로 설정하십시오. - 페이로드에서
city또는 기타 식별 정보를 제거하려면 인리치먼트 플러그인을 사용하십시오. - SDK는 위치(위도 및 경도)를 추적하지 않습니다.
세션 이벤트
유지 관리 React Native SDK는 trackingSessionEvents(true)를 호출할 때 세션 시작 및 종료 이벤트를 자동으로 기록합니다. 최신 React Native SDK에서는 동일한 동작을 위해 config.trackingSessionEvents를 true로 설정합니다. 동일한 세션 내에서 기록된 이벤트는 세션 ID를 공유하며, Amplitude는 이벤트를 세션별로 그룹화합니다.
데이터 마이그레이션
v1.3.4부터 SDK는 기본적으로 기존 유지 관리 SDK 데이터(이벤트, 사용자 ID 및 장치 ID)를 최신 SDK로 이동합니다. 이동을 비활성화하려면 구성에서 migrateLegacyData을 false로 설정하십시오.
init(API_KEY, OPTIONAL_USER_ID, {
migrateLegacyData: false,
});
이 내용이 도움이 되었나요?