مرجع سرور

اجرای سرور اختیاری است. اگر می خواهید این عملیات را انجام دهید از سرویس 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 - روابط مرتبط با توکن. به عنوان مثال، لیستی از اشتراک موضوع.

مثال درخواست 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) - سرویس در دسترس نیست. درخواست را با عقب نشینی نمایی دوباره امتحان کنید.