Recently I migrated from GCM to FCM for sending the notification via my app, i want to know whether can able to subscribe the members in particular topic from my app server.
You can subscribe multiple tokens to Topic via your App Server using the Instance ID API, specifically, using batchAdd
. It can also identify if the Registration Token that you were subscribing is invalid by returning a NOT_FOUND
error. From the docs:
Manage relationship maps for multiple app instances
Using the Instance ID service's batch methods, you can perform batch management of app instances. For example, you can perform bulk addition or removal of app instances to an FCM or GCM topic. To manage app instances, call the Instance ID service at this endpoint, providing the app instance tokens in the JSON body:
https://iid.googleapis.com/iid/v1:batchAdd https://iid.googleapis.com/iid/v1:batchRemove
Parameters
- Authorization: key=YOUR_API_KEY. Set this parameter in the header.
- to : The topic name.
- registration_tokens : The array of IID tokens for the app instances you want to add or remove.
Results
On success the call returns HTTP status 200. Empty results indicate successful subscription for the token. For failed subscriptions, the result contains one of these error codes:
- NOT_FOUND — The registration token has been deleted or the app has been uninstalled.
- INVALID_ARGUMENT — The registration token provided is not valid for the Sender ID.
- INTERNAL — The backend server failed for unknown reasons. Retry the request.
- TOO_MANY_TOPICS — Excessive number of topics per app instance.
Example POST request
https://iid.googleapis.com/iid/v1:batchAdd Content-Type:application/json Authorization:key=API_KEY { "to": "/topics/movies", "registration_tokens": ["nKctODamlM4:CKrh_PC8kIb7O...", "1uoasi24:9jsjwuw...", "798aywu:cba420..."], }
Example result
HTTP 200 OK { "results":[ {}, {"error":"NOT_FOUND"}, {}, ] }