Instance ID API منسوخ شده است. اگر نیاز به دسترسی به شناسه های نصب برنامه منحصر به فرد دارید، از Firebase installs API استفاده کنید. همچنین نصب Firebase و Instance ID را ببینید.
برای دریافت اطلاعات در مورد یک نمونه برنامه، با سرویس Instance ID در این نقطه پایانی تماس بگیرید و رمز نمونه برنامه را مطابق شکل ارائه کنید:
https://iid.googleapis.com/iid/info/IID_TOKEN
پارامترها
Authorization: Bearer <access_token> . این پارامتر را در هدر تنظیم کنید. یک توکن OAuth2 کوتاه مدت به عنوان مقدار هدر Authorization اضافه کنید. برای اطلاعات بیشتر در مورد دریافت این نشانه، به ارائه دستی اعتبارنامه مراجعه کنید.
access_token_auth: true . این پارامتر را در هدر تنظیم کنید.
details بولی [اختیاری]: این پارامتر پرس و جو را روی true تنظیم کنید تا اطلاعات اشتراک موضوع FCM (در صورت وجود) مرتبط با این نشانه را دریافت کنید. وقتی مشخص نیست، پیشفرض روی false .
نتایج
در صورت موفقیت، تماس وضعیت HTTP 200 و یک شی JSON حاوی:
application - نام بسته مرتبط با توکن.
authorizedEntity - projectId مجاز به ارسال به توکن.
applicationVersion - نسخه برنامه.
platform - ANDROID ، IOS ، یا CHROME را برای نشان دادن پلتفرم دستگاهی که توکن به آن تعلق دارد، برمیگرداند.
اگر پرچم details تنظیم شده باشد:
rel - روابط مرتبط با توکن. به عنوان مثال، لیستی از اشتراک موضوع.
Instance ID API به شما امکان می دهد نقشه های ارتباطی را برای نمونه های برنامه ایجاد کنید. به عنوان مثال، میتوانید یک نشانه ثبت نام را به یک موضوع FCM نگاشت، و نمونه برنامه را در آن موضوع مشترک کنید. API روش هایی را برای ایجاد چنین روابطی هم به صورت جداگانه و هم به صورت انبوه ارائه می دهد.
یک نگاشت رابطه برای یک نمونه برنامه ایجاد کنید
با توجه به یک نشانه ثبت نام و یک رابطه پشتیبانی شده، می توانید یک نقشه ایجاد کنید. برای مثال، میتوانید با تماس با سرویس Instance ID در این نقطه پایانی، یک نمونه برنامه را در یک موضوع FCM مشترک کنید، و توکن نمونه برنامه را مطابق شکل ارائه کنید:
Authorization: Bearer <access_token> . این پارامتر را در هدر تنظیم کنید. یک توکن OAuth2 کوتاه مدت به عنوان مقدار هدر Authorization اضافه کنید. برای اطلاعات بیشتر در مورد دریافت این نشانه، به ارائه دستی اعتبارنامه مراجعه کنید.
access_token_auth: true . این پارامتر را در هدر تنظیم کنید.
نتایج
در صورت موفقیت، تماس وضعیت HTTP 200 را برمی گرداند.
نقشه های رابطه را برای چندین نمونه برنامه مدیریت کنید
با استفاده از روش های دسته ای سرویس Instance ID، می توانید مدیریت دسته ای نمونه های برنامه را انجام دهید. برای مثال، میتوانید اضافه یا حذف انبوه نمونههای برنامه را به یک موضوع FCM انجام دهید. برای بهروزرسانی تا 1000 نمونه برنامه در هر تماس API، با سرویس Instance ID در این نقطه پایانی تماس بگیرید و توکنهای نمونه برنامه را در بدنه JSON ارائه دهید:
Authorization: Bearer <access_token> . این پارامتر را در هدر تنظیم کنید. یک توکن OAuth2 کوتاه مدت به عنوان مقدار هدر Authorization اضافه کنید. برای اطلاعات بیشتر در مورد دریافت این نشانه، به ارائه دستی اعتبارنامه مراجعه کنید.
access_token_auth: true . این پارامتر را در هدر تنظیم کنید.
to : نام موضوع.
registration_tokens : آرایه ای از نشانه های IID برای نمونه های برنامه ای که می خواهید اضافه یا حذف کنید.
نتایج
در صورت موفقیت، تماس وضعیت HTTP 200 را برمی گرداند. نتایج خالی نشان دهنده اشتراک موفقیت آمیز برای توکن است. برای اشتراک های ناموفق، نتیجه حاوی یکی از این کدهای خطا است:
NOT_FOUND - رمز ثبت نام حذف شده یا برنامه حذف نصب شده است.
INVALID_ARGUMENT - رمز ثبت نام ارائه شده برای شناسه فرستنده معتبر نیست.
داخلی - سرور باطن به دلایل نامعلومی از کار افتاد. درخواست را دوباره امتحان کنید.
TOO_MANY_TOPICS - تعداد بیش از حد موضوعات در هر نمونه برنامه.
RESOURCE_EXHAUSTED - تعداد زیادی درخواست اشتراک یا لغو اشتراک در مدت زمان کوتاهی. با عقب نشینی نمایی دوباره امتحان کنید.
HTTP 200 OK
{
"results":[
{},
{"error":"NOT_FOUND"},
{},
]
}
توکن های ثبت نام برای توکن های APN ایجاد کنید
با استفاده از روش batchImport سرویس Instance ID، میتوانید توکنهای APN iOS موجود را به Firebase Cloud Messaging وارد کنید و آنها را به نشانههای ثبت معتبر نگاشت کنید. با ارائه لیستی از نشانه های APN در بدنه JSON، با سرویس Instance ID در این نقطه پایانی تماس بگیرید:
https://iid.googleapis.com/iid/v1:batchImport
بدنه پاسخ حاوی آرایهای از نشانههای ثبت شناسه نمونه است که آماده استفاده برای ارسال پیامهای FCM به توکن دستگاه APN مربوطه است.
پارامترها
Authorization: Bearer <access_token> . این پارامتر را در هدر تنظیم کنید. یک توکن OAuth2 کوتاه مدت به عنوان مقدار هدر Authorization اضافه کنید. برای اطلاعات بیشتر در مورد دریافت این نشانه، به ارائه دستی اعتبارنامه مراجعه کنید.
access_token_auth: true . این پارامتر را در هدر تنظیم کنید.
application : شناسه بسته نرم افزاری.
sandbox : Boolean برای نشان دادن محیط sandbox (TRUE) یا تولید (FALSE)
apns_tokens : آرایه ای از توکن های APN برای نمونه های برنامه ای که می خواهید اضافه یا حذف کنید. حداکثر 100 توکن در هر درخواست.
نتایج
در صورت موفقیت، تماس وضعیت HTTP 200 و بدنه نتیجه JSON را برمیگرداند. برای هر توکن APN ارائه شده در درخواست، لیست نتایج شامل موارد زیر است:
توکن APNs.
وضعیت. یا OK، یا یک پیام خطایی که خرابی را توصیف می کند.
برای نتایج موفقیت آمیز، توکن ثبتی که FCM به توکن APN ها نگاشت می کند.
HTTP200OK{"results":[{"apns_token":"368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12","status":"OK","registration_token":"nKctODamlM4:CKrh_PC8kIb7O...clJONHoA"},{"apns_token":"76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86","status":"Internal Server Error"},]}
پاسخ های خطا
تماسهای API سرور Instance ID کدهای خطای HTTP زیر را برمیگرداند:
HTTP status 400 (Bad request) - پارامترهای درخواست موجود نیستند یا نامعتبر هستند. برای اطلاعات دقیق پیام های خطا را بررسی کنید.
HTTP status 401 (Unauthorized) - سرصفحه مجوز نامعتبر است.
HTTP status 403 (Forbidden) - سرصفحه مجوز authorizedEntity مطابقت ندارد.
HTTP status 404 (Not found) - مسیر HTTP یا کد IID نامعتبر یافت نشد. برای اطلاعات دقیق پیام های خطا را بررسی کنید.
HTTP status 503 (Service unavailable) - سرویس در دسترس نیست. درخواست را با عقب نشینی نمایی دوباره امتحان کنید.
تاریخ آخرین بهروزرسانی 2025-09-04 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-09-04 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eThe Instance ID service allows server-side management of app instances, including retrieving information, creating relationship maps, and managing APNs tokens.\u003c/p\u003e\n"],["\u003cp\u003eYou can get information about an app instance, such as its package name, authorized project ID, application version, and platform, by calling the Instance ID service with the app instance's token.\u003c/p\u003e\n"],["\u003cp\u003eRelationship maps, like subscribing an app instance to an FCM topic, can be created and managed individually or in bulk using the Instance ID service.\u003c/p\u003e\n"],["\u003cp\u003eExisting iOS APNs tokens can be bulk imported to Firebase Cloud Messaging and mapped to valid registration tokens using the \u003ccode\u003ebatchImport\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eThe Instance ID server API returns standard HTTP error codes for issues like bad requests, unauthorized access, forbidden actions, not found resources, and service unavailability.\u003c/p\u003e\n"]]],[],null,["# Server Reference\n\nServer implementation is optional. Use the Instance ID service if you want\nto perform these operations:\n\n- [Get information about app instances](/instance-id/reference/server#get_information_about_app_instances). Verify app tokens or get more information about the app instance that created the token.\n- [Create relationship maps for app instances](/instance-id/reference/server#create_relationship_maps_for_app_instances). Create relationships between app instances and entities.\n- [Create registration tokens for APNs tokens](/instance-id/reference/server#create_registration_tokens_for_apns_tokens). This API lets you bulk import existing APNs tokens, mapping them to valid registration tokens for FCM.\n\nGet information about app instances\n-----------------------------------\n\nTo get information about an app instance, call the Instance ID service at\nthis endpoint, providing the app instance's token as shown: \n\n https://iid.googleapis.com/iid/info/IID_TOKEN\n\n### Parameters\n\n- `Authorization: Bearer \u003caccess_token\u003e`. Set this parameter in the header. Add a short-lived OAuth2 token as the value of the `Authorization` header. For more information on obtaining this token, see [Provide credentials manually](https://firebase.google.com/docs/cloud-messaging/auth-server#provide-credentials-manually).\n- `access_token_auth: true`. Set this parameter in the header.\n- \\[optional\\] boolean `details`: set this query parameter to `true` to get FCM topic subscription information (if any) associated with this token. When not specified, defaults to `false`.\n\n### Results\n\nOn success the call returns HTTP status 200 and a JSON object containing:\n\n- `application` - package name associated with the token.\n- `authorizedEntity` - projectId authorized to send to the token.\n- `applicationVersion` - version of the application.\n- `platform` - returns `ANDROID`, `IOS`, or `CHROME` to indicate the device platform to which the token belongs.\n\nIf the `details` flag is set:\n\n- `rel` - relations associated with the token. For example, a list of topic subscriptions.\n\n### Example `GET` request\n\n https://iid.googleapis.com/iid/info/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA\n Content-Type:application/json\n Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA\n access_token_auth: true\n\nExample result\n--------------\n\n HTTP 200 OK\n {\n \"application\":\"com.iid.example\",\n \"authorizedEntity\":\"123456782354\",\n \"platform\":\"Android\",\n \"rel\":{\n \"topics\":{\n \"topicname1\":{\"addDate\":\"2015-07-30\"},\n \"topicname2\":{\"addDate\":\"2015-07-30\"},\n \"topicname3\":{\"addDate\":\"2015-07-30\"},\n \"topicname4\":{\"addDate\":\"2015-07-30\"}\n }\n }\n }\n\nCreate relationship maps for app instances\n------------------------------------------\n\nThe Instance ID API lets you create relationship maps for app instances.\nFor example, you can map a registration token to an FCM topic,\nsubscribing the app instance to the topic. The API provides methods for creating\nsuch relationships both individually, and in bulk.\n\n### Create a relation mapping for an app instance\n\nGiven a registration token and a supported relationship, you can create\na mapping. For example, you can subscribe an app instance to an FCM topic\nby calling the Instance ID service at\nthis endpoint, providing the app instance's token as shown: \n\n https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME\n\n#### Parameters\n\n- `Authorization: Bearer \u003caccess_token\u003e`. Set this parameter in the header. Add a short-lived OAuth2 token as the value of the `Authorization` header. For more information on obtaining this token, see [Provide credentials manually](https://firebase.google.com/docs/cloud-messaging/auth-server#provide-credentials-manually).\n- `access_token_auth: true`. Set this parameter in the header.\n\n#### Results\n\nOn success the call returns HTTP status 200.\n\n#### Example `POST` request\n\n https://iid.googleapis.com/iid/v1/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA/rel/topics/movies\n Content-Type:application/json\n Content-Length: 0\n Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA\n access_token_auth: true\n\n#### Example result\n\n HTTP 200 OK\n {}\n\n### Manage relationship maps for multiple app instances\n\nUsing the Instance ID service's batch methods, you can perform batch\nmanagement of app instances. For example, you can perform bulk\naddition or removal of app instances to an FCM topic.\nTo update up to 1000 app instances per API call, call the Instance ID\nservice at this endpoint, providing the app instance tokens in the JSON body: \n\n https://iid.googleapis.com/iid/v1:batchAdd\n\n https://iid.googleapis.com/iid/v1:batchRemove\n\n#### Parameters\n\n- `Authorization: Bearer \u003caccess_token\u003e`. Set this parameter in the header. Add a short-lived OAuth2 token as the value of the `Authorization` header. For more information on obtaining this token, see [Provide credentials manually](https://firebase.google.com/docs/cloud-messaging/auth-server#provide-credentials-manually).\n- `access_token_auth: true`. Set this parameter in the header.\n- `to` : The topic name.\n- `registration_tokens` : The array of IID tokens for the app instances you want to add or remove.\n\n#### Results\n\nOn success the call returns HTTP status 200. Empty results indicate successful\nsubscription for the token. For failed subscriptions, the result contains one\nof these error codes:\n\n- NOT_FOUND --- The registration token has been deleted or the app has been uninstalled.\n- INVALID_ARGUMENT --- The registration token provided is not valid for the Sender ID.\n- INTERNAL --- The backend server failed for unknown reasons. Retry the request.\n- TOO_MANY_TOPICS --- Excessive number of topics per app instance.\n- RESOURCE_EXHAUSTED --- Too many subscription or unsubscription requests in a short period of time. Retry with exponential backoff.\n\n#### Example `POST` request\n\n https://iid.googleapis.com/iid/v1:batchAdd\n Content-Type:application/json\n Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA\n access_token_auth: true\n {\n \"to\": \"/topics/movies\",\n \"registration_tokens\": [\"nKctODamlM4:CKrh_PC8kIb7O...\", \"1uoasi24:9jsjwuw...\", \"798aywu:cba420...\"],\n }\n\n#### Example result\n\n HTTP 200 OK\n {\n \"results\":[\n {},\n {\"error\":\"NOT_FOUND\"},\n {},\n ]\n }\n\nCreate registration tokens for APNs tokens\n------------------------------------------\n\nUsing the Instance ID service's `batchImport` method, you can bulk import\nexisting iOS APNs tokens to Firebase Cloud Messaging, mapping them\nto valid registration tokens. Call the Instance ID service at\nthis endpoint, providing a list of APNs tokens in the JSON body: \n\n https://iid.googleapis.com/iid/v1:batchImport\n\nThe response body contains an array of Instance ID registration tokens ready\nto be used for sending FCM messages to the corresponding APNs device token.\n| **Note:** The list of APNs tokens in each request cannot exceed 100.\n\n### Parameters\n\n- `Authorization: Bearer \u003caccess_token\u003e`. Set this parameter in the header. Add a short-lived OAuth2 token as the value of the `Authorization` header. For more information on obtaining this token, see [Provide credentials manually](https://firebase.google.com/docs/cloud-messaging/auth-server#provide-credentials-manually).\n- `access_token_auth: true`. Set this parameter in the header.\n- `application` : Bundle id of the app.\n- `sandbox` : Boolean to indicate sandbox environment (TRUE) or production (FALSE)\n- `apns_tokens` : The array of APNs tokens for the app instances you want to add or remove. Maximum 100 tokens per request.\n\n### Results\n\nOn success the call returns HTTP status 200 and a JSON result body. For each\nAPNs token provided in the request, the results list includes:\n\n- The APNs token.\n- Status. Either OK, or an error message describing the failure.\n- For successful results, the registration token that FCM maps to the APNs token.\n\n### Example `POST` request\n\n https://iid.googleapis.com/iid/v1:batchImport\n Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA\n access_token_auth:true\n {\n \"application\": \"com.google.FCMTestApp\",\n \"sandbox\":false,\n \"apns_tokens\":[\n \"368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12\",\n \"76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86\"\n ]\n }\n\n### Example result\n\n HTTP 200 OK\n {\n \"results\":[\n {\n \"apns_token\": \"368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12\",\n \"status\": \"OK\",\n \"registration_token\":\"nKctODamlM4:CKrh_PC8kIb7O...clJONHoA\"\n },\n {\n \"apns_token\": \"76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86\",\n \"status\":\"Internal Server Error\"\n },\n ]\n }\n\nError responses\n---------------\n\nCalls to the Instance ID server API return\nthe following HTTP error codes:\n\n- `HTTP status 400 (Bad request)` - request parameters are missing or invalid. Check error messages for detailed information.\n- `HTTP status 401 (Unauthorized)` - authorization header is invalid.\n- `HTTP status 403 (Forbidden)` - authorization header doesn't match the `authorizedEntity`.\n- `HTTP status 404 (Not found)` - Invalid HTTP path or IID token not found. Check error messages for detailed information.\n- `HTTP status 503 (Service unavailable)` - service is unavailable. Retry the request with exponential backoff."]]