AMP

دمج AMP مع تطبيقك

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

تحويل الروابط إلى AMP

مع AMP، من الممكن عرض مواقع الويب الخارجية على الفور تقريبًا داخل تطبيق الويب الأصلي أو تطبيق الويب للهاتف المحمول. ويمكنك تحقيق ذلك من خلال مطابقة عناوين URL في المحتوى الخاص بك مع عناوين URL المقابلة لها (إن وجدت) وفتح إصدار AMP بدلًا عن الإصدار الأصلي. ويمكنك استخدام أدوات مثل، واجهة برمجة تطبيقات عناوين URL لصفحات AMP الخاصة بـ Google لمساعدتك في القيام بهذا الأمر.

على سبيل المثال، يمكن تحويل الرسالة التالية لعرض إصدارات AMP من خلال استبدال جميع عناوين URL بإصدارات AMP المطابقة لها (إن وجدت). ولتقليل وقت التحميل وضمان عرض AMP صالح، يجب عليك الربط بصفحات AMP المخزنة مؤقتًا في ذاكرة AMP للتخزين المؤقت.

الرسالة الأصلية:

This is a message with links to an <a href="http://www.example.org/a">
article with AMP version</a> and an <a href="http://www.example.org/b"> article without AMP version</a>.

الرسالة المحوَّلة:

This is a message with links to an <a href="https://www-example-org.cdn.ampproject.org/c/www.example.org/a">
article with AMP version</a> and an <a href="www.example.org/b"> article without AMP version</a>.

تلميح– تدبر في تزويد المستخدمين بخيار عرض الإصدار بخلاف AMP بدلًا عن إصدار AMP من خلال إعدادات التفضيل في تطبيقك.

طرق لتحويل الروابط

هناك ثلاث طرق لتحويل الروابط برمجيًا:

  1. جانب الخادم لوقت الكتابة (مفضل): استرجع عنوان URL لصفحة AMP عبر واجهة برمجة تطبيقات عناوين URL لصفحات AMP الخاصة بـ Google في وقت كتابة عنوان URL وتخزين عناوين URL لصفحات AMP من جانب الخادم. قم بتمرير عنواني URL كليهما إلى العميل لأنه قد يلزم وجود عنوان URL الأصلي للمشاركة. وهذا هو الأسلوب الموصى به نظرًا لوجود عدد أقل من طلبات الشبكة من جانب العميل. وعند اتباع هذا الأسلوب، من المهم إجراء فحص دوري (على سبيل المثال، يوميًا) للروابط بحثًا عن إصدارات AMP نظرًا لأن مواقع الويب تعتمد بشكل متزايد على تنسيق AMP.
  2. جانب الخادم في التوقيت الحقيقي (بعض الاستخدامات): استرجع عنوان URL لصفحة AMP عبر واجهة برمجة تطبيقات عناوين URL لصفحات AMP الخاصة بـ Google قبل تمرير المحتوى إلى عميلك. وكما ذكرنا أعلاه، مرر عنواني URL (AMP وغير AMP) كليهما إلى العميل نظرًا لأن عنوان URL الأصلي قد يكون مطلوبًا للمشاركة. ويمكن أن تكون هذه الطريقة جيدة للخدمات ذات نسبة توزيع موسع منخفضة.
  3. جانب العميل (إذا كان جانب الخادم غير ممكن): استرجع عنوان URL لصفحات AMP عبر واجهة برمجة تطبيقات عناوين URL لصفحات AMP الخاصة بـ Google من العميل. استخدم هذا الأسلوب إذا كان تحويل عنوان URL من جانب الخادم غير ممكن (على سبيل المثال، لتطبيقات المراسلة التي تستخدم التشفير من نهاية إلى نهاية). وتأكد من تشغيل تحويل عنوان URL بمجرد توفر المحتوى، وذلك قبل حدوث أي تفاعل مستخدم.

مهم– لا تطلب أبدًا عناوين URL لصفحات AMP من خلال واجهة برمجة تطبيقات AMP الخاصة بـ Google كنتيجة لتفاعل المستخدم لأن ذلك يقلل من أداء تطبيقك نظرًا لتقديمه طلب شبكة إضافي. بدلاً من ذلك، استخدم أحد الأساليب الثلاثة الموضحة أعلاه.

واجهة برمجة تطبيقات عناوين URL لـ AMP الخاصة بـ Google

