FCM TOPIC Creation in APP Server

后端 未结 1 1565
灰色年华
灰色年华 2020-12-22 09:03

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.

相关标签:
1条回答
  • 2020-12-22 09:38

    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"},
        {},
      ]
    }
    
    0 讨论(0)
提交回复
热议问题