iab_gpp 0.1.2

IAB GPP Consent String implementation
Documentation

iab_gpp

Rust implementation of the IAB Global Privacy Platform (GPP) consent string specification.

Features

  • Eager or lazy decoding of GPP sections
  • Owning type (GPPString)
  • Read support for all current GPP sections

Usage example

Cargo.toml:

[dependencies]
iab-gpp = "0.1"

main.rs:

use std::error::Error;
use std::str::FromStr;
use iab_gpp::v1::GPPString;

fn main() {
    let s = "DBABM~CPXxRfAPXxRfAAfKABENB-CgAAAAAAAAAAYgAAAAAAAA";
    let gpp_str = GPPString::from_str(s).expect("a valid GPP string");

    for &id in gpp_str.section_ids() {
        println!("Section id: {:?}", id);

        let section = gpp_str.decode_section(id).expect("a valid section");
        println!("Section: {:?}", &section);
    }
}