واجهة برمجة تطبيقات معرّف المثيل
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تتيح لك واجهة برمجة التطبيقات Instance ID دمج Instance ID مع تطبيق Android أو iOS. يوفّر Instance ID معرّفًا فريدًا لكل مثيل من تطبيقك وآلية للمصادقة على الإجراءات ومنح الإذن بتنفيذها. InstanceID
صالح لفترة طويلة، ولكن قد تنتهي صلاحيته للأسباب التالية:
- إعادة ضبط الجهاز على الإعدادات الأصلية
- ألغى المستخدم تثبيت التطبيق.
- ينفّذ المستخدم عملية "محو البيانات" في التطبيق.
- الجهاز غير مستخدَم لفترة طويلة (يحدّد الجهاز والمنطقة الفترة الزمنية).
- ترصد خدمة Instance ID حالات إساءة الاستخدام أو الأخطاء وتعيد ضبط
InstanceID
.
- الرمز البرمجي من جهة الخادم إذا كان تطبيق العميل يتطلّب هذه الوظيفة
تُعلم خدمة Instance ID تطبيقك بإعادة ضبط InstanceID
من خلال
إجراء معاودة الاتصال إلى InstanceIDListenerService
. إذا تلقّى تطبيقك هذا الإشعار، يجب أن يستدعي getToken()
ويسترد InstanceID
الجديد، ثم يعدّل خوادمه.
استخدِم طريقة getToken
لإثبات ملكية InstanceID
والسماح للخوادم بالوصول إلى البيانات أو الخدمات المرتبطة بالتطبيق. تتّبع الطريقة أنماط OAuth2 وتتطلّب authorizedEntity
وscope
. يمكن أن يكون authorizedEntity
معرّف مشروع أو InstanceID
آخر، ويحدّد الخدمات المصرّح لها باستخدام الرمز المميّز الذي تم إنشاؤه. يحدّد scope
الخدمة أو البيانات المحدّدة التي يتيح الرمز المميز الوصول إليها.
مزيد من المعلومات عن Instance ID API:
Android
iOS
الخادم
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-09-05 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-09-05 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eThe Instance ID API provides a unique identifier for each app instance and enables authentication and authorization.\u003c/p\u003e\n"],["\u003cp\u003eInstance IDs are long-lived but can expire due to various factors like device reset, uninstallation, data clearing, extended inactivity, or service-detected issues.\u003c/p\u003e\n"],["\u003cp\u003eUpon Instance ID reset, apps are notified and must retrieve a new ID using \u003ccode\u003egetToken()\u003c/code\u003e and update their servers.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egetToken()\u003c/code\u003e method, using OAuth2 patterns, verifies Instance ID ownership and grants server access to associated data or services based on authorized entity and scope.\u003c/p\u003e\n"]]],[],null,["# Instance ID API\n\nThe Instance ID API lets you integrate Instance ID with your Android\nor iOS app. Instance ID provides a unique identifier for each instance of\nyour app and a mechanism to authenticate and authorize actions. The `InstanceID` is long\nlived, but may expire for the following reasons:\n\n- Device factory reset.\n- User uninstalls the app.\n- User performs \"Clear Data\" in the app.\n- Device unused for an extended period (device and region determines the timespan).\n- Instance ID service detects abuse or errors and resets the `InstanceID`.\n- Server-side code if your client app requires that functionality.\n\nThe Instance ID service notifies your app of an `InstanceID` reset via\ncallback to a `InstanceIDListenerService`. If your app receives this\nnotification, it must call `getToken()` and retrieve the new `InstanceID`,\nand update its servers.\n\nUse the `getToken` method to prove the ownership of the `InstanceID` and to allow\nservers to access data or services associated with the app. The method follows\nthe patterns of OAuth2, and requires an `authorizedEntity` and `scope`. The\n`authorizedEntity` can be a project ID or another `InstanceID`, and it determines\nthe services that are authorized to use the generated token. The `scope`\ndetermines the specific service or data to which the token allows access.\n\nLearn more about the Instance ID API for:\n\n[Android](/instance-id/reference/android/api)\n[iOS](/instance-id/reference/ios/api)\n[Server](/instance-id/reference/server)"]]