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);
}
};