Condividi tramite


Come archiviare le preferenze utente

Questo articolo illustra come archiviare le impostazioni dell'interfaccia utente dell'utente, o preferenze utente, tramite le opzioni del Software Development Kit (SDK) -preferences e -onPreferencesChanged dello Strumento di lettura immersiva.

Quando l'opzione CookiePolicy SDK è impostata su Abilitato, l'applicazione Strumento di lettura immersiva archivia le preferenze utente, ad esempio dimensioni del testo, colore del tema e tipo di carattere usando i cookie. Questi cookie sono locali per un browser e un dispositivo specifici. Ogni volta che Strumento di lettura immersiva viene avviato nello stesso browser e dispositivo, verrà aperto con le preferenze utente dell'ultima sessione nel dispositivo. Tuttavia, se l'app Strumento di lettura immersiva viene avviata in un browser o dispositivo diverso, le impostazioni inizialmente configurate saranno quelle predefinite. L'utente deve impostare le proprie preferenze in ogni nuovo dispositivo usato. Le opzioni -preferences e -onPreferencesChanged dell’SDK dello Strumento di lettura immersiva consentono alle applicazioni di eseguire il roaming delle preferenze di un utente in vari browser e dispositivi, in modo da presentare un'esperienza coerente ovunque l'applicazione venga usata.

Prima di tutto, specificando l'opzione dell'SDK di callback -onPreferencesChanged all'avvio dell'applicazione dello Strumento di lettura immersiva, quest’ultimo invierà una stringa -preferences all'applicazione host ogni volta che l'utente modifica le proprie preferenze durante una sessione. L'applicazione host è quindi responsabile dell'archiviazione delle preferenze utente nel proprio sistema. Quindi, quando lo stesso utente avvia nuovamente lo Strumento di lettura immersiva, l'applicazione host recupera le preferenze dell’utente dallo spazio di archiviazione e le specifica come opzione dell’SDK della stringa -preferences all'avvio dell'applicazione dello Strumento di lettura immersiva, in modo che le preferenze dell'utente vengano ripristinate.

Questa funzionalità può essere usata come mezzo alternativo per archiviare le preferenze utente nel caso in cui l'uso dei cookie non sia opportuno o fattibile.

Attenzione

Non tentare di modificare a livello di codice i valori della stringa -preferences inviata da e verso l'applicazione dello Strumento di lettura immersiva perché questo potrebbe causare un comportamento imprevisto risultante in un'esperienza utente deteriorata. Le applicazioni host non devono mai assegnare un valore personalizzato o modificare la stringa -preferences. Quando si usa l'opzione della stringa -preferences, usare solo il valore esatto restituito dall'opzione di callback -onPreferencesChanged.

Abilitare l'archiviazione delle preferenze utente

Il parametro launchAsyncoptions dell’SDK dello Strumento di lettura immersiva contiene il callback -onPreferencesChanged. Questa funzione verrà chiamata ogni volta che l'utente modifica le proprie preferenze. Il parametro value contiene una stringa che rappresenta le preferenze correnti dell'utente. Questa stringa viene quindi archiviata per tale utente dall'applicazione host.

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

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

Struttura JSON preferenze di esempio

Di seguito è riportato un esempio dell'aspetto del parametro value durante l'analisi, insieme ai tipi per ogni campo:

{
    "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
    }
}

Ed ecco l'esempio per il codice JSON translationLanguage decodificato.

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

Caricare le preferenze utente

Passare le preferenze utente all'app Strumento di lettura immersiva usando l'opzione -preferences. Un esempio semplice per archiviare e caricare le preferenze utente è il seguente:

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

Passaggio successivo