توفر Google واجهة برمجة تطبيقات عناوين URL لـAMP من أجل استرجاع عناوين URL لـ AMP HTML لقائمة معينة من عناوين URL (الوثائق الرسمية / العرض التوضيحي. وليس مطلوبًا أن تكون عناوين URL عبارة عن إصدارات أساسية. ففي حالة وجود إصدار AMP، تتضمن الاستجابة عنوان URL الأصلي لصفحة AMP وعنوان URL لصفحة AMP الموجودة في ذاكرة Google AMP للتخزين المؤقت.

على سبيل المثال، بالنسبة لقائمة معينة من عناوين URL:

{"urls": [
  "https://www.example.org/article-with-amp-version",
  "http://www.example.com/no-amp-version.html"
]}

يحتوي نص الاستجابة على إقران عنوان URL بصفحات AMP بتنسيق JSON:

{
  "ampUrls": [
    {
      "originalUrl": "https://www.example.org/article-with-amp-version",
      "ampUrl": "https://www.example.org/article-with-amp-version/amp",
      "cdnAmpUrl": "https://www-example-org.cdn.ampproject.org/c/s/www.example.org/article-with-amp-version"
    }
  ],
  "urlErrors": [
    {
      "errorCode": "NO_AMP_URL",
      "errorMessage": "AMP URL not found.",
      "originalUrl": "http://www.example.com/no-amp-version.html"
    }
  ]
}

ملحوظة– لا يمكن استرداد عناوين URL لصفحات AMP الموجودة في ذاكرات التخزين المؤقت غير التابعة لـ Google عبر واجهة برمجة تطبيقات عناوين URL لصفحات AMP. مع ذلك، يمكنك بسهولة اشتقاق عنوان URL المخزن مؤقتًا من عنوان URL المعروض لصفحات AMP (ampURL).

استخدام ذاكرة التخزين المؤقت لصفحات AMP

ذاكرة AMP للتخزين المؤقت هي شبكة تسليم محتوى (CDN) تعتمد على الوكيل لتسليم مستندات AMP صالحة. صممت ذاكرات AMP للتخزين المؤقت لأجل:

  • خدمة صفحات AMP صالحة فقط.
  • السماح بتحميل صفحات AMP مسبقًا بكفاءة وأمان.
  • تنفيذ تحسينات أداء إضافية على المحتوى مفيدة للمستخدم.

يوجد حاليًا مزودان لذاكرة التخزين المؤقت لصفحات AMP:

يوفر هذا الأمر خيارين لعرض ملف AMP في أحد التطبيقات باستخدام إما:

  1. النسخة المستضافة من قبل الناشر
  2. النسخة المستضافة في ذاكرة التخزين المؤقت لصفحات AMP

نوصي باستخدام ذاكرة التخزين المؤقت لصفحات AMP للأسباب التالية:

  • تجربة مستخدم أفضل بسبب وقت التحميل الأسرع وزمن الوصول المنخفض (وقت تحميل أسرع يبلغ >1 ثانية).
  • مزايا الأداء وعرض النطاق الترددي بسبب التخزين المؤقت الإضافي للبيانات الاصطناعية المعتمدة على العميل، على سبيل المثال: تخزين نسخ مختلفة من الصورة نفسها مؤقتًا اعتمادًا على حجم منفذ عرض العميل.
  • قد يصبح ملف AMP الأصلي غير صالح لصفحات AMP، مما قد يؤدي إلى تجربة مستخدم سيئة. في هذه الحالة، تعرض ذاكرة التخزين المؤقت لصفحات AMP آخر إصدار صالح من ملف AMP.
  • يمكن للناشر غير البارع أن يقدم مستندين مختلفين إلى متتبع ذاكرة التخزين المؤقت لصفحات AMP ولمستخدميك. فيما يضمن استخدام ذاكرة التخزين المؤقت لصفحات AMP رؤية المستخدمين دائمًا لملف AMP نفسه على النحو الموجود في ذاكرة التخزين المؤقت.

مهم– عند عرض صفحات AMP من خلال ذاكرة التخزين المؤقت لصفحات AMP، قدِّم تجربة مشاهدة تُظهر بوضوح أصل AMP وتوفر إمكانية للمستخدمين لمشاركة عنوان URL الأساسي (راجع أيضًا القسمين التاليين لمزيد من المعلومات حول هذا الأمر).

تنفيذ عارض AMP

يوفر وقت تشغيل AMP واجهة برمجة تطبيقات للعارض، التي من شأنها توفير بروتوكلًا لإرسال واستقبال الرسائل بين وقت تشغيل AMP والعارض. وهذا الأمر يجعل من الممكن التحكم في العرض المسبق لمستندات AMP، والتمرير بين المقالات، ومستندات وقت تشغيل AMP. يمكنك التعرف على المزيد حول واجهة برمجة تطبيقات عارض AMP في الدليل الإرشادي توصيل عارضي AMP بصفحات AMP. كما أن عمليات تنفيذ العارض للويب وiOS متوفرة في GitHub. أما عارض نظام التشغيل Android فليس متوفرًا إلى الآن، راجع هذه الإجابة على موقع Stack Overflow عن طريقة تكوين WebView لعرض صفحات AMP.

فيما يلي بعض أفضل الممارسات العامة لتنفيذ عارض AMP:

  • اعرض صفحة AMP من ذاكرة التخزين المؤقت لصفحات AMP (وقت تحميل أسرع >1 ثانية).
  • اعرض أصل ناشر المقالة (على سبيل المثال، في رأس صفحة قابل للطي).
  • وفِّر إجراء مشاركة (راجع أيضًا قسم "مشاركة محتوى AMP" أدناه).
  • في العارضات المستندة إلى webView، مكِّن ملفات تعريف الارتباط للطرف الثالث.
  • عيِّن مرجع لمنصتك/تطبيقك.

مشاركة محتوى AMP

عند مشاركة مستند AMP من داخل عارض AMP لمنصة ما، يجب على المنصة مشاركة عنوان URL المتعارف عليه حينما يكون ممكنًا من الناحية الفنية. على سبيل المثال، إذا كانت المنصة توفر زر مشاركة، فيجب أن يشارك هذا الزر عنوان URL المتعارف عليه.

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