الأسئلة الشائعة حول حزمة تطوير البرامج (SDK)

نشر الأسئلة الشائعة

مَن يدير مهمة نشر المحتوى؟

يدير مطوّر التطبيق مهمة نشر المحتوى ويرسل طلبات إلى "خدمة التفاعل". وبهذه الطريقة، يتمتّع شركاء المطوّرين بمزيد من التحكّم في وقت وكيفية نشر المحتوى للمستخدمين، ما يمنع تنشيط تطبيق الشريك بشكل متكرّر لنشر المحتوى.

هل على المطوّر نشر جميع أنواع المجموعات؟

مع أنّ المطوّرين أحرار من الناحية الفنية في نشر مجموعة واحدة فقط، ننصح بشدة بتضمين المزيد. وإلا، سيفوّت المطوّرون فرصة تعزيز التفاعل مع محتواهم. ننصح بشدة بنشر جميع أنواع المجموعات لكل مجال.

كم مرة يجب أن ينشر شريك المطوّر البيانات باستخدام Work Manager أثناء تشغيل التطبيق؟

ويعود القرار إلى شريك المطوّر. تنصح Google بنشر المحتوى مرة أو مرتين في اليوم للحصول على توصيات عامة، وباستخدام منهجية مستندة إلى الأحداث لعرض محتوى سلّة التسوّق وإعادة الطلب والمحتوى الآخر الذي يتطلب مواصلة التفاعل (على سبيل المثال، بدء المنفِّذ كدالة ردّ عند إضافة المستخدم عناصر إلى سلّة التسوّق أو عند توقّف المستخدم عن مشاهدة فيلم في منتصفه). بالنسبة إلى تطبيقات التواصل الاجتماعي، من الضروري نشر مجموعات محدَّثة من الاقتراحات بعد كل استخدام للتطبيق. يهتم مستخدمو تطبيقات التواصل الاجتماعي أكثر بالاقتراحات الأحدث، ويفضّلون رؤية منشور واحد على الأكثر.

متى على المطوّر استدعاء واجهات برمجة التطبيقات الخاصة بالحذف؟

يجب عدم استدعاء واجهات برمجة التطبيقات الخاصة بالحذف إلا عندما لا يتوفّر محتوى لنشره. لا تستدعِ واجهات برمجة التطبيقات الخاصة بالحذف والنشر بشكل متتابع لاستبدال المحتوى، لأنّ واجهات برمجة التطبيقات الخاصة بالنشر تزيل المحتوى السابق تلقائيًا.

الأسئلة الشائعة حول Broadcast Intent

لماذا على مطوّري تطبيقات Android التسجيل لاستخدام أغراض البث؟

لعرض محتوى جديد للمستخدم، عليك استخدام أغراض البث لتفعيل مزامنة البيانات في الحالات التي قد لا يستخدم فيها المستخدمون التطبيق بشكل متكرّر.

يتعذّر اختبار مكوّن intent للبث

لا يتيح تطبيق التحقّق اختبار نية البث مع إذن. عليك إزالة الأذونات أثناء الاختبار وإعادة إضافتها قبل تبديل حزمة SDK إلى إصدار الإنتاج في الخطوة 6.

غير مسموح بالتنفيذ في الخلفية

أثناء تسجيل نية البث، قد يظهر لك الخطأ التالي:

Background execution not allowed: receiving Intent
{ act=com.google.android.engage.action.PUBLISH_RECOMMENDATION .. }

يجب تسجيل مستقبلات البث بشكل ديناميكي.

class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received
}

public static void registerBroadcastReceivers(Context context) {

context = context.getApplicationContext();

// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION,
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null));
...

}

الأسئلة الشائعة حول سير العمل

أثناء الدمج مع حزمة SDK، قد تواجه الأخطاء التالية:

أخطاء التحقّق من الصحة على مستوى التطبيق والمجموعة والكيان

تعرض الملخّصات على مستوى التطبيق والمجموعة والكيان عدد أخطاء التحقّق من الصحة. تتطابق هذه الأخطاء مع الحقول المطلوبة المفقودة أو القيم غير الصالحة المقدَّمة. تظهر رسائل الخطأ باللون الأحمر أسفل كل حقل ذي صلة. يجب حلّ جميع أخطاء التحقّق والتأكّد من صحة ملف APK قبل مشاركته.

