اجرای سرور اختیاری است. اگر می خواهید این عملیات را انجام دهید از سرویس Instance ID استفاده کنید:
- اطلاعاتی در مورد نمونه های برنامه دریافت کنید . نشانههای برنامه را تأیید کنید یا اطلاعات بیشتری درباره نمونه برنامهای که کد را ایجاد کرده است، دریافت کنید.
- نقشه های رابطه را برای نمونه های برنامه ایجاد کنید . ایجاد روابط بین نمونه های برنامه و موجودیت ها.
- توکن های ثبت نام برای توکن های APN ایجاد کنید . این API به شما امکان میدهد توکنهای APN موجود را به صورت انبوه وارد کنید، و آنها را به نشانههای ثبت معتبر برای FCM نگاشت کنید.
اطلاعاتی در مورد نمونه های برنامه دریافت کنید
برای دریافت اطلاعات در مورد یک نمونه برنامه، با سرویس 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
- روابط مرتبط با توکن. به عنوان مثال، لیستی از اشتراک موضوع.
مثال درخواست GET
https://iid.googleapis.com/iid/info/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA
Content-Type:application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true
نتیجه مثال
HTTP 200 OK
{
"application":"com.iid.example",
"authorizedEntity":"123456782354",
"platform":"Android",
"rel":{
"topics":{
"topicname1":{"addDate":"2015-07-30"},
"topicname2":{"addDate":"2015-07-30"},
"topicname3":{"addDate":"2015-07-30"},
"topicname4":{"addDate":"2015-07-30"}
}
}
}
ایجاد نقشه های رابطه برای نمونه های برنامه
Instance ID API به شما امکان می دهد نقشه های ارتباطی را برای نمونه های برنامه ایجاد کنید. به عنوان مثال، میتوانید یک نشانه ثبت نام را به یک موضوع FCM نگاشت، و نمونه برنامه را در آن موضوع مشترک کنید. API روش هایی را برای ایجاد چنین روابطی هم به صورت جداگانه و هم به صورت انبوه ارائه می دهد.
یک نگاشت رابطه برای یک نمونه برنامه ایجاد کنید
با توجه به یک رمز ثبت نام و یک رابطه پشتیبانی شده، می توانید یک نقشه ایجاد کنید. برای مثال، میتوانید با تماس با سرویس Instance ID در این نقطه پایانی، یک نمونه برنامه را در یک موضوع FCM مشترک کنید، و توکن نمونه برنامه را مطابق شکل ارائه کنید:
https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME
پارامترها
-
Authorization: Bearer <access_token>
. این پارامتر را در هدر تنظیم کنید. یک توکن OAuth2 کوتاه مدت به عنوان مقدار هدرAuthorization
اضافه کنید. برای اطلاعات بیشتر در مورد دریافت این نشانه، به ارائه اعتبارنامه به صورت دستی مراجعه کنید. -
access_token_auth: true
. این پارامتر را در هدر تنظیم کنید.
نتایج
در صورت موفقیت، تماس وضعیت HTTP 200 را برمی گرداند.
نمونه درخواست POST
https://iid.googleapis.com/iid/v1/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA/rel/topics/movies
Content-Type:application/json
Content-Length: 0
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true
نتیجه مثال
HTTP 200 OK
{}
نقشه های رابطه را برای چندین نمونه برنامه مدیریت کنید
با استفاده از روش های دسته ای سرویس Instance ID، می توانید مدیریت دسته ای نمونه های برنامه را انجام دهید. برای مثال، میتوانید اضافه یا حذف انبوه نمونههای برنامه را به یک موضوع FCM انجام دهید. برای بهروزرسانی تا 1000 نمونه برنامه در هر تماس API، با سرویس Instance ID در این نقطه پایانی تماس بگیرید و توکنهای نمونه برنامه را در بدنه JSON ارائه دهید:
https://iid.googleapis.com/iid/v1:batchAdd
https://iid.googleapis.com/iid/v1:batchRemove
پارامترها
-
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 - تعداد زیادی درخواست اشتراک یا لغو اشتراک در مدت زمان کوتاهی. با عقب نشینی نمایی دوباره امتحان کنید.
نمونه درخواست POST
https://iid.googleapis.com/iid/v1:batchAdd
Content-Type:application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true
{
"to": "/topics/movies",
"registration_tokens": ["nKctODamlM4:CKrh_PC8kIb7O...", "1uoasi24:9jsjwuw...", "798aywu:cba420..."],
}
نتیجه مثال
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 ها نگاشت می کند.
نمونه درخواست POST
https://iid.googleapis.com/iid/v1:batchImport
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth:true
{
"application": "com.google.FCMTestApp",
"sandbox":false,
"apns_tokens":[
"368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
"76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86"
]
}
نتیجه مثال
HTTP 200 OK
{
"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)
- سرویس در دسترس نیست. درخواست را با عقب نشینی نمایی دوباره امتحان کنید.