ما أهمية ميزة "توقيع التطبيق" من Google Play؟ بالإضافة إلى حماية مفاتيحك من الفقدان الدائم أو الاختراق، يتيح لك التسجيل في ميزة "توقيع التطبيق" من Google Play الاستفادة من التحسينات التي تمت على "مجموعة حزمات تطبيق Android" (.aab). ومن خلال السماح لـ Google بتوقيع حِزم APK المحسَّنة للتوزيع والناتجة عن حِزم تطبيقك، يمكنك الاستفادة من خدمات قيّمة، مثل الحماية التلقائية والترجمة التلقائية لنصوص التطبيق باستخدام نماذج Gemini. تستفيد الألعاب من خدمات تلقائية إضافية، مثل Sidekick في "ألعاب Play" واللعب أثناء تنزيل اللعبة والفترات التجريبية المجانية للألعاب المدفوعة.
لإعداد ميزة "توقيع التطبيق" من Google Play، يجب أن تكون أنت صاحب الحساب.
المفاهيم الأساسية
عند استخدام ميزة "توقيع التطبيق" من Google Play، ستتعامل مع مفتاحَين مختلفَين. ومن المهم أن تفهم الفرق بينهما، وبين تنسيقاتهما التقنية، لتجنُّب مشاكل المصادقة مع واجهات برمجة التطبيقات التابعة لجهات خارجية.
| نوع المفتاح | من الجهة المسؤولة عنه؟ | التفاصيل التقنية والغرض |
|
مفتاح التحميل |
أنت (يجب الاحتفاظ به في مكان آمن) |
|
| مفتاح توقيع التطبيق |
Google Play |
|
| مقاوم لهجمات كمبيوتر الكم | Google Play |
|
ملاحظة: لضمان أقصى درجات الأمان، يجب أن يختلف مفتاح التحميل عن مفتاح توقيع التطبيق.
آلية توقيع Google لتطبيقك: عندما تنشئ Google حِزم APK وتوقّعها باستخدام مفتاح توقيع التطبيق، فإنها تستخدم أداة apksigner لإضافة طابعَين إلى بيان تطبيقك (com.android.stamp.source وcom.android.stamp.type). يضمن هذان الطابعان إمكانية تتبُّع حِزم APK بشكل آمن وصولاَ إلى الموقِّع الأصلي.
إعداد ميزة "توقيع التطبيق" من Google Play
تختلف خطوات عملية الإعداد بناءً على ما إذا كنت بصدد نشر تطبيق جديد أو نقل تطبيق حالي.
للتطبيقات الجديدة
- إنشاء تطبيق جديد: سيتم تلقائيًا تسجيل تطبيقك في عملية التوقيع المختلط الجاهز للحوسبة الكمية، وذلك باستخدام مفاتيح من إنشاء Google. ننشئ أيضًا مفتاحًا كلاسيكيًا منفصلاً لاستخدامه في حِزَم التوقيع التي يتم التعرّف عليها على الأجهزة التي تعمل بنظام التشغيل Android 16 والإصدارات الأقدم.
- إنشاء مفتاح تحميل: عليك إنشاء ملف تخزين مفاتيح لتتمكن من توقيع حِزمة تطبيق الإصدار الخاصة بك. يمكنك إنشاؤه مباشرةً في "استوديو Android" أو استخدام أداة Java keytool من سطر الأوامر.
- تحميل حِزمة تطبيقك: انتقِل إلى Play Console وابدأ بتجهيز إصدار جديد. عند تحميل حِزمة تطبيقك، يتم تلقائيًا تسجيل تطبيقك في عملية التوقيع المختلط الجاهز للحوسبة الكمية، وذلك باستخدام مفاتيح من إنشاء Google.
- تغيير مفتاح توقيع تطبيقك (اختياري): يمكن للمطوّرين المتمرسين الذين يريدون إدارة مفاتيحهم الخاصة تغيير هذا الإعداد التلقائي قبل طرح أي إصدار في مسار الاختبار المفتوح أو قناة الإصدار العلني. ويمكنك إجراء ذلك بالنقر على محمي من خلال Google Play > التوزيع على "متجر Google Play" > الانتقال إلى ميزة "توقيع التطبيق" من Google Play والنقر على تغيير مفتاح توقيع التطبيق. سيكون بإمكانك بعد ذلك اختيار:
- استخدام المفتاح نفسه كتطبيق آخر في حساب المطوّر هذا
- تقديم نسخة من مفتاح توقيع تطبيقك (باتّباع التعليمات)
للتطبيقات الحالية
إذا كنت تدير مفاتيحك الخاصة وتحمّل حِزم APK حاليًا، يمكنك الترقية إلى ميزة "توقيع التطبيق" من Google Play للاستفادة من حِزم التطبيقات وتحسينات Google Play.
- انقر على محمي من خلال Google Play > التوزيع على متجر Google Play > الانتقال إلى ميزة "توقيع التطبيق" من Google Play في Play Console.
- اقبَل بنود الخدمة إذا لم يسبق لك إجراء ذلك.
- انقل نسخة من مفتاحك الأصلي: نزِّل أداة PEPK واتّبِع التعليمات المفصّلة الموحّدة لتشفير مفتاح توقيع التطبيق الحالي وتحميله من أي مستودع.
التسجيل لدى موفّري واجهة برمجة التطبيقات
إذا كان تطبيقك يستخدم واجهات برمجة تطبيقات (مثل "خرائط Google" أو OAuth أو "تسجيل الدخول باستخدام Facebook")، ستصادق هذه الخدمات على تطبيقك باستخدام بصمة مفتاح توقيع التطبيق.
بما أنّ Google توقّع حزمة APK النهائية، عليك تسجيل بصمة مفتاح توقيع التطبيق الذي تحتفظ به Google لدى موفّري واجهة برمجة التطبيقات، وليس مفتاح التحميل المحلي فقط.
- انتقِل إلى محمي من خلال Google Play > التوزيع على "متجر Play" > الانتقال إلى ميزة "توقيع التطبيق" من Google Play.
- انتقِل إلى قسم مفتاح توقيع التطبيق.
- انسخ البصمات المطلوبة (SHA-1 أو SHA-256). إذا كان تطبيقك يستخدم التوقيع المختلط الجاهز للحوسبة الكمية، عليك نسخ البصمات لثلاثة مفاتيح وتسجيل كل منها لدى موفّري واجهات برمجة التطبيقات: المفتاح الكلاسيكي الجديد والمفتاح الجديد المستند إلى تقنية التشفير بعد الكمّي (PQC) المستخدَمان على الأجهزة الأحدث، ومفتاح التوقيع الكلاسيكي المستخدَم على الأجهزة القديمة.
- الصِق هذه البصمات في وحدة تحكّم موفّر واجهة برمجة التطبيقات (مثل Google Cloud Console).
ملاحظة: عدِّل ملف assetlinks.json باستخدام هذه البصمات إذا كنت تستخدم ميزة Android App Links.
إدارة مفاتيحك
ترقية مفتاح توقيع التطبيق
إذا تعرض مفتاح توقيع تطبيقك للاختراق، أو كنت بحاجة إلى مفتاح أقوى تشفيريًا، يمكنك طلب ترقية سنوية للمفتاح تشمل جميع عمليات التثبيت على الأجهزة التي تعمل بنظام Android 17 (المستوى 37 من واجهة برمجة التطبيقات) والإصدارات الأحدث.
آلية تطبيق هذه القواعد عبر إصدارات Android المختلفة:
- Android 17 (المستوى 37 من واجهة برمجة التطبيقات) والإصدارات الأحدث: يفرض نظام Android الأساسي بشكل صارم استخدام المفتاح المختلط الجاهز للحوسبة الكمّية الذي تمت ترقيته. يُرجى الاطّلاع على الإصدار v3.2 من مخطّط توقيع حِزم APK.
- من Android 13 (المستوى 33 من واجهة برمجة التطبيقات) إلى Android 16 (المستوى 36 من واجهة برمجة التطبيقات): يفرض نظام Android الأساسي بشكل صارم استخدام أحدث مفتاح كلاسيكي. يُرجى الاطّلاع على الإصدار v3.1 من مخطّط توقيع حِزم APK
- من Android 7 (المستوى 24 من واجهة برمجة التطبيقات) إلى Android 12 (المستوى 32 من واجهة برمجة التطبيقات): لا يفرض نظام Android الأساسي استخدام المفتاح الذي تمت ترقيته وسيظلّ يتعرّف على أحدث مفتاح كلاسيكي. ومع ذلك، توفّر ميزة Google Play للحماية طبقة إضافية من الأمان عبر التحقّق من توقيع تحديثات التطبيق باستخدام أحدث مفتاح كلاسيكي لك (ما لم يوقِف المستخدم هذه الميزة).
اعتبارات مهمّة:
- البيانات التي تتم مشاركتها: نظرًا لأنّ النظام الأساسي لا يفرض استخدام المفتاح الذي تمت ترقيته على الإصدار Android S (المستوى 32 من واجهة برمجة التطبيقات) والإصدارات الأقدم، إذا كنت تستخدم المفتاح نفسه في عدة تطبيقات لمشاركة البيانات، فلن تتعرّف إصدارات Android القديمة هذه إلا على المفتاح القديم لتشغيل ميزات مثل مشاركة الأذونات المخصّصة.
كيفية الترقية:
- انتقِل إلى محمي من خلال Google Play > التوزيع على "متجر Play" > الانتقال إلى ميزة "توقيع التطبيق" من Google Play.
- ضمن قسم "مفتاح توقيع التطبيق"، انقر على ترقية المفتاح.
- اختَر مسار الترقية:
- السماح لمتجر Google Play بإنشاء مفتاح توقيع تطبيق جديد (مستحسَن)
- استخدام مفتاح توقيع التطبيق نفسه المستخدَم مع تطبيق آخر في حساب المطوِّر هذا
- تقديم نسخة من مفتاح توقيع تطبيقك (باتّباع التعليمات)
- انقر على حفظ.
- سجِّل بصمات المفتاح الجديد لدى موفّري واجهة برمجة التطبيقات. وإذا كان تطبيقك يستخدم التوقيع المختلط الجاهز للحوسبة الكمّية، عليك تسجيل بصمات مفتاحَين جديدَين، وهما المفتاح الكلاسيكي الجديد والمفتاح المستند إلى تقنية التشفير بعد الكمّي (PQC) الجديد.
طلب إعادة ضبط مفتاح التحميل
في حال فقدان مفتاح التحميل أو الاشتباه في اختراقه، لا داعي للقلق، فلن يتم حظرك من الوصول إلى تطبيقك.
- أنشئ مفتاح تحميل جديدًا في "استوديو Android".
- صدِّر الشهادة بتنسيق PEM:
keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
(لتلقّي المزيد من المساعدة بشأن أداة keytool ومسارات ملف تخزين المفاتيح، يُرجى الرجوع إلى دليل توقيع التطبيقات في "استوديو Android"). - بعد إنشاء ملف PEM، أرسِل طلب إعادة الضبط في Play Console.
- انقر على محمي من خلال Google Play > الحماية على "متجر Google Play" > إدارة ميزة "توقيع التطبيق" من Google Play.
- في قسم شهادة مفتاح التحميل، انقر على طلب إعادة ضبط مفتاح التحميل.
- أدخِل سبب إعادة الضبط.
- حمِّل ملف
upload_certificate.pemوانقر على طلب.
أفضل الممارسات وطرق التوزيع البديلة
- الأمان: يمكنك حماية إذن الوصول إلى Play Console من خلال فرض ميزة "التحقّق بخطوتين" على جميع المستخدمين.
- تحسينات حِزم التطبيقات: يتيح لك التسجيل في ميزة "توقيع التطبيق" من Google Play الاستفادة من تحسينات Google Play لحِزم تطبيقاتك. للاستفادة من هذه التحسينات، عليك أولاً إجراء أي تغييرات ضرورية في الإعدادات عند إنشاء إصدار جديد، ثم تحميل حزمة تطبيق جديدة.
- التوزيع خارج Google Play: إذا كنت توزّع تطبيقك من خلال متاجر تطبيقات أخرى وأردت استخدام مفتاح التوقيع نفسه في كل مكان، فلديك خياران. [1] يمكنك السماح لـ Google بإنشاء مفتاح توقيع التطبيق وتنزيل حزمة APK عامة موقَّعة من Play Console أو واجهة Google Play Developer API لتوزيعها في مكان آخر (في Play Console، انتقِل إلى الاختبار والإصدار > أحدث الإصدارات والحِزم، واختَر حِزمة تطبيقك، ثم انقر على علامة التبويب عمليات التنزيل)، أو [2] يمكنك إنشاء مفتاح توقيع التطبيق الذي تريد استخدامه في جميع متاجر التطبيقات ونقل نسخة منه إلى Google عند إعداد ميزة "توقيع التطبيق" من Google Play. تعرَّف على مزيد من المعلومات حول آلية عمل تحديثات التطبيقات وخيارات تفعيل التحديثات على مستوى متاجر متعددة أو إيقافها.
- الاختبار: استخدِم ميزة مشاركة التطبيقات مع الفريق الداخلي لاختبار ما سيوفّره Google Play للمستخدمين بالضبط، أو نزِّل حِزم APK مخصّصة للجهاز من "مستكشف حِزم التطبيقات" وثبِّتها محليًا باستخدام الأمر adb install-multiple *.apk.
- الإصدار 4 من مخطّط توقيع حِزم APK: تستخدم ميزة "توقيع التطبيق" من Google Play تلقائيًا توقيع الإصدار 4 للتطبيقات المؤهَّلة من أجل إتاحة التوزيع المحسَّن على أجهزة Android 11 والإصدارات الأحدث. ما مِن إجراء مطلوب اتّخاذه من جانبك. ويستثني ذلك جميع التطبيقات التي تستخدم نظام التوقيع المختلط المقاوم لهجمات كمبيوتر الكم، والذي لا يتوافق بعد مع الإصدار 4 من نظام التوقيع. يمكنك الاطّلاع على مزيد من المعلومات حول المزايا التقنية في مستندات الإصدار 4 من مخطّط توقيع حزمة APK.
مشاريع Google Cloud المستضافة ذاتيًا
إذا كانت لديك متطلبات أمان محدّدة للغاية (مثل استخدام مفاتيح الشركة المصنّعة للجهاز الأصلي)، يمكنك استخدام واجهة Play Developer API للتسجيل في ميزة "توقيع التطبيق" من Google Play من خلال مشروع Google Cloud مستضاف ذاتيًا.
هذا إعداد غير تقليدي ولا ننصح به. إنّ اختيارك لمشروع مستضاف ذاتيًا يضع على عاتقك المسؤولية الكاملة عن جميع عمليات توقيع التطبيق،
- كما أنّه يحرمك من ميزات Google Play الحيوية، وأبرزها القدرة على "التعافي من الكوارث".
- ليس بإمكان Google إعادة إنشاء أي إصدار حالي أو إصلاحه. ولإصلاح أي أخطاء متعلّقة بالإصدار، عليك تحميل إصدار جديد.
- قد لا تتوفّر ضمن هذه الإعدادات ميزات التحسين المتقدّمة، وبعض تحسينات Google Play، وميزات الأمان، مثل نظام التوقيع المختلط الجاهز للحوسبة الكمية.
- عليك إنشاء مفاتيح التوقيع أو استيرادها إلى Cloud KMS، مع التأكّد من ضبط الموقع الجغرافي على مناطق متعدّدة في الولايات المتحدة، واتّباع مستندات استيراد مفاتيح KMS.
- لتغيير مفتاح التوقيع، استخدِم طريقة enrollApp. لا يمكن تغيير مفاتيح التوقيع إلا قبل إطلاق التطبيق في مسارَي "الاختبار المفتوح" أو "قناة الإصدار العلني".
- لترقية مفتاح التوقيع بعد النشر، استخدِم طريقة rotateAppSigningKey.
- امنح الأدوار التالية في "إدارة الهوية وإمكانية الوصول" (IAM) للعميل أو حساب الخدمة الذي يُجري عملية المصادقة باستخدام Google Play Developer API:
- تأكَّد من توفّر حصة كافية لإجراء عمليات التشفير. وعلى وجه الخصوص، ننصح بزيادة حصة asymmetric_requests إلى 350 طلبًا في الثانية (QPS) على الأقل.
- لمعرفة كيفية استخدام مفاتيح التوقيع، يمكنك تفعيل سجلّ التدقيق في مشروع Cloud KMS.