Adjust SDK에는 앱에서 사용자 프라이버시를 관리할 수 있는 기능이 포함되어 있습니다.
삭제 요청 전송
+ (void)gdprForgetMe;
EU의 개인정보 보호 규정(GDPR) 및 기타 개인정보 보호법(CCPA, LGPD 등)은 데이터 주체에게 개인 데이터 처리와 관련하여 포괄적인 권리를 부여합니다. 이러한 권리에는 삭제 권리(GDPR 17조)(1)가 포함됩니다. 데이터 처리자로서 Adjust는 귀하의 (앱) 사용자의 이러한 요청을 처리하는 데 있어 귀하(데이터 컨트롤러)를 지원할 의무가 있습니다.
gdprForgetMe
메서드를 호출하여 사용자의 삭제 요청을 Adjust로 전송할 수 있습니다. 삭제 요청 수신 시 Adjust는 다음의 조치를 취합니다:
- Adjust 내부 시스템에서 해당 사용자의 모든 개인 정보 기록을 영구적으로 삭제합니다.
- Adjust는 더 이상 Adjust SDK를 통해 해당 사용자/기기로부터 데이터를 수신하지 않습니다.(2)
Adjust.gdprForgetMe();
[Adjust gdprForgetMe];
Adjust.gdprForgetMe();
특정 사용자에 대한 서드파티 공유
Adjust SDK를 사용하여 사용자의 서드파티 공유 설정 변경 내용을 기록할 수 있습니다. 서드파티 공유 설정은 AdjustThirdPartySharing
클래스를 사용하여 구성됩니다.
AdjustThirdPartySharing 객체 인스턴스화
- (nullable id)initWithIsEnabledNumberBool:(nullable NSNumber *)isEnabledNumberBool;
Adjust SDK와의 서드파티 공유를 활성화 또는 비활성화하려면 AdjustThirdPartySharing
객체를 인스턴스화해야 합니다. 이 객체에 Adjust의 서드파티 공유 처리 방식을 제어하는 변수가 포함됩니다.
서드파티 공유 객체를 인스턴스화하려면 새로운 AdjustThirdPartySharing
인스턴스를 생성하고 다음 파라미터를 전달합니다.
isEnabled
(NSNumber
): 서드파티 공유의 활성화 여부.1
전달로 서드파티 공유 활성화 또는0
전달로 서드파티 공유 비활성화
let adjustThirdPartySharing = ADJThirdPartySharing.initWithIsEnabledNumberBool(1)Adjust.trackThirdPartySharing(adjustThirdPartySharing)
ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabledNumberBool:1];[Adjust trackThirdPartySharing:adjustThirdPartySharing];
var adjustThirdPartySharing = new AdjustThirdPartySharing(1);Adjust.trackThirdPartySharing(adjustThirdPartySharing);
AdjustThirdPartySharing
객체를 인스턴스화한 후에 AdjustThirdPartySharing
인스턴스를 인수로 Adjust.trackThirdPartySharing
메서드를 호출하여 Adjust에 정보를 전송할 수 있습니다.
let adjustThirdPartySharing = ADJThirdPartySharing.initWithIsEnabledNumberBool(0)Adjust.trackThirdPartySharing(adjustThirdPartySharing)
ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabledNumberBool:0];[Adjust trackThirdPartySharing:adjustThirdPartySharing];
var adjustThirdPartySharing = new AdjustThirdPartySharing(0);Adjust.trackThirdPartySharing(adjustThirdPartySharing);
세분화된 정보 전송
- (void)addGranularOption:(nonnull NSString *)partnerName key:(nonnull NSString *)key value:(nonnull NSString *)value;
서드파티 공유 설정 변경 시 세부 정보를 추가할 수 있습니다. 사용자의 결정에 대한 보다 자세한 정보 전달에 본 기능을 사용하시기 바랍니다. 다음 파라미터와 함께 addGranularOption
메서드를 호출합니다.
partnerName
(NSString
): 세분화 옵션을 적용할 파트너의 이름key
(NSString
): 옵션 키value
(NSString
): 옵션 값
다음 파트너를 이용할 수 있습니다.
파트너 이름 | String 값 |
---|---|
Apple Ads | apple_ads |
facebook | |
Google Ads | adwords |
Google Marketing Platform | google_marketing_platform |
Snapchat | snapchat |
Tencent | tencent |
TikTokSan | tiktok_san |
X (구 Twitter) | twitter |
Yahoo Gemini | yahoo_gemini |
Yahoo Japan Search | yahoo_japan_search |
let adjustThirdPartySharing = ADJThirdPartySharing.initWithIsEnabledNumberBool(nil)adjustThirdPartySharing.addGranularOption("PartnerA", key: "foo", value: "bar")Adjust.trackThirdPartySharing(adjustThirdPartySharing)
ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabledNumberBool:nil];[adjustThirdPartySharing addGranularOption:@"PartnerA" key:@"foo" value:@"bar"];[Adjust trackThirdPartySharing:adjustThirdPartySharing];
var adjustThirdPartySharing = new AdjustThirdPartySharing(null);adjustThirdPartySharing.addGranularOption("PartnerA", "foo", "bar");Adjust.trackThirdPartySharing(adjustThirdPartySharing);
Facebook의 제한적 데이터 사용 관리
Facebook은 CCPA(California Consumer Privacy Act, 캘리포니아 소비자 프라이버시법)를 준수하기 위해 LDU(제한적 데이터 사용)라는 기능을 제공합니다. 이 기능을 사용하면 캘리포니아 기반의 사용자가 개인 정보의 판매를 옵트아웃 한 경우 Facebook에게 이를 알릴 수 있습니다. 또한 모든 사용자를 옵트아웃으로 기본 설정하고 싶은 경우에도 사용할 수 있습니다.
addGranularOption
메서드에 다음 인수를 전달하여 Facebook LDU 상태를 업데이트할 수 있습니다.
파라미터 | 설명 |
---|---|
partner_name | LDU를 토글하기 위해 facebook 를 사용하시기 바랍니다. |
data_processing_options_country | 사용자가 위치한 국가.
|
data_processing_options_state | 사용자가 어느 주에 위치하고 있는지 Facebook에 알림.
|
let tps = ADJThirdPartySharing.initWithIsEnabledNumberBool(nil)tps.addGranularOption("facebook", key: "data_processing_options_country", value: "1")tps.addGranularOption("facebook", key: "data_processing_options_state", value: "1000")Adjust.trackThirdPartySharing(tps)
ADJThirdPartySharing *tps = [[ADJThirdPartySharing alloc] initWithIsEnabledNumberBool:@YES];[tps addGranularOption:@"facebook" key:@"data_processing_options_country" value:@"1"];[tps addGranularOption:@"facebook" key:@"data_processing_options_state" value:@"1000"];[Adjust trackThirdPartySharing:tps];
var tps = new AdjustThirdPartySharing(null);tps.addGranularOption("facebook", "data_processing_options_country", "1");tps.addGranularOption("facebook", "data_processing_options_state", "1000");Adjust.trackThirdPartySharing(tps);
Google에 동의 데이터 제공(디지털 시장법 준수)
EU의 DMA(Digital Markets Act, 디지털 시장법)에 따라 Google 애드와 Google 마케팅 플랫폼은 API에 대한 Adjust의 어트리뷰션 요청을 수신하기 위해 명시적인 동의를 받아야 합니다. 이 동의를 전달하려면 파트너 google_dma
에 대한 서드파티 공유 인스턴스에 다음의 세분화된 옵션을 추가해야 합니다.
Key | 값 | 설명 |
---|---|---|
eea | 1 (양수) | 0 (음수) | 앱을 설치하는 사용자가 EEA에 있는지 여부를 Adjust에 알려줍니다. EU 회원국, 스위스, 노르웨이, 아이슬란드, 슬로베니아가 포함됩니다. |
ad_personalization | 1 (양수) | 0 (음수) | 사용자가 Google Ads 및 Google Marketing Platform을 통해 맞춤형 광고를 제공받는 데 동의했는지 여부를 Adjust에 알려줍니다. 이 파라미터는 또한 Google Marketing Platform을 위해 예약된 npa 파라미터에 대해서도 알려줍니다. |
ad_user_data | 1 (양수) | 0 (음수) | 어트리뷰션에 광고주 ID를 사용하는 것에 대한 사용자의 동의 여부를 Adjust에 알려줍니다. |
let adjustThirdPartySharing = ADJThirdPartySharing.initWithIsEnabledNumberBool(nil)adjustThirdPartySharing.addGranularOption("google_dma", key: "eea", value: "1")adjustThirdPartySharing.addGranularOption("google_dma", key: "ad_personalization", value: "1")adjustThirdPartySharing.addGranularOption("google_dma", key: "ad_user_data", value: "1")Adjust.trackThirdPartySharing(adjustThirdPartySharing)
ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabledNumberBool:nil];[adjustThirdPartySharing addGranularOption:@"google_dma" key:@"eea" value:@"1"];[adjustThirdPartySharing addGranularOption:@"google_dma" key:@"ad_personalization" value:@"1"];[adjustThirdPartySharing addGranularOption:@"google_dma" key:@"ad_user_data" value:@"1"];[Adjust trackThirdPartySharing:adjustThirdPartySharing];
파트너 공유 설정 업데이트
- (void)addPartnerSharingSetting:(nonnull NSString *)partnerName key:(nonnull NSString *)key value:(BOOL)value;
기본 설정에 따라 Adjust는 앱 설정에서 구성한 모든 파트너와 모든 지표를 공유합니다. Adjust SDK를 사용하여 파트너별 서드파티 공유 설정을 업데이트할 수 있습니다. 이 기능을 토글하려면 다음 인수로 addPartnerSharingSetting
메서드를 호출합니다.
인수 (Arguments) | 데이터 유형 | 설명 |
---|---|---|
partnerName | String | 파트너의 이름. 이용 가능한 전체 파트너 목록 다운로드 |
key | String | 파트너와 공유하는 지표 |
value | Boolean | 사용자의 결정 |
key
를 사용하여 비활성화 또는 재활성화하고자 하는 지표를 지정할 수 있습니다. 모든 지표 공유를 활성화/비활성화하려면 all
키를 사용할 수 있습니다. 이용 가능한 지표의 전체 목록은 다음과 같습니다.
ad_revenue
all
attribution
update
att_update
cost_update
event
install
reattribution
reattribution_reinstall
reinstall
rejected_install
rejected_reattribution
sdk_click
sdk_info
session
subscription
uninstall
파트너의 지표에 대해 false
값을 설정하면 Adjust는 해당 파트너와의 지표 공유를 중단합니다.
예
특정 파트너와의 모든 지표 공유를 중단하려면 all
키를 false
값과 함께 전달하시기 바랍니다.
let adjustThirdPartySharing = ADJThirdPartySharing.initWithIsEnabledNumberBool(nil)adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", key: "all", value: false)Adjust.trackThirdPartySharing(adjustThirdPartySharing)
ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabledNumberBool:nil];[adjustThirdPartySharing addPartnerSharingSetting:@"PartnerA" key:@"all" value:@NO];[Adjust trackThirdPartySharing:adjustThirdPartySharing];
var adjustThirdPartySharing = new AdjustThirdPartySharing(null);adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);Adjust.trackThirdPartySharing(adjustThirdPartySharing);
공유를 다시 활성화하려면 all
키를 true
값과 함께 전달하시기 바랍니다.
let adjustThirdPartySharing = ADJThirdPartySharing.initWithIsEnabledNumberBool(nil)adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", key: "all", value: true)Adjust.trackThirdPartySharing(adjustThirdPartySharing)
ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabledNumberBool:nil];[adjustThirdPartySharing addPartnerSharingSetting:@"PartnerA" key:@"all" value:@YES];[Adjust trackThirdPartySharing:adjustThirdPartySharing];
var adjustThirdPartySharing = new AdjustThirdPartySharing(null);adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", true);Adjust.trackThirdPartySharing(adjustThirdPartySharing);
addPartnerSharingSetting
메서드를 서로 다른 키로 여러 번 호출하여 특정 지표의 공유를 중단하거나 시작할 수 있습니다. 예를 들어 이벤트 정보를 파트너에게만 공유하고자 하는 경우 다음을 전달할 수 있습니다.
all
모든 정보 공유를 비활성화하려면false
값과 함께 전달합니다.event
이벤트 공유를 활성화하려면true
값과 함께 전달합니다.
let adjustThirdPartySharing = ADJThirdPartySharing.initWithIsEnabledNumberBool(nil)adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", key: "all", value: false)adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", key: "event", value: true)Adjust.trackThirdPartySharing(adjustThirdPartySharing)
ADJThirdPartySharing *adjustThirdPartySharing = [[ADJThirdPartySharing alloc] initWithIsEnabledNumberBool:nil];[adjustThirdPartySharing addPartnerSharingSetting:@"PartnerA" key:@"all" value:@NO];[adjustThirdPartySharing addPartnerSharingSetting:@"PartnerA" key:@"event" value:@YES];[Adjust trackThirdPartySharing:adjustThirdPartySharing];
var adjustThirdPartySharing = new AdjustThirdPartySharing(null);adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "event", true);Adjust.trackThirdPartySharing(adjustThirdPartySharing);
서드파티 공유 비활성화
+ (void)disableThirdPartySharing;
모든 사용자의 서드파티 공유를 비활성화하려면 disableThirdPartySharing
메서드를 호출합니다. Adjust 서버가 이 정보를 수신하면 Adjust는 해당 사용자의 데이터를 서드파티와 공유하는 것을 중단합니다. Adjust SDK의 작동에는 문제가 없습니다.
Adjust.disableThirdPartySharing()
[Adjust disableThirdPartySharing];
Adjust.disableThirdPartySharing();
데이터 레지던시
@property (nonatomic, copy, readwrite, nullable) NSString *urlStrategy;
URL 전략 기능을 사용하여 다음을 설정할 수 있습니다.
- Adjust가 귀하의 데이터를 저장하는 국가(데이터 레지던시).
- Adjust SDK가 트래픽을 전송하는 엔드포인트(URL 전략).
본 기능은 프라이버시 요건이 엄격한 나라에서 앱을 운영하는 경우에 유용합니다. URL 전략을 설정하면 Adjust가 선택된 데이터 레지던시 지역에 데이터를 저장하거나 선택된 도메인으로 트래픽을 전송합니다.
데이터 레지던시 국가를 설정하려면 다음 URL 전략 중 하나를 config 인스턴스의 urlStrategy
속성에 할당합니다.
값 | 설명 |
---|---|
ADJDataResidencyEU | 데이터 레지던시 지역을 EU로 설정 |
ADJDataResidencyTR | 데이터 레지던시 지역을 터키로 설정 |
ADJDataResidencyUS | 데이터 레지던시 지역을 미국으로 설정 |
ADJUrlStrategyChina | URL 전략을 app.adjust.world 도메인으로 설정합니다. |
ADJUrlStrategyCn | URL 전략을 app.adjust.cn 도메인으로 설정합니다. |
ADJUrlStrategyCnOnly | URL 전략을 app.adjust.cn 도메인으로 설정하지만 요청 실패 시 다른 도메인으로 되돌릴 수 없습니다 . |
ADJUrlStrategyIndia | URL 전략을 app.adjust.net.in 도메인으로 설정합니다. |
let yourAppToken = "{YourAppToken}"let environment = ADJEnvironmentSandbox as? Stringlet adjustConfig = ADJConfig( appToken: yourAppToken, environment: environment)// ...adjustConfig?.urlStrategy = ADJDataResidencyEU
NSString *yourAppToken = @"{YourAppToken}";NSString *environment = ADJEnvironmentSandbox;*adjustConfig = [ADJConfig configWithAppToken:yourAppToken environment:environment];// ...[adjustConfig setUrlStrategy:ADJDataResidencyEU];
setupWebViewJavascriptBridge(function (bridge) { // ... var yourAppToken = yourAppToken; var environment = AdjustConfig.EnvironmentSandbox; var adjustConfig = new AdjustConfig(yourAppToken, environment); adjustConfig.setUrlStrategy(ADJDataResidencyEU);});
특정 사용자에 대한 동의 측정
+ (void)trackMeasurementConsent:(BOOL)enabled;
Adjust 대시보드에서 데이터 프라이버시 설정을 사용하는 경우 Adjust SDK도 설정해야 합니다. 이는 동의 만료 기간이나 사용자 데이터 보유 기간 등의 설정을 포함합니다.
이 기능을 토글하려면 다음 인수로 trackMeasurementConsent
메서드를 호출합니다.
measurementConsent
(BOOL
): 동의 측정의 활성화(true
) 또는 비활성화(false
) 여부
이 기능이 활성화되면 SDK가 데이터 프라이버시 설정을 Adjust 서버로 전달합니다. Adjust 서버는 데이터 프라이버시 규칙을 사용자에게 적용합니다. Adjust SDK의 작동에는 문제가 없습니다.
Adjust.trackMeasurementConsent(true)
[Adjust trackMeasurementConsent:YES];
Adjust.trackMeasurementConsent(true);
COPPA 준수
public void setCoppaCompliantEnabled(boolean coppaCompliantEnabled)
앱에서 COPPA(Children’s Online Privacy Protection Act, 어린이 온라인 개인정보 보호법)를 준수해야 하는 경우 [ADJConfig setCoppaCompliantEnabled]
메서드를 호출합니다. 이 메서드는 다음을 수행합니다.
- 사용자가 첫 번째
session
을 시작하기 전 에 서드파티 공유가 비활성화됩니다. - SDK가 디바이스 ID와 광고 ID 읽는 것을 방지합니다(예:
idfa
).
let yourAppToken = "{YourAppToken}"let environment = ADJEnvironmentSandbox as? Stringlet adjustConfig = ADJConfig( appToken: yourAppToken, environment: environment)adjustConfig?.coppaCompliantEnabled = trueAdjust.appDidLaunch(adjustConfig)
*adjustConfig = [ADJConfig configWithAppToken:@"{YourAppToken}" environment:ADJEnvironmentSandbox];[adjustConfig coppaCompliantEnabled:YES];[Adjust appDidLaunch:adjustConfig];
false
인수로 이 메서드를 호출하여 COPPA 준수를 비활성화할 수 있습니다.