Sunucu uygulaması isteğe bağlıdır. Bu işlemleri gerçekleştirmek istiyorsanız Örnek Kimliği hizmetini kullanın:
- Uygulama örnekleri hakkında bilgi edinin. Uygulama jetonlarını doğrulayın veya jetonu oluşturan uygulama örneği hakkında daha fazla bilgi edinin.
- Uygulama örnekleri için ilişki haritaları oluşturun. Uygulama örnekleri ve varlıklar arasında ilişkiler oluşturun.
- APN jetonları için kayıt jetonları oluşturun. Bu API, mevcut APNs jetonlarını toplu olarak içe aktarmanızı ve bunları FCM için geçerli kayıt jetonlarıyla eşlemenizi sağlar.
Uygulama örnekleri hakkında bilgi alma
Bir uygulama örneği hakkında bilgi almak için bu uç noktadaki Örnek Kimliği hizmetini çağırarak uygulama örneğinin jetonunu aşağıda gösterildiği gibi sağlayın:
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 Kimlik bilgilerini manuel olarak sağlama bölümüne bakın.access_token_auth: true
. Bu parametreyi başlıkta ayarlayın.- [isteğe bağlı] boole
details
: Bu jetonla ilişkili FCM konusu abonelik bilgilerini (varsa) almak için bu sorgu parametresinitrue
olarak ayarlayın. Belirtilmediğinde varsayılan olarakfalse
olur.
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
- jetonun ait olduğu cihaz platformunu belirtmek içinANDROID
,IOS
veyaCHROME
değerini döndürür.
details
işareti ayarlanırsa:
rel
: jetonla ilişkili ilişkiler. Örneğin, konu abonelikleri listesi.
Ö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şleyerek uygulama örneğini konuya abone olabilirsiniz. API, bu tür ilişkileri hem ayrı ayrı hem de toplu olarak oluşturma yöntemleri sunar.
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, bir eşleme oluşturabilirsiniz. Örneğin, bir uygulama örneğini FCM konusuna abone olmak için bu uç noktadaki Örnek Kimliği hizmetini çağırıp uygulama örneğinin jetonunu aşağıda gösterildiği gibi sağlayabilirsiniz:
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 Kimlik bilgilerini manuel olarak sağlama bölümüne bakı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 uygulama örneklerinin toplu yönetimini gerçekleştirebilirsiniz. Örneğin, bir FCM konusuna uygulama örneklerini toplu olarak ekleyebilir veya kaldırabilirsiniz. API çağrısı başına 1.000'e kadar uygulama örneğini güncellemek için bu uç noktada Örnek Kimliği hizmetini çağırarak JSON gövdesinde uygulama örneği jetonlarını sağlayın:
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 Kimlik bilgilerini manuel olarak sağlama bölümüne bakı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, jeton aboneliğinin başarılı olduğunu gösterir. Başarısız abonelikler için sonuç şu hata kodlarından birini içerir:
- 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 mevcut iOS APNs jetonlarını toplu olarak Firebase Cloud Messaging'e aktarabilir ve geçerli kayıt jetonlarıyla eşleyebilirsiniz. Bu uç noktadaki Örnek Kimliği hizmetini çağırarak JSON gövdesindeki APNs jetonlarının bir listesini sağlayın:
https://iid.googleapis.com/iid/v1:batchImport
Yanıt gövdesi, FCM mesajlarını ilgili APNs cihaz jetonuna göndermek için kullanılmaya hazır bir Örnek Kimliği kayıt jetonu dizisi içerir.
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 Kimlik bilgilerini manuel olarak sağlama bölümüne bakı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ğeriapns_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. İstekte sağlanan her APIN jetonu için sonuç listesi şunları içerir:
- APNs jetonu.
- Durum. Tamam veya hatayı açıklayan bir hata mesajı.
- Başarılı sonuçlar için FCM'nin APNs jetonuyla eşleştirdiğ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ı
Örnek Kimliği sunucu API'sine yapılan çağrılar aşağıdaki HTTP hata kodlarını döndürür:
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ığıauthorizedEntity
ile eşleşmiyor.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. İsteği eksponansiyel geri yükleme ile yeniden deneyin.