ترتبط الروابط لصفحات في التطبيق باسم الحزمة، ويمكنك اختبارها بشكل جيد باستخدام أداة adb.

adb shell am start -W -a android.intent.action.VIEW -d <DEEPLINK URI> <PACKAGE NAME>

تُعدّ الروابط لصفحات معيّنة طريقة رائعة لتتبُّع تحديد المصدر، ويمكن تضمين عناوين URL الخاصة بالروابط لصفحات معيّنة التي تنقل المستخدمين إلى تطبيقك مع مَعلمات تتبُّع إضافية، مثل "http://xx/deeplink?source_tag=engage".

يمكن للمطوّرين إضافة مَعلمات التتبُّع الخاصة بهم وتقديم تحديد المصدر لاحتساب التأثير.

الأسئلة الشائعة حول الإصدار 2.0 من Engage for TV

أسئلة عامة

ما هي أداة Engage؟

تأخذك ميزة "مواصلة الاستماع" إلى مستوى جديد من التجربة. إنّها ترقية مهمة تتيح للمشاهدين استئناف المحتوى بسهولة على مجموعة أكبر من الأجهزة. تخيَّل أن تبدأ مشاهدة فيلم على Google TV ثم تواصل مشاهدته بسهولة على هاتفك أثناء تنقّلك. هذه هي الميزة التي يوفّرها لك تطبيق Engage.

تم تصميم هذا النظام الجديد لتعزيز تفاعل المشاهدين والاحتفاظ بهم من خلال توفير تجربة سلسة وسهلة الاستخدام في جميع أنحاء منظومة Google المتكاملة.

هل واجهة برمجة التطبيقات Video Discovery API هي نفسها Engage؟

نعم، هما متطابقان. حزمة Engage SDK هي مكتبة تتضمّن إمكانية عرض صف "متابعة المشاهدة". تتيح حزمة Engage عرض المزيد من أنواع كيانات المحتوى غير الفيديو، ولهذا السبب لم يعُد اسم عملية الدمج "اكتشاف الفيديوهات".

ما هي مزايا استخدام Engage؟

الجواب: تسهّل ميزة "مواصلة المشاهدة" على المشاهدين استئناف المحتوى من حيث توقّفوا، بغض النظر عن الجهاز الذي يستخدمونه. إليك طريقة عملها:

  • تجربة سلسة على جميع خدمات Google: يمكنك بدء المشاهدة على Google TV ومتابعتها بسلاسة على هاتف Android أو iPhone أو جهاز Android لوحي، حتى على الأجهزة التي لم تثبِّت التطبيق عليها بعد.
  • زيادة التفاعل والاحتفاظ بالمستخدمين: تساعد ميزة "المشاهدة بدون انقطاع" في إعادة المستخدمين إلى تطبيقك، حتى على الأجهزة الجديدة. ومن خلال السماح للمستخدمين بمواصلة مشاهدة برامجهم المفضّلة، تزيد فرص استمرارهم في المشاهدة.
  • نطاق وصول أوسع: بالإضافة إلى Google TV، تعمل ميزة "جذب الجمهور" على تجارب وسائط Android الأخرى، مثل "مجموعات Play" وتطبيقات وسائط Google الأخرى.
  • متوافق مع الإصدارات السابقة: إذا كنت تستخدم ميزة "المشاهدة تاليًا" القديمة، لا مشكلة في ذلك. يتوافق Engage مع الإصدارات القديمة، لذا سيستمر تكاملك الحالي في العمل.

ملاحظة مهمة: يجب أن تستخدم جميع عمليات الدمج الجديدة لميزة "مواصلة المشاهدة" أداة Engage، إذ سيتم إيقاف نظام "تشغيل المحتوى التالي على أجهزة متعددة" القديم تدريجيًا.

ما هي مساحات العرض التي تتوافق مع Engage؟

  1. Google TV
  2. ‫Android TV (على الجهاز فقط، ولكنّه يتوافق مع حزمة تطوير البرامج Engage SDK)
  3. تطبيق Google TV المتوافق مع أجهزة Android الجوّالة
  4. تطبيق Google TV المتوافق مع أجهزة iOS الجوّالة
  5. مجموعات Play
  6. مساحة الترفيه من Google
  7. أجهزة iOS (مع دمج REST API)

