التحكم في طريقة تشغيل تطبيقك
تتيح لك Launch Handler API التحكّم في طريقة تشغيل تطبيقك، على سبيل المثال، في ما إذا كان يستخدم
حالية أو جديدة وما إذا كان يتم الانتقال إلى النافذة التي تم اختيارها إلى عنوان URL للتشغيل. كما هي الحال مع
واجهة برمجة تطبيقات معالجة الملفات، يتم أيضًا إدراج عنصر LaunchParams
في قائمة الانتظار في window.launchQueue
للصفحة التي تم إطلاقها.
الوضع الحالي
الخطوة | الحالة |
---|---|
1. إنشاء شرح | مكتمل |
2. إنشاء مسودة أولية للمواصفات | مكتمل |
3- جمع الملاحظات التكرار التحسيني للتصميم | مكتملة |
4. مرحلة التجربة والتقييم | مكتملة |
5- إطلاق | مكتمل |
استخدام Launch Handler API
دعم المتصفح
واجهات
تحدد واجهة برمجة تطبيقات معالج الإطلاق واجهتين جديدتين.
LaunchParams
: عنصر يحتوي على targetURL
ليعالجه المستهلك.
LaunchQueue
: يتمّ إطلاق الطوابير إلى أن يعالجها المستهلك المحدّد.
عضو البيان "launch_handler
"
لتحديد سلوك تشغيل تطبيقك بشكل صريح، أضِف launch_handler
عنصر البيان
إلى بيان تطبيقك. ويحتوي على حقل فرعي واحد باسم client_mode
. وهي تتيح لك التحكم في ما إذا كان
الحالي، وما إذا كان يجب التنقل في هذا العميل. المثال التالي
ملفًا بقيم نموذجية توجه دائمًا جميع عمليات التشغيل إلى ملف
البرنامج.
{
"launch_handler": {
"client_mode": "navigate-new"
}
}
وفي حال عدم تحديد قيمة هذا الحقل، سيتم ضبط launch_handler
تلقائيًا على {"client_mode": "auto"}
. القيم المسموح بها
الحقول الفرعية هي:
client_mode
:navigate-new
: يتم إنشاء سياق تصفُّح جديد في نافذة تطبيق الويب لتحميل هدف الإطلاق. عنوان URL.navigate-existing
: يتم الانتقال إلى عنوان URL المستهدَف للإطلاق من سياق التصفّح الذي تم التفاعل معه مؤخرًا في نافذة تطبيق الويب.focus-existing
: يتم اختيار سياق التصفّح الذي تم التفاعل معه مؤخرًا في نافذة تطبيق الويب لمعالجة عملية الإطلاق. سيتم إدراج عنصرLaunchParams
جديد تم ضبطtargetURL
الخاص به على عنوان URL لبدء التشغيل فيwindow.launchQueue
للمستند.auto
: يتوقف سلوك وكيل المستخدم على اختيار التطبيق الأنسب للمنصة. على سبيل المثال، تتيح الأجهزة الجوّالة استخدام عملاء فرديين فقط وستستخدمexisting-client
، في حين تتيح أجهزة الكمبيوتر المكتبي استخدام نوافذ متعدّدة وستستخدمnavigate-new
لتجنّب فقدان البيانات.
تقبل السمة client_mode
أيضًا قائمة (مصفوفة) من القيم، حيث يتم إدخال أول قيمة صالحة.
استخدام البيانات المختلفة. يهدف ذلك إلى السماح بإضافة قيم جديدة إلى المواصفات بدون إيقاف التوافق مع الإصدارات السابقة
مع عمليات التنفيذ الحالية.
على سبيل المثال، إذا أضفت القيمة الافتراضية "focus-matching-url"
، ستحدِّد المواقع الإلكترونية.
"client_mode": ["focus-matching-url", "navigate-existing"]
لمواصلة التحكّم في
سلوك المتصفحات القديمة التي لا تتوافق مع "focus-matching-url"
.
استخدام window.launchplaylist
في الرمز التالي، تستخرج الدالة extractSongID()
السمة songID
من عنوان URL.
عند الإطلاق. يُستخدَم هذا الإذن لتشغيل أغنية في تطبيق ويب متقدّم لمشغّل موسيقى.
if ('launchQueue' in window) {
launchQueue.setConsumer((launchParams) => {
if (launchParams.targetURL) {
const songID = extractSongId(launchParams.targetURL);
if (songID) {
playSong(songID);
}
}
});
}
عرض توضيحي
يمكنك الاطّلاع على عرض توضيحي لواجهة برمجة التطبيقات Launch Handler API في العرض التوضيحي لمعالج إطلاق التطبيقات المتوافقة مع الويب. احرص على مراجعة رمز المصدر للتطبيق لمعرفة كيفية استخدامه لواجهة برمجة التطبيقات Launch Handler API.
- ثبِّت تطبيق Musicr 2.0.
- أرسِل رابطًا إلى نفسك في تطبيق محادثة على النحو التالي:
https://launch-handler.glitch.me?track=https://example.com/music.mp3
. (يمكنك تخصيصhttps://example.com/music.mp3
لأي عنوان URL يشير إلى ملف صوتي، على سبيل المثال،https://launch-handler.glitch.me?track=https://cdn.glitch.me/3e952c9c-4d6d-4de4-9873-23cf976b422e%2Ffile_example_MP3_700KB.mp3?v=1638795977190
). - انقر على الرابط في تطبيق المحادثة، ولاحظ كيف يفتح تطبيق Musicr 2.0 المقطع الصوتي ويشغّله.
- انقر على الرابط في تطبيق الدردشة مرة أخرى ولاحظ أنك لن تحصل على مثيل ثانٍ من Musicr 2.0:
ملاحظات
يريد فريق Chromium معرفة تجاربك مع Launch Handler API.
أخبِرنا عن تصميم واجهة برمجة التطبيقات.
هل هناك مشكلة في واجهة برمجة التطبيقات لا تعمل على النحو المتوقّع؟ هل هناك طُرق أو سمات مفقودة تحتاجها لتنفيذ فكرتك؟ طرح سؤال أو تعليق بشأن الأمان النموذج؟ يمكنك الإبلاغ عن مشكلة في المواصفات في مستودع GitHub المقابل، أو إضافة ملاحظاتك إلى مشكلة حالية.
الإبلاغ عن مشكلة في التنفيذ
هل واجهت مشكلة في التنفيذ في Chromium؟ أم أن التنفيذ يختلف عن المواصفات؟
يُرجى الإبلاغ عن الخطأ على new.crbug.com. تأكد من تضمين أكبر قدر ممكن من التفاصيل،
تعليمات إعادة الإنتاج، وأدخل Blink>AppManifest
في مربع المكونات.
يعمل تطبيق Glitch بشكل رائع لمشاركة عمليات إعادة التقديم السريعة.
إظهار الدعم لواجهة برمجة التطبيقات
هل تخطّط لاستخدام واجهة برمجة تطبيقات معالج الإطلاق؟ يساعد دعمك العلني فريق Chromium تحديد أولويات الميزات وإظهار لموردي المتصفحات الآخرين مدى أهمية دعمها.
إرسال تغريدة إلى @ChromiumDev باستخدام علامة التصنيف
#LaunchHandler
و
أخبرنا بمكان وكيفية استخدامك له.