Sunucu Referansı

Sunucu uygulaması isteğe bağlıdır. Örnek kimliği hizmetini kullanarak aşağıdaki işlemleri gerçekleştirin:

Uygulama örnekleri hakkında bilgi alma

Bir uygulama örneği hakkında bilgi almak için şu adresten Örnek Kimliği hizmetini çağırın: aşağıdaki gibi bir uygulama örneğinin jetonunu sağlar:

 https://iid.googleapis.com/iid/info/IID_TOKEN

Parametreler

  • Authorization: Bearer <access_token> Bu parametreyi başlıkta ayarlayın. Authorization üstbilgisinin değeri olarak kısa ömürlü bir OAuth2 jetonu ekleyin. Bu jetonu alma hakkında daha fazla bilgi için bkz. Kimlik bilgilerini manuel olarak sağlayın.
  • access_token_auth: true Bu parametreyi başlıkta ayarlayın.
  • [isteğe bağlı] boole details: FCM'yi almak için bu sorgu parametresini true olarak ayarlayın konu abonelik bilgileri (varsa). Ne zaman? belirtilerek varsayılan olarak false değerine ayarlanır.

Sonuçlar

Başarılı bir şekilde, çağrı HTTP durumu 200'ü ve aşağıdakileri içeren bir JSON nesnesi döndürür:

  • application: Jetonla ilişkilendirilmiş paket adı.
  • authorizedEntity - projectId'nin jetona gönderme yetkisi verildi.
  • applicationVersion - uygulamanın sürümü.
  • platform - cihazı belirtmek için ANDROID, IOS veya CHROME değerini döndürür jetonun ait olduğu platformdur.

details işareti ayarlanırsa:

  • rel: jetonla ilişkili ilişkiler. Örneğin, bir konu listesi aboneliklerdir.

Örnek GET isteği

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

Örnek sonuç

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"}
    }
  }
}

Uygulama örnekleri için ilişki haritaları oluşturma

Instance ID API, uygulama örnekleri için ilişki haritaları oluşturmanıza olanak tanır. Örneğin, bir kayıt jetonunu FCM konusuyla eşleyebilir, uygulama örneğinin konuya abone olmasını sağlar. API, ve toplu olarak bu tür ilişkiler kurmanın önemini daha iyi kavramışsınızdır.

Uygulama örneği için ilişki eşlemesi oluşturma

Kayıt jetonu ve desteklenen bir ilişki göz önüne alındığında, olabilir. Örneğin, bir uygulama örneğini FCM konusuna abone olabilirsiniz aşağıdaki gibi bir uygulama örneğinin jetonunu sağlar:

 https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME

Parametreler

  • Authorization: Bearer <access_token> Bu parametreyi başlıkta ayarlayın. Authorization üstbilgisinin değeri olarak kısa ömürlü bir OAuth2 jetonu ekleyin. Bu jetonu alma hakkında daha fazla bilgi için bkz. Kimlik bilgilerini manuel olarak sağlayın.
  • access_token_auth: true Bu parametreyi başlıkta ayarlayın.

Sonuçlar

Başarılı olursa çağrı HTTP durumu 200'ü döndürür.

Örnek POST isteği

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

Örnek sonuç

HTTP 200 OK
{}

Birden fazla uygulama örneği için ilişki haritalarını yönetme

Örnek Kimliği hizmetinin toplu yöntemlerini kullanarak yönetimi ile ilgilidir. Örneğin, toplu taşıma ve Bir FCM konusuna uygulama örneklerinin eklenmesi veya kaldırılması. API çağrısı başına 1.000 adede kadar uygulama örneğini güncellemek için örnek kimliğini çağırın hizmetini kullanarak JSON gövdesinde uygulama örneği jetonlarını sağlar:

 https://iid.googleapis.com/iid/v1:batchAdd

 https://iid.googleapis.com/iid/v1:batchRemove

Parametreler

  • Authorization: Bearer <access_token> Bu parametreyi başlıkta ayarlayın. Authorization üstbilgisinin değeri olarak kısa ömürlü bir OAuth2 jetonu ekleyin. Bu jetonu alma hakkında daha fazla bilgi için bkz. Kimlik bilgilerini manuel olarak sağlayın.
  • access_token_auth: true Bu parametreyi başlıkta ayarlayın.
  • to : Konu adı.
  • registration_tokens : Eklemek veya kaldırmak istediğiniz uygulama örnekleri için IID jetonları dizisi.