هل حزمة Engage SDK مخصّصة لميزة "مواصلة المشاهدة"؟

نعم، تتوافق حزمة Engage SDK مع المحتوى المعروض في صف "مواصلة المشاهدة". يجب الدمج مع Engage.

هل ميزة "التفاعل" متاحة للجميع؟

يتم طرح ميزة "التفاعل" على مراحل.

  • استخدام المنتج قبل إطلاقه: سنمنح في البداية مجموعة محدّدة من الشركاء إذن الوصول إلى المنتج من خلال برنامج استخدام المنتج قبل إطلاقه.
  • توسيع نطاق الوصول: نعمل جاهدين على إتاحة Engage لجميع المطوّرين قريبًا.

لضمان إطلاق سلس وناجح، وضعنا تدابير وقائية لإدارة عملية الطرح. يتضمّن ذلك كلاً من قائمة السماح على جهة Engage وعملية تحقّق منفصلة ضمن حزمة تطوير البرامج (SDK) الخاصة بـ Engage. إذا كنت شريكًا في برنامج الاستخدام المبكر أو تريد الانضمام إليه قريبًا، يُرجى التواصل معنا لنتمكّن من إعداد أذونات الوصول قبل البدء في ربط حزمة Engage SDK.

تم تعديل متطلبات الصور في قسم إنشاء الكيانات.

باستخدام مستندات واجهة برمجة التطبيقات الجديدة هذه، هل سيسترد خادم Google بيانات "مواصلة المشاهدة" من العميل وهل ستظهر في جميع الأجهزة؟

توفّر واجهة برمجة التطبيقات الجديدة تحسينات كبيرة للمحتوى المعروض في صف &quot;متابعة المشاهدة&quot;، بما في ذلك:

  • تجربة سلسة على جميع أجهزة Google TV: يمكن للمستخدمين بدء المشاهدة على أحد أجهزة Google TV واستئنافها على أي جهاز آخر سجّلوا الدخول إليه باستخدام الحساب نفسه. وتعمل هذه الميزة أيضًا مع إصدارات Android TV القديمة.

  • التكامل مع التطبيق على الأجهزة الجوّالة: يظهر المحتوى من Engage على تطبيق Google TV للأجهزة الجوّالة التي تعمل بنظامَي التشغيل Android وiOS، ما يتيح للمستخدمين التبديل بسلاسة بين التلفزيون والأجهزة الجوّالة.

  • الحفاظ على المستخدمين بشكل أفضل: حتى على الأجهزة التي لم يتم تثبيت التطبيق عليها أو التي لم يسجّل المستخدم الدخول إليها، يشجّع المحتوى في صف "مواصلة المشاهدة" المستخدمين على إعادة التفاعل مع تطبيقك، ما يؤدي إلى تحسين معدل الحفاظ على المستخدمين.

  • التوسّع إلى منصات أخرى: تمتدّ ميزة "التفاعل" إلى منصات وسائط Google الأخرى، مثل Android و"مجموعات Play" والأجهزة اللوحية وغيرها من تطبيقات ومساحات عرض وسائط Google على Android، ما يؤدي إلى زيادة تفاعل المستخدمين على جميع الأجهزة.

ما هو الحدّ الأقصى لعدد الكيانات التي يمكنني نشرها في مجموعة "المحتوى المتسلسل"؟

يُسمح لكل شريك مطوّر بحد أقصى بـ 5 كيانات في مجموعة Continuation. هذا الحدّ مخصّص للتوزيع العادل للمحتوى في صف "متابعة المشاهدة" على Google TV، وهو مساحة مشتركة لعدّة مقدّمي محتوى وسائط.

ماذا يحدث إذا حاولت نشر أكثر من 5 عناصر؟

سترفض حزمة تطوير البرامج (SDK) في Engage طلب النشر إذا تجاوز الحدّ الأقصى البالغ 5 عناصر. عليك تقليل عدد العناصر في طلبك لنشره بنجاح. يجب تضمين الكيانات التي توقّف المستخدمون عن مشاهدتها فقط، لذا في معظم الحالات، لن يكون هناك سوى عدد قليل من هذه الكيانات. عندما يكون هناك أكثر من 5 من هذه الكيانات، يمكنك اختيار الأحدث منها لنشرها.

لماذا هناك حدّ أقصى لعدد الكيانات؟

