Delen via


Gebruikersvoorkeuren opslaan

In dit artikel wordt gedemonstreerd hoe u de ui-instellingen of gebruikersvoorkeuren van de gebruiker opslaat via de SDK-opties -preferences en -onPreferencesChanged Insluitende lezer SDK.

Wanneer de CookiePolicy SDK-optie is ingesteld op Ingeschakeld, slaat de Insluitende lezer toepassing gebruikersvoorkeuren op, zoals tekstgrootte, themakleur en lettertype, met behulp van cookies. Deze cookies zijn lokaal voor een specifieke browser en een specifiek apparaat. Telkens wanneer de gebruiker de Insluitende lezer start in dezelfde browser en hetzelfde apparaat, wordt deze geopend met de voorkeuren van de gebruiker vanaf de laatste sessie op dat apparaat. Als de gebruiker echter de Insluitende lezer-app opent in een andere browser of een ander apparaat, worden de instellingen in eerste instantie geconfigureerd met de standaardinstellingen van de Insluitende lezer en moet de gebruiker zijn voorkeuren opnieuw instellen voor elk apparaat dat ze gebruiken. De -preferences SDK-opties en -onPreferencesChanged Insluitende lezer bieden een manier voor toepassingen om de voorkeuren van een gebruiker te roamen in verschillende browsers en apparaten, zodat de gebruiker een consistente ervaring heeft waar ze de toepassing gebruiken.

Door eerst de -onPreferencesChanged callback-SDK-optie op te geven bij het starten van de Insluitende lezer-toepassing, stuurt de Insluitende lezer telkens -preferences wanneer de gebruiker zijn voorkeuren wijzigt tijdens de Insluitende lezer sessie een tekenreeks terug naar de hosttoepassing. De hosttoepassing is vervolgens verantwoordelijk voor het opslaan van de gebruikersvoorkeuren in hun eigen systeem. Wanneer dezelfde gebruiker vervolgens de Insluitende lezer opnieuw start, kan de hosttoepassing de voorkeuren van die gebruiker ophalen uit de opslag en deze opgeven als de -preferences tekenreeks-SDK-optie bij het starten van de Insluitende lezer toepassing, zodat de voorkeuren van de gebruiker worden hersteld.

Deze functionaliteit kan worden gebruikt als alternatief voor het opslaan van gebruikersvoorkeuren bij het gebruik van cookies is niet wenselijk of haalbaar.

Let op

Probeer niet programmatisch de waarden van de -preferences tekenreeks te wijzigen die naar en van de Insluitende lezer toepassing wordt verzonden, omdat dit onverwacht gedrag kan veroorzaken, wat resulteert in een verminderde gebruikerservaring. Hosttoepassingen mogen nooit een aangepaste waarde toewijzen aan of bewerken van de -preferences tekenreeks. Wanneer u de -preferences tekenreeksoptie gebruikt, gebruikt u alleen de exacte waarde die is geretourneerd vanuit de -onPreferencesChanged callback-optie.

Opslaan van gebruikersvoorkeuren inschakelen

De parameter Insluitende lezer SDK launchAsync options bevat de -onPreferencesChanged callback. Deze functie wordt telkens aangeroepen wanneer de gebruiker zijn voorkeuren wijzigt. De value parameter bevat een tekenreeks die de huidige voorkeuren van de gebruiker vertegenwoordigt. Deze tekenreeks wordt vervolgens voor die gebruiker opgeslagen door de hosttoepassing.

const options = {
    onPreferencesChanged: (value: string) => {
        // Store user preferences here
    }
};

ImmersiveReader.launchAsync(YOUR_TOKEN, YOUR_SUBDOMAIN, YOUR_DATA, options);

JSON-structuur voorbeeldvoorkeuren

Hier volgt een voorbeeld van hoe de parameter eruitziet wanneer deze value wordt geparseerd, samen met de typen voor elk veld:

{
    "displayOptionsState": {
        "textSize": "number",
        "fontFamily": "string",
        "textSpacing": "number",
        "formattingEnabled": "boolean",
        "theme": "string",
        "themeSetByUser": "boolean",
        "syllabificationEnabled": "boolean",
        "nounHighlightingEnabled": "boolean",
        "nounHighlightingColor": "string",
        "verbHighlightingEnabled": "boolean",
        "verbHighlightingColor": "string",
        "adjectiveHighlightingEnabled": "boolean",
        "adjectiveHighlightingColor": "string",
        "adverbHighlightingEnabled": "boolean",
        "adverbHighlightingColor": "string",
        "pictureDictionaryEnabled": "boolean",
        "posLabelsEnabled": "boolean"
    },
    "readAloudState": {
        "readAloudSpeed": "number",
        "voice": "string"
    },
    "translationState": {
        "shouldTranslateWords": "boolean",
        "translationLanguage": "string" // encoded JSON
    }
}

En hier het voorbeeld voor de translationLanguage gedecodeerde JSON.

{
  "text": "string",
  "key": "string",
  "data": {
    "tlc": "string",
    "slc": "string"
  }
}

Gebruikersvoorkeuren laden

Geef de voorkeuren van de gebruiker door aan de Insluitende lezer-app met behulp van de -preferences optie. Een eenvoudig voorbeeld voor het opslaan en laden van de voorkeuren van de gebruiker is als volgt:

const storedUserPreferences = localStorage.getItem("USER_PREFERENCES");
let userPreferences = storedUserPreferences === null ? null : storedUserPreferences;
const options = {
    preferences: userPreferences,
    onPreferencesChanged: (value: string) => {
        userPreferences = value;
        localStorage.setItem("USER_PREFERENCES", userPreferences);
    }
};

Volgende stap