Dostęp do wartości zgody
SDK ustawi wartości wspólnych preferencji dla IAB TCF v1 i IAB TCF v2. Wartości te można odczytać za pomocą następującego kodu:
// =========================================================
// Kotlin version
// =========================================================
Context mContext = getApplicationContext();
SharedPreferences mPreferences = PreferenceManager.getDefaultSharedPreferences(mContext);
SharedPreferences.OnSharedPreferenceChangeListener mListener;
mListener = new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
if (key.equals([Specific Consent Key])) {
// Update Consent settings
}
}
};
mPreferences.registerOnSharedPreferenceChangeListener(mListener);
// =========================================================
// Swift version
// =========================================================
import Foundation
class UserDefaultsObserver {
private let userDefaults = UserDefaults.standard
private var observer: NSObjectProtocol?
init() {
setupObserver()
}
private func setupObserver() {
observer = NotificationCenter.default.addObserver(
forName: UserDefaults.didChangeNotification,
object: nil,
queue: .main
) { [weak self] notification in
guard let userDefaults = notification.object as? UserDefaults else { return }
self?.handleUserDefaultsChange(userDefaults)
}
}
private func handleUserDefaultsChange(_ userDefaults: UserDefaults) {
// Check for changes in the specific consent key
if userDefaults.object(forKey: "SpecificConsentKey") != nil {
// Update consent settings
updateConsentSettings()
}
}
private func updateConsentSettings() {
// Implement your consent settings update logic here
print("Updating consent settings")
}
deinit {
if let observer = observer {
NotificationCenter.default.removeObserver(observer)
}
}
}
// Usage
let userDefaultsObserver = UserDefaultsObserver()
Zdefiniowano następujące klucze:
| IAB TCF v2 | |
IABTCF_CmpSdkID |
Number: Niepodpisany identyfikator całkowitoliczbowy CMP SDK |
IABTCF_CmpSdkVersion |
Number: Niepodpisany liczbowy numer wersji CMP SDK |
IABTCF_PolicyVersion |
Number: Liczba całkowita bez znaku reprezentująca wersję TCF, której dotyczą te zgody. |
IABTCF_gdprApplies |
Number:
Nieustawione – nieokreślone (domyślnie przed inicjalizacją) |
IABTCF_PublisherCC |
String: Dwuliterowy kod ISO 3166-1 alpha-2 – domyślnie: AA (nieznany) |
IABTCF_PurposeOneTreatment |
Number:
Niestawiona wartość domyślna – Dostawcy mogą użyć tej wartości, aby ustalić, czy wymagana jest zgoda na cel pierwszy. |
IABTCF_UseNonStandardStacks |
Number:
|
IABTCF_TCString |
String: Pełny zakodowany ciąg TC |
IABTCF_VendorConsents |
Binary String: '0' lub '1' w pozycji n – gdzie indeksowanie n zaczyna się od 0 – wskazuje status zgody dla identyfikatora dostawcy n+1; false oraz true odpowiednio. np. '1' w indeksie 0 jest zgodą true dla identyfikatora dostawcy 1
|
IABTCF_VendorLegitimateInterests |
Binary String: '0' lub '1' w pozycji n – gdzie indeksowanie n zaczyna się od 0 – wskazuje status uzasadnionego interesu dla identyfikatora dostawcy n+1; false oraz true odpowiednio. np. '1' w indeksie 0 ustalono uzasadniony interes true dla identyfikatora dostawcy 1
|
IABTCF_PurposeConsents |
Binary String: '0' lub '1' w pozycji n – gdzie indeksowanie n zaczyna się od 0 – wskazuje status zgody dla identyfikatora celu n+1; false oraz true odpowiednio. np. '1' w indeksie 0 jest zgodą true dla identyfikatora celu 1
|
IABTCF_PurposeLegitimateInterests |
Binary String: '0' lub '1' w pozycji n – gdzie indeksowanie n zaczyna się od 0 – wskazuje status prawnie uzasadnionego interesu dla identyfikatora celu n+1; false oraz true odpowiednio. np. '1' w indeksie 0 ustalono uzasadniony interes true dla identyfikatora celu 1
|
IABTCF_SpecialFeaturesOptIns |
Binary String: '0' lub '1' w pozycji n – gdzie indeksowanie n zaczyna się od 0 – wskazuje status zgody dla identyfikatora funkcji specjalnej n+1; false oraz true odpowiednio. np. '1' w indeksie 0 jest włączona true dla identyfikatora funkcji specjalnej 1
|
IABTCF_PublisherRestrictions{ID} |
String ['0','1', or '2']: Wartość w pozycji n – gdzie indeksowanie n zaczyna się od 0 – wskazuje typ ograniczenia wydawcy (0–2) dla dostawcy n+1; (patrz Typy ograniczeń wydawcy). Np. '2' w indeksie 0 jest restrictionType 2 dla identyfikatora dostawcy 1. {ID} odnosi się do identyfikatora celu. |
IABTCF_PublisherConsent |
Binary String: '0' lub '1' w pozycji n – gdzie indeksowanie n zaczyna się od 0 – wskazuje status zgody na cel dla identyfikatora celu n+1 dla wydawcy, ponieważ odpowiadają one celom z globalnej listy dostawców; false oraz true odpowiednio. np. '1' w indeksie 0 jest zgodą true dla identyfikatora celu 1
|
IABTCF_PublisherLegitimateInterests |
Binary String: '0' lub '1' w pozycji n – gdzie indeksowanie n zaczyna się od 0 – wskazuje status uzasadnionego interesu dla identyfikatora celu n+1 dla wydawcy, ponieważ odpowiadają one celom z Globalnej listy dostawców; false oraz true odpowiednio. np. '1' w indeksie 0 ustanowiono uzasadniony interes true dla identyfikatora celu 1
|
IABTCF_PublisherCustomPurposesConsents |
Binary String: '0' lub '1' w pozycji n – gdzie indeksowanie n zaczyna się od 0 – wskazuje status zgody na cel dla niestandardowego identyfikatora celu wydawcy n+1 dla wydawcy; false oraz true odpowiednio. np. '1' w indeksie 0 jest zgodą true dla niestandardowego identyfikatora celu 1
|
IABTCF_PublisherCustomPurposesLegitimateInterests |
Binary String: '0' lub '1' w pozycji n – gdzie indeksowanie n zaczyna się od 0 – wskazuje status uzasadnionego interesu dla niestandardowego identyfikatora celu n+1 wydawcy; false oraz true odpowiednio. np. '1' w indeksie 0 ustalono uzasadniony interes true dla niestandardowego identyfikatora celu 1
|