يعرض صف "مواصلة المشاهدة" على Google TV محتوًى من مختلف موفّري الوسائط، مع الحرص على ألا يتجاوز عدد العناصر لكل موفّر حدًا معيّنًا، وذلك لكي يرى المستخدمون مجموعة متنوّعة من المحتوى من جميع المصادر المفضّلة لديهم، ما يضمن لهم تجربة عادلة ومتوازنة.

أسئلة حول تطبيق التحقّق

هل من الضروري اختبار تطبيقي باستخدام تطبيق التحقّق قبل إرساله؟

نعم، من الضروري اختبار تطبيقك باستخدام تطبيق التحقّق قبل إرسال حزمة APK.

مع أنّنا نتفهّم ثقتك في عملية التنفيذ، يتضمّن دمج Engage العديد من المكوّنات المعقّدة. يعمل تطبيق التحقّق كشبكة أمان، إذ يرصد المشاكل المحتملة في وقت مبكر ويوفر عليك الوقت والجهد على المدى الطويل.

اعتبرها فحصًا سريعًا يساعد في ضمان إطلاق سلس وتجربة رائعة للمستخدمين.

ومن خلال تحديد أي مشاكل ومعالجتها مسبقًا، يمكنك تجنُّب الإحباط الناتج عن عمليات الرفض وإعادة الإرسال.

لإرسال حزمة APK، عليك تضمين لقطة شاشة توضّح أنّ تطبيقك قد اجتاز عملية التحقّق.

ما هي بعض الأخطاء الشائعة التي يجب الانتباه إليها أثناء عملية الدمج؟

تم تصميم تطبيق التحقّق لرصد المشاكل المحتملة في عملية دمج Engage. في ما يلي بعض الأخطاء الشائعة التي يواجهها المطوّرون غالبًا:

بالنسبة إلى كل أنواع المحتوى (الأفلام والحلقات التلفزيونية وأحداث البث المباشر ومقاطع الفيديو):

  • الروابط غير المتوفّرة: تأكَّد من توفير معرّفات موارد منتظمة (روابط) صالحة خاصة بكل منصة للمحتوى الخاص بك، لأنّ هذه الروابط تخبر النظام بمكان العثور على المحتوى الخاص بك على كل منصة.
  • العناوين غير المتوفّرة: لا تنسَ تضمين عناوين لكل المحتوى الخاص بك، لأنّ ذلك يساعد المستخدمين في التعرّف على المحتوى الذي كانوا يشاهدونه.
  • نسب العرض إلى الارتفاع للصور: تأكَّد من أنّ جميع الصور المرتبطة بمحتواك تتضمّن نسبة عرض إلى ارتفاع قريبة من 16:9، ما يضمن عرض صورك بشكل صحيح على الشاشات المختلفة.

بالنسبة إلى الحلقات التلفزيونية:

  • معلومات الحلقة الكاملة: احرص على تضمين عنوان البرنامج ورقم الحلقة ورقم الموسم، لأنّ ذلك يساعد في تنظيم الحلقات ويسمح للمستخدمين بالتنقّل داخل المسلسل.
  • موضع التشغيل الدقيق: تأكَّد من أنّ موضع التشغيل الأخير أقل من أو يساوي المدة الإجمالية للحلقة، وذلك لضمان استئناف المستخدمين من الموضع الصحيح.

بالنسبة إلى الأفلام:

  • موضع التشغيل الدقيق: على غرار حلقات البرامج التلفزيونية، تحقَّق من دقة موضع التشغيل الأخير.

بالنسبة إلى فيديوهات البث المباشر:

  • معلومات المذيع: يجب تضمين اسم المذيع في أحداث البث المباشر.

بالنسبة إلى "مقاطع الفيديو":

  • معلومات صانع المحتوى: حدِّد صانع مقطع الفيديو.

تذكَّر أنّ تطبيق التحقّق سيشير إلى هذه المشاكل، ما يتيح لك إصلاحها قبل إرسال تطبيقك، ما يوفّر عليك الوقت ويضمن تجربة أكثر سلاسة للمستخدمين.

أسئلة حول الحساب والملف الشخصي

يستخدم تطبيقي عمليات تسجيل دخول مستخدم مجهول الهوية. هل لا يزال AccountProfile مطلوبًا لاستخدام Engage؟

