Så här lagrar du användarinställningar
Den här artikeln visar hur du lagrar användarens användargränssnittsinställningar eller användarinställningar via alternativen -preferences och -onPreferencesChanged Avancerad läsare SDK.
När alternativet CookiePolicy SDK är inställt på Aktiverad lagrar Avancerad läsare-programmet användarinställningar, till exempel textstorlek, temafärg och teckensnitt, med hjälp av cookies. Dessa cookies är lokala för en specifik webbläsare och enhet. Varje gång användaren startar Avancerad läsare i samma webbläsare och enhet öppnas den med användarens inställningar från den senaste sessionen på enheten. Men om användaren öppnar appen Avancerad läsare på en annan webbläsare eller enhet konfigureras inställningarna först med Avancerad läsare standardinställningar och användaren måste ange sina inställningar igen för varje enhet de använder. Alternativen -preferences
och -onPreferencesChanged
Avancerad läsare SDK är ett sätt för program att använda en användares inställningar i olika webbläsare och enheter, så att användaren får en konsekvent upplevelse oavsett var de använder programmet.
Först skickar Avancerad läsare en -preferences
sträng tillbaka till värdprogrammet varje gång användaren ändrar sina inställningar under den Avancerad läsare sessionen genom att ange -onPreferencesChanged
alternativet återanrops-SDK när Avancerad läsare programmet startas. Värdprogrammet ansvarar sedan för att lagra användarinställningarna i sitt eget system. När samma användare sedan startar Avancerad läsare igen kan värdprogrammet hämta användarens inställningar från lagringen och ange dem som -preferences
sträng-SDK-alternativet när du startar Avancerad läsare-programmet, så att användarens inställningar återställs.
Den här funktionen kan användas som ett alternativt sätt att lagra användarinställningar när det inte är önskvärt eller möjligt att använda cookies.
Varning
Försök inte att programmatiskt ändra värdena för strängen -preferences
som skickas till och från Avancerad läsare-programmet eftersom detta kan orsaka oväntat beteende som resulterar i en försämrad användarupplevelse. Värdprogram bör aldrig tilldela ett anpassat värde till eller ändra strängen -preferences
. När du använder strängalternativet -preferences
använder du bara det exakta värde som returnerades från återanropsalternativet -onPreferencesChanged
.
Aktivera lagring av användarinställningar
Parametern Avancerad läsare SDK launchAsync options
innehåller återanropet-onPreferencesChanged
. Den här funktionen anropas när användaren ändrar sina inställningar. Parametern value
innehåller en sträng som representerar användarens aktuella inställningar. Den här strängen lagras sedan, för den användaren, av värdprogrammet.
const options = {
onPreferencesChanged: (value: string) => {
// Store user preferences here
}
};
ImmersiveReader.launchAsync(YOUR_TOKEN, YOUR_SUBDOMAIN, YOUR_DATA, options);
JSON-struktur för exempelinställningar
Här är ett exempel på hur parametern ser ut när den value
parsas, tillsammans med typerna för varje fält:
{
"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
}
}
Och här exemplet för den translationLanguage
avkodade JSON.
{
"text": "string",
"key": "string",
"data": {
"tlc": "string",
"slc": "string"
}
}
Läs in användarinställningar
Skicka in användarens inställningar till Avancerad läsare-appen med hjälp -preferences
av alternativet . Ett trivialt exempel för att lagra och läsa in användarens inställningar är följande:
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);
}
};