Sunucu uygulaması isteğe bağlıdır. Aşağıdaki 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 eşlemeleri oluşturun. Uygulama örnekleri ve varlıklar arasında ilişkiler oluşturun.
- APNs jetonları için kayıt jetonları oluşturun. Bu API, mevcut APN jetonlarını toplu olarak içe aktarmanıza ve FCM için geçerli kayıt jetonlarıyla eşleştirmenize olanak tanır.
Uygulama örnekleri hakkında bilgi edinin
Bir uygulama örneği hakkında bilgi almak için aşağıdaki örnekte gösterildiği gibi uygulama örneğinin jetonunu sağlayarak bu uç noktadaki Örnek Kimliği hizmetini çağırın:
https://iid.googleapis.com/iid/info/IID_TOKEN
Parametreler
Authorization: Bearer <access_token>
. Bu parametreyi başlıkta ayarlayın.Authorization
başlığının 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 FCM konu abonelik bilgilerini (varsa) almak için bu sorgu parametresinitrue
olarak ayarlayın. Bir değer belirtilmediğinde varsayılan olarakfalse
kullanılır.
Sonuçlar
Görüşme başarılı olduğunda HTTP durum 200'ü ve aşağıdakileri içeren bir JSON nesnesi döndürür:
application
- Jetonla ilişkilendirilen paket adı.authorizedEntity
- Jetona gönderme yetkisi olan proje kimliği.applicationVersion
- uygulamanın sürümü.- Pakete uygulanan imzanın
appSigner
-sha1
parmak izi. Uygulamayı hangi tarafın imzaladığını belirtir (örneğin,Play Store
). platform
: Jetonun ait olduğu cihaz platformunu belirtmek içinANDROID
,IOS
veyaCHROME
değerini döndürür.
details
işareti ayarlanmışsa:
rel
- Jetonla ilişkili ilişkiler. Örneğin, konu aboneliklerinin bir 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",
"appSigner":"1a2bc3d4e5"
"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 eşlemeleri oluşturma
Örnek kimliği API'si, uygulama örnekleri için ilişki eşlemeleri oluşturmanıza olanak tanır. Örneğin, bir kayıt jetonunu, uygulama örneğini konuya abone olarak bir FCM konusuyla eşleyebilirsiniz. API, bu tür ilişkileri hem teker teker hem de toplu olarak oluşturma yöntemleri sunar.
Uygulama örneği için ilişki eşleme oluşturma
Kayıt jetonu ve desteklenen bir ilişki göz önüne alındığında 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 göstererek şu şekilde abone olabilirsiniz:
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
başlığının 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
Görüşme başarılı olduğunda, HTTP durum 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 eşlemelerini yönetme
Örnek kimliği hizmetinin toplu yöntemlerini kullanarak uygulama örneklerinin toplu yönetimini gerçekleştirebilirsiniz. Örneğin, bir FCM konusuna uygulama örneklerinin toplu eklenmesini veya kaldırılmasını gerçekleştirebilirsiniz. API çağrısı başına 1.000'e kadar uygulama örneği güncellemek için uç noktadaki Örnek Kimliği hizmetini çağırarak uygulama gövdesindeki jetonları JSON gövdesinde 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
başlığının 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 örnekleriyle ilgili IID jetonları dizisi.
Sonuçlar
Görüşme başarılı olduğunda, HTTP durum 200'ü döndürür. Boş sonuçlar, jeton için aboneliğin başarılı olduğunu gösterir. Başarısız aboneliklerde sonuçta aşağıdaki hata kodlarından biri yer alır:
- NOT_FOUND: Kayıt jetonu silinmiş veya uygulama kaldırılmış.
- INVALID_XXXXX: 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 abonelikten çıkma isteği alındı. Eksponansiyel geri yükleme ile yeniden 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şturun
Örnek kimliği hizmetinin batchImport
yöntemini kullanarak mevcut iOS APN jetonlarını Firebase Cloud Messaging'e toplu olarak aktarabilir ve bunları geçerli kayıt jetonlarıyla eşleyebilirsiniz. JSON gövdesinde APNs jetonlarının bir listesini sağlayarak bu uç noktada Örnek Kimlik hizmetini çağırın:
https://iid.googleapis.com/iid/v1:batchImport
Yanıt gövdesi, FCM mesajlarını ilgili APNs cihaz jetonuna göndermek için kullanıma hazır bir dizi Örnek Kimlik kaydı jetonu içerir.
Parametreler
Authorization: Bearer <access_token>
. Bu parametreyi başlıkta ayarlayın.Authorization
başlığının 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ı (DOĞRU) veya üretimi (YANLIŞ) belirten booleapns_tokens
: Eklemek veya kaldırmak istediğiniz uygulama örneklerine ait APN jetonları dizisi. İstek başına en fazla 100 jeton.
Sonuçlar
Görüşme başarılı olduğunda HTTP durum 200 ve bir JSON sonuç gövdesi döndürür. Sonuç listesinde, istekte sağlanan her APN jetonu için şunlar yer alır:
- APN jetonu.
- Durum. Tamam veya hatayı açıklayan bir hata mesajı.
- Başarılı sonuçlar için FCM'nin APN 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ı
Ö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ını inceleyin.HTTP status 401 (Unauthorized)
- yetkilendirme başlığı 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ını inceleyin.HTTP status 503 (Service unavailable)
: Hizmet kullanılamıyor. İsteği eksponansiyel geri yükleme ile yeniden deneyin.