تم تصميم AccountProfile للتطبيقات التي تستخدم حسابات فردية للمستخدمين، ولكنّنا ندرك أنّ بعض التطبيقات، مثل تطبيقك، قد تعتمد على عمليات تسجيل دخول مجهولة الهوية. في ما يلي طريقة عمل Engage في هذه الحالة:

  • AccountProfile هو شرط فني، ولكن يمكنك دمج Engage حتى إذا كان تطبيقك لا يتضمّن نظام حسابات مستخدمين.
  • مقتصرة على الاستخدام على الجهاز فقط: تعتمد إمكانات Engage التي تعمل من خلال جهاز آخر على تحديد المستخدمين على الأجهزة المختلفة. وبما أنّ عمليات تسجيل الدخول بدون اسم لا توفّر ذلك، ستقتصر الميزة على الجهاز الحالي للمستخدم.
  • كيفية ضبط الإعداد: لإعداد هذه الميزة، عليك إيقاف المزامنة بين الأجهزة، ما يضمن ظهور إدخالات المتابعة على الجهاز المحدّد الذي بدأ فيه عرض المحتوى فقط.

باختصار، على الرغم من إمكانية دمج Engage مع عمليات تسجيل الدخول بدون الكشف عن الهوية، لن يتمكّن المستخدمون من استئناف المحتوى إلا على الجهاز نفسه.

هل يمكنني استخدام AccountProfile مع accountId فقط وبدون profileId، حتى إذا كان تطبيقي يتيح استخدام كل من accountId وprofileId؟

يتطلّب AccountProfile كلاً من accountId وprofileId لكي يعمل بشكلٍ سليم. وفي ما يلي السبب في ذلك:

  • تحديد الهوية بشكل متّسق: يحدّد accountId هوية المستخدم، بينما يميّز profileId بين الملفات الشخصية المختلفة ضمن حساب المستخدم (في حال توفّرها). يضمن توفير كليهما أنّ Engage يتتبّع المحتوى ويعرضه بدقة لكل ملف شخصي.
  • تجنُّب الأخطاء: يمكن أن يؤدي الاستخدام غير المتسق للقيمتَين accountId وprofileId في طلبات مختلفة من واجهة برمجة التطبيقات إلى حدوث أخطاء وسلوك غير متوقّع. على سبيل المثال، إذا أدرجت القيمتَين عند إضافة محتوى إلى Engage ولكنك استخدمت accountId فقط عند حذف المحتوى، قد لا يتمكّن النظام من تحديد العناصر المطلوبة وإزالتها بشكل صحيح.

هل profileId مطلوب لاستخدام Engage؟

  • يجب ملء الحقل accountId. يحدّد هذا المعرّف هوية المستخدم على جميع الأجهزة.
  • profileId أمر بالغ الأهمية لتوفير تجربة مستخدم جيدة. على الرغم من أنّ profileId اختياري من الناحية الفنية، ننصح بشدة باستخدامه إذا كانت خدمتك تتيح إنشاء عدة ملفات شخصية (كما تفعل العديد من خدمات البث). لماذا هو مهم جدًا؟ لأنّه بدون profileId، قد يعرض صف "مواصلة المشاهدة" محتوًى من ملفات شخصية أخرى على الحساب نفسه، ما قد يؤدي إلى تجربة مربكة ومحبطة للمستخدمين.
  • باختصار، يضمن توفير profileId أن يعكس المحتوى المقدَّم في صف "متابعة المشاهدة" سجلّ مشاهدة كل فرد بدقة. يجب توفير هذه المعلومات إلا إذا كان تطبيقك لا يتيح إنشاء ملف شخصي ضمن الحساب.

كيف تستخدم Google profileId من جهتها؟

إذا كانت الخدمة توفّر ملفات شخصية مختلفة لمشاهدة المحتوى، سيتم استخدام accountId وprofileId لربط المحتوى الذي يتمّت مشاهدته على الجهاز بحساب Google الذي تمّ تسجيل الدخول منه على الجهاز. ستسجّل Google بيانات ContinueWatching مقابل مزيج من accountId وprofileId. سيحصل أي جهاز من Google تم تسجيل الدخول إليه باستخدام حساب Google نفسه على أحدث البيانات المعدَّلة من accountId وprofileId المرتبطَين نفسهما، وذلك في صف "مواصلة المشاهدة".

