共用方式為


如何儲存使用者喜好設定

本文示範如何透過 -preferences-onPreferencesChanged 沈浸式閱讀程式 SDK 選項來儲存使用者的 UI 設定 (正式名稱為使用者喜好設定)。

CookiePolicy SDK 選項設定為已啟用時,沈浸式閱讀程式應用程式會將針對特定瀏覽器和裝置的使用者喜好設定 (文字大小、主題色彩、字型等) 儲存到 Cookie 中。 使用者每次在相同瀏覽器和裝置上啟動沈浸式閱讀程式時,都會開啟該裝置上一個工作階段的使用者喜好設定。 不過,如果使用者在不同的瀏覽器或裝置上開啟沈浸式閱讀程式,其設定一開始會採用沈浸式閱讀程式的預設值。使用者每用一台裝置,就必須再一次設定其喜好設定。 沈浸式閱讀程式 SDK 選項 -preferences-onPreferencesChanged,為應用程式提供了一種在各種瀏覽器和裝置之間漫遊使用者喜好設定的方法,讓使用者無論在何處使用應用程式,都能得到一致的體驗。

首先,在啟動沈浸式閱讀程式應用程式時提供 -onPreferencesChanged 回撥 SDK 選項,這樣每當使用者在沈浸式閱讀程式工作階段中變更其喜好設定時,沈浸式閱讀程式都會向主應用程式回傳一個 -preferences 字串。 然後,主應用程式會負責將使用者喜好設定儲存在其系統中。 接下來,當同一位使用者再次啟動沈浸式閱讀程式時,主應用程式可以從儲存體擷取該使用者的喜好設定,並在啟動沈浸式閱讀程式應用程式時以它們作為 -preferences 字串 SDK 選項,以便還原使用者的喜好設定。

這項功能可作為另一種儲存使用者喜好設定的方式,以避免不適合或無法使用 Cookie 的情況。

注意

重要請勿嘗試以程式設計方式變更傳送至沈浸式閱讀程式應用程式和從沈浸式閱讀程式應用程式傳送的 -preferences 字串值,因為這可能會導致非預期的行為,進而降低客戶的使用者體驗。 主應用程式絕對不應該將自訂值指派給 -preferences 字串或操作 -preferences 字串。 使用 -preferences 字串選項時,只使用從 -onPreferencesChanged 回呼選項傳回的確切值。

如何啟用儲存使用者喜好設定

沈浸式閱讀程式 SDK launchAsyncoptions 參數包含 -onPreferencesChanged 回撥。 每當使用者變更其喜好設定時,就會呼叫此函式。 參數 value 包含一個字串,代表使用者目前的喜好設定。 接下來,主應用程式會為該使用者儲存這個字串。

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

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

如何將使用者喜好設定載入沈浸式閱讀程式

使用 -preferences 選項將使用者的喜好設定傳入沈浸式閱讀程式。 儲存和載入使用者喜好設定的簡單範例如下:

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

後續步驟