Sonuçlar

Başarılı olursa çağrı HTTP durumu 200'ü döndürür. Boş sonuçlar başarılı olduğunu gösterir Jeton aboneliğinden yararlanabilirsiniz. Başarısız abonelikler için sonuç bir içerir şu hata kodlarından birini seçin:

  • NOT_FOUND — Kayıt jetonu silindi veya uygulama kaldırıldı.
  • GEÇERSİZ_BİLGİ — Sağlanan kayıt jetonu, Gönderen Kimliği için geçerli değil.
  • DAHİLİ — Arka uç sunucusu bilinmeyen nedenlerle başarısız oldu. İsteği yeniden deneyin.
  • TOO_MANY_TOPICS: Uygulama örneği başına aşırı sayıda konu.
  • Source_EXHAUSTED: Kısa bir süre içinde çok fazla abonelik veya abonelik iptali isteği. Eksponansiyel geri yükleme ile tekrar deneyin.

Örnek POST isteği

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..."],
}

Örnek sonuç

HTTP 200 OK
{
  "results":[
    {},
    {"error":"NOT_FOUND"},
    {},
  ]
}

APNs jetonları için kayıt jetonları oluşturma

Örnek Kimliği hizmetinin batchImport yöntemini kullanarak verileri toplu olarak içe aktarabilirsiniz. Mevcut iOS APNs jetonlarını Firebase Cloud Messaging'e aktarıp bunları eşleyerek veya geçerli kayıt jetonları ile başlar. Şu adreste Örnek Kimliği hizmetini çağırın: JSON gövdesindeki APNs jetonlarının listesini sağlar.

 https://iid.googleapis.com/iid/v1:batchImport

Yanıt gövdesi, hazır bir Örnek Kimliği kayıt jetonu dizisi içerir FCM mesajlarını ilgili APNs cihaz jetonuna göndermek için kullanılır.

Parametreler

  • Authorization: Bearer <access_token> Bu parametreyi başlıkta ayarlayın. Authorization üstbilgisinin değeri olarak kısa ömürlü bir OAuth2 jetonu ekleyin. Bu jetonu alma hakkında daha fazla bilgi için bkz. Kimlik bilgilerini manuel olarak sağlayın.
  • access_token_auth: true Bu parametreyi başlıkta ayarlayın.
  • application : Uygulamanın paket kimliği.
  • sandbox : Korumalı alan ortamını (TRUE) veya üretimi (YANLIŞ) belirtmek için boole değeri
  • apns_tokens : Eklemek veya kaldırmak istediğiniz uygulama örnekleri için APNs jeton dizisi. İstek başına maksimum 100 jeton.

Sonuçlar

Başarılı olursa çağrı, HTTP durumu 200 ve bir JSON sonuç gövdesi döndürür. Her bir İstekte sağlanan APN'ler jetonundan elde edilen sonuçlar listesinde şunlar bulunur:

  • APNs jetonu.
  • Durum'a dokunun. Tamam veya hatayı açıklayan bir hata mesajı.
  • Başarılı sonuçlar için FCM'nin APNs jetonuyla eşlendiği kayıt jetonu.

Örnek POST isteği

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"
   ]
}

Örnek sonuç

HTTP 200 OK
{
 "results":[
       {
        "apns_token": "368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
         "status": "OK",
         "registration_token":"nKctODamlM4:CKrh_PC8kIb7O...clJONHoA"
       },
       {
         "apns_token": "76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86",
         "status":"Internal Server Error"
        },
     ]
  }

Hata yanıtları

Instance ID sunucu API'sine yapılan çağrılar döndürülüyor aşağıdaki HTTP hata kodları:

  • HTTP status 400 (Bad request): İstek parametreleri eksik veya geçersiz. Ayrıntılı bilgi için hata mesajlarına göz atın.
  • HTTP status 401 (Unauthorized) - Yetkilendirme üst bilgisi geçersiz.
  • HTTP status 403 (Forbidden) - yetkilendirme başlığı eşleşmiyor authorizedEntity.
  • HTTP status 404 (Not found) - Geçersiz HTTP yolu veya IID jetonu bulunamadı. Ayrıntılı bilgi için hata mesajlarına göz atın.
  • HTTP status 503 (Service unavailable) - hizmet kullanılamıyor. Şu işlemi tekrar deneyin: isteğidir.