هل يجب ربط الحساب لتنفيذ Engage؟

لا يلزم ربط الحساب. تمت إزالة هذه الواجهة من قائمة الأولويات، وستتم تغطية جميع حالات الاستخدام ذات الصلة من خلال واجهة برمجة التطبيقات الجديدة "استحقاقات الجهاز".

أسئلة حول المزامنة على جميع الأجهزة

في حال موافقة المستخدم على "المزامنة على جميع الأجهزة"، سيتم حفظ المحتوى الذي يشاهده على خوادم Google TV، ما يتيح له مواصلة المشاهدة من حيث توقّف على أي جهاز تم تسجيل الدخول إليه. وفي حال عدم الموافقة، سيبقى سجلّ المشاهدة محليًا على الجهاز الحالي.

هل يمكننا ضبط "المزامنة بين الأجهزة" على "خطأ"؟

يتحكّم العلامة setUserConsentToSyncAcrossDevices في ما إذا كانت بيانات ContinuationCluster الخاصة بالمستخدم تتم مزامنتها على جميع أجهزته (التلفزيون والهاتف والجهاز اللوحي وما إلى ذلك). إذا تم ضبط هذا الخيار على "خطأ"، سيظهر المحتوى الذي يمكن مواصلة مشاهدته على الجهاز نفسه فقط.

للاستفادة إلى أقصى حد من ميزة "العمل من خلال جهاز آخر"، ننصح بشدة بأن يحصل تطبيقك على موافقة المستخدم وأن يتم ضبط قيمة SyncAcrossDevices على "صحيح".

ما هي نقاط البيانات التي تتم مشاركتها مع خوادم الجهات الخارجية من الأجهزة غير التابعة لنظام التشغيل Android؟

يتم جمع الموافقة على مستوى المستخدم (على مستوى الملف الشخصي أو الحساب). بعد الحصول على الموافقة، يمكن إرسال حمولات &quot;مواصلة المشاهدة&quot; المستندة إلى التفاعل إلى أي مكان، ما يتيح لـ Google عرض حالة الاستئناف في كل الكيانات التي يتفاعل معها المستخدم جزئيًا أو بشكل متكرر على أي جهاز (بدون الحاجة إلى طلب الموافقة مجددًا على كل جهاز أو منصة). سيرسل الشركاء أحدث حالة &quot;متابعة المشاهدة&quot; (وفقًا للمواصفات) المرتبطة بمعرّف الملف الشخصي (الذي تم إيداعه على Android).

أسئلة حول واجهة برمجة التطبيقات REST

هل تتوفّر مستندات حول REST API؟

من المتوقّع أن تكون واجهة REST API متاحة في مارس 2025، وهذا موثّق في مستندات المطوّرين في Engage.

أسئلة حول ميزة "اقتراحات أخرى" القديمة

هل سيحلّ Engage محلّ Watch Next API؟

سيكون Engage متوافقًا مع الأنظمة القديمة على جميع أجهزة Android TV التي تتوافق مع واجهة برمجة التطبيقات Watch Next. ولدمج التطبيق على Google TV ومساحات العرض الأخرى التي تتوافق مع Engage، على المطوّرين استخدام Engage SDK.

أسئلة حول الاختبار والدمج

ما الفرق بين LastPlayBackPositionTimeMillis وduration؟

يجب أن يعكس LastPlayBackPositionTimeMillis مدة التشغيل بالملّي ثانية التي توقّف المستخدم عندها عن المشاهدة (مثلاً، 605000 ملي ثانية لمدة 10 دقائق و5 ثوانٍ). يجب ألا تكون أكبر من المدة الإجمالية للعنصر.

في المقابل، LastEngagementTime هو الطابع الزمني الذي تفاعل فيه المستخدم مع المحتوى لآخر مرة.

ما هي حالات الاختبار التي يجب تنفيذها؟

