طريقة تخزين تفضيلات المستخدم

توضح هذه المقالة كيفية تخزين إعدادات واجهة المستخدم الخاصة بالمستخدم، أو تفضيلات المستخدم، عبر خيارات -preferences و-onPreferencesChanged القارئ الشامل SDK.

عند تعيين خيار CookiePolicy SDK إلى Enabled، يخزن تطبيق القارئ الشامل تفضيلات المستخدم، مثل حجم النص ولون النسق والخط، باستخدام ملفات تعريف الارتباط. ملفات تعريف الارتباط هذه محلية لمستعرض وجهاز معين. في كل مرة يقوم فيها المستخدم بتشغيل القارئ الشامل على نفس المتصفح والجهاز، يتم فتحه بتفضيلات المستخدم من جلسته الأخيرة على هذا الجهاز. ومع ذلك، إذا فتح المستخدم تطبيق القارئ الشامل على مستعرض أو جهاز مختلف، فسيتم تكوين الإعدادات في البداية باستخدام الإعدادات الافتراضية القارئ الشامل، ويحتاج المستخدم إلى تعيين تفضيلاته مرة أخرى لكل جهاز يستخدمه. توفر خيارات -preferences و -onPreferencesChanged في Immersive Reader SDK طريقة للتطبيقات لتجوال تفضيلات المستخدم عبر مستعرضات وأجهزة مختلفة، بحيث يتمتع المستخدم بتجربة متناسقة أينما استخدم التطبيق.

أولا، من خلال توفير -onPreferencesChanged خيار SDK رد الاتصال عند تشغيل تطبيق القارئ الشامل، يرسل القارئ الشامل سلسلة -preferences مرة أخرى إلى التطبيق المضيف في كل مرة يغير فيها المستخدم تفضيلاته أثناء جلسة القارئ الشامل. بعد ذلك يكون التطبيق المضيف مسؤولا عن تخزين تفضيلات المستخدم في نظامه الخاص. بعد ذلك، عندما يقوم نفس المستخدم بتشغيل القارئ الشامل مرة أخرى، يمكن للتطبيق المضيف استرداد تفضيلات هذا المستخدم من التخزين، وتوفيرها كخيار SDK للسلسلة -preferences عند تشغيل Immersive Reader، بحيث تتم استعادة تفضيلات المستخدم.

يمكن استخدام هذه الوظيفة كوسيلة بديلة لتخزين تفضيلات المستخدم عند استخدام ملفات تعريف الارتباط غير مرغوب فيه أو ممكن.

تنبيه

لا تحاول تغيير قيم -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);
    }
};

الخطوة التالية