في ما يلي حالات اختبار Google TV التي يجريها فريق ضمان الجودة. ويمكن إجراء حالات اختبار مشابهة على مساحات عرض أخرى أيضًا.

  1. مشاهدة فيديو تتجاوز مدته 20 دقيقة لمدة 5 دقائق تقريبًا، ثم الخروج من التطبيق، يجب أن تظهر بطاقة الفيديو في صف "متابعة المشاهدة"، علمًا بأنّه لا نعرض سوى 5 بطاقات لكل تطبيق تابع لجهة خارجية في صف "متابعة المشاهدة"
  2. يجب أن يؤدي اختيار البطاقة التي ظهرت حديثًا في صف &quot;مواصلة المشاهدة&quot; إلى استئناف تشغيل الفيديو من النقطة الصحيحة. ملاحظة: يجب أن يتم استئناف تشغيل أي محتوى جديد أو قديم من حيث توقّف آخر مرة.
  3. من المفترض أن يؤدي تغيير الحسابات على جهاز GTV إلى تغيير البطاقات في صف "متابعة المشاهدة". يجب أن تظهر الفيديوهات من الحساب الحالي فقط. تم الترتيب حسب الأحدث. سيتم دمج ملفات تعريف تطبيقات الجهات الخارجية مع ملفات تعريف CW. ملاحظة: ستعرض ميزة "النشاط عبر التطبيقات والمواقع الإلكترونية" لحساب GoogleAccount2 المحتوى الخاص بالجهات الخارجية الذي تفاعل معه حساب GoogleAccount2 أو شاهده.
  4. الخروج من التطبيق باستخدام الزر BACK > التأكّد من ظهور البطاقة في صف "مواصلة المشاهدة"
  5. إخفاء الفيديو في صف "مواصلة المشاهدة"، ويجب ألا يظهر مرة أخرى. اختبِر ما إذا كان المحتوى المخفي يظل مخفيًا لأكثر من 24 ساعة وحتى بعد فتح التطبيق بعد 24 ساعة. تأكَّد من أنّ إخفاء عنصر واحد لا يؤدي إلى إخفاء عناصر متعدّدة.
  6. توفّر المحتوى في صف "مواصلة المشاهدة" مع البيانات الوصفية الكاملة: صورة البطاقة واسم التطبيق والعنوان ورقم حلقة الموسم للمحتوى التلفزيوني
  7. يظهر "التحقّق من مستوى التقدّم" في شريط التقدّم
  8. شاهد المستخدم المحتوى حتى ظهور شارة النهاية، وبالتالي لا يظهر المحتوى في صف "مواصلة المشاهدة"
  9. التأكّد من عدم ظهور أي محتوى لم تتم مشاهدته في صف "مواصلة المشاهدة"
  10. تأكَّد من ترتيب عناصر "شاهدت مؤخرًا" حسب التسلسل الزمني استنادًا إلى وقت حدوث نشاط المشاهدة وليس وقت فتح التطبيق آخر مرة أو آخر يوم.
  11. تأكَّد من أنّ تفاصيل الحلقة والموسم على بطاقة المحتوى في &quot;البحث الذكي&quot; تتطابق مع المحتوى الذي تمت مشاهدته
  12. التأكّد من أنّ المحتوى المكتمل (المحتوى الذي تمّت مشاهدته بالكامل أو أكثر) لا يظهر في صف &quot;مواصلة المشاهدة&quot;
  13. أوقِف الجهاز في منتصف مشاهدة الحلقة أو الفيلم أو البرنامج. "أوقِف الجهاز في منتصف مشاهدة الحلقة أو الفيلم أو البرنامج. تأكَّد من أنّ الجهاز يعرض البطاقة الصحيحة في الموضع الصحيح وشريط التقدم عند تشغيله وعلى التلفزيون الآخر،"
  14. إيقاف الجهاز بعد مشاهدة الحلقة الأولى بالكامل، ثم تأكيد ذلك
  15. تظهر الحلقة 1 ثم تختفي من صف "مواصلة المشاهدة" [على الجهاز الثاني وعند تشغيل الجهاز التجريبي]
    1. الحلقة 2 (إذا كانت متاحة)، يجب أن تظهر في صف "مواصلة المشاهدة" [على الجهاز الثاني وعند تشغيل الجهاز التجريبي]
  16. السيناريو الأول: TV1: GoogleAccount: mom, 3p account / profile: account 1 / profile_1. مشاهدة المحتوى والتأكّد من أنّ بيانات CW تعرض المحتوى الذي شاهدته حساب_1/الملف الشخصي_1 التابع لجهة خارجية
  17. ‫TV2: GoogleAccount: mom. تحقَّق من بيانات CW من السيناريو الأول. سجِّل الدخول الآن إلى تطبيق تابع لجهة خارجية باستخدام حساب مختلف. حساب / ملف شخصي تابع لجهة خارجية: account_2 / profile_2. شاهِد المحتوى وتحقَّق من أنّ بيانات CW تعرض المحتوى الذي شاهده account_2/profile_2 التابع لجهة خارجية.

  18. ‫GoogleAccount: mom. لم يتم تثبيت جراب الجهاز الجديد أو تطبيق تابع لجهة خارجية. على جهاز جديد(إعادة ضبط الجهاز على الإعدادات الأصلية)، يعرض تطبيق "التحقّق من سلامة الجهاز" البيانات من آخر تطبيق تابع لجهة خارجية تم استخدامه بواسطة حساب Google. ملاحظة: يجب ألا يعرض صف CW محتوى تابعًا لجهات خارجية إذا لم يكن حساب GAIA مرتبطًا بعد بملف شخصي تابع لجهة خارجية على جهاز آخر

    1. ‫GoogleAccount: mom. تم تثبيت غطاء جديد للجهاز /تطبيق تابع لجهة خارجية ولكن لم يتم تسجيل الدخول. على جهاز جديد(إعادة ضبط الجهاز على الإعدادات الأصلية)، يعرض تطبيق Verify CW البيانات من آخر تطبيق تابع لجهة خارجية استخدمه حساب Google.
    1. ملاحظة: يجب ألا يعرض صف "متابعة المشاهدة" محتوى تابعًا لجهات خارجية إذا لم يكن حساب Google مرتبطًا بملف شخصي تابع لجهة خارجية.

لا يظهر المحتوى المتواصل في تطبيق Google TV على أجهزة iOS. ما السبب؟

عليك إرسال روابط لصفحات في التطبيق على أجهزة iOS كي يظهر المحتوى في صف &quot;متابعة المشاهدة&quot; على أجهزة iOS.

كم مرة يجب تعديل معلومات المحتوى في صف "مواصلة المشاهدة"؟ هل يجب تحديثه بشكل متكرّر، مثلاً كل 15 ثانية؟

لا، لا يُنصح بإجراء تعديلات متكرّرة. وفي ما يلي السبب في ذلك:

  • تأثير الأداء: يؤدي إرسال التحديثات بشكل مستمر إلى إجهاد خوادمنا بلا داعٍ، ما قد يؤدي إلى تباطؤ النظام لدى الجميع.
  • البيانات غير الضرورية: أثناء مشاهدة المستخدم بشكل نشط، يتغيّر موضع التشغيل باستمرار، وإرسال تعديلات كل بضع ثوانٍ يؤدي إلى إنشاء الكثير من البيانات المكرّرة التي لا تفيد في استئناف التشغيل.

الحالات التي يجب فيها تعديل معلومات المحتوى في صف "مواصلة المشاهدة":

ركِّز على تسجيل التغييرات المهمة في مستوى تقدّم المستخدم في المشاهدة. في ما يلي السيناريوهات الرئيسية:

  • إيقاف التشغيل مؤقتًا أو إيقافه: عندما يوقف المستخدم التشغيل مؤقتًا أو يوقفه، أرسِل تحديثًا لتخزين موضع التشغيل الحالي.
  • إغلاق التطبيق أو تشغيله في الخلفية: إذا خرج المستخدم من التطبيق أو انتقل إلى تطبيق آخر أثناء مشاهدة فيديو، أرسِل تحديثًا لحفظ مستوى تقدّمه.
  • عندما يزيل المستخدم فيلمًا أو برنامجًا تلفزيونيًا من صف "مواصلة المشاهدة" داخل التطبيق

كيفية التعديل بكفاءة:

بدلاً من التحديثات المحدّدة بوقت، استخدِم الأحداث ضمن مشغّل الفيديو أو دورة حياة التطبيق لتشغيل التحديثات. على سبيل المثال:

  • onPause، onStop: عندما يتوقف تشغيل الفيديو مؤقتًا أو نهائيًا
  • onAppClose وonAppBackgrounded: عند إغلاق التطبيق أو نقله إلى الخلفية

من خلال اتّباع هذه الإرشادات، ستضمن الاستخدام الفعّال للموارد مع الاستمرار في تقديم تجربة سلسة للمستخدمين في صف &quot;متابعة المشاهدة&quot;.