1<html><body> 2<style> 3 4body, h1, h2, h3, div, span, p, pre, a { 5 margin: 0; 6 padding: 0; 7 border: 0; 8 font-weight: inherit; 9 font-style: inherit; 10 font-size: 100%; 11 font-family: inherit; 12 vertical-align: baseline; 13} 14 15body { 16 font-size: 13px; 17 padding: 1em; 18} 19 20h1 { 21 font-size: 26px; 22 margin-bottom: 1em; 23} 24 25h2 { 26 font-size: 24px; 27 margin-bottom: 1em; 28} 29 30h3 { 31 font-size: 20px; 32 margin-bottom: 1em; 33 margin-top: 1em; 34} 35 36pre, code { 37 line-height: 1.5; 38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace; 39} 40 41pre { 42 margin-top: 0.5em; 43} 44 45h1, h2, h3, p { 46 font-family: Arial, sans serif; 47} 48 49h1, h2, h3 { 50 border-bottom: solid #CCC 1px; 51} 52 53.toc_element { 54 margin-top: 0.5em; 55} 56 57.firstline { 58 margin-left: 2 em; 59} 60 61.method { 62 margin-top: 1em; 63 border: solid 1px #CCC; 64 padding: 1em; 65 background: #EEE; 66} 67 68.details { 69 font-weight: bold; 70 font-size: 14px; 71} 72 73</style> 74 75<h1><a href="fcm_v1.html">Firebase Cloud Messaging API</a> . <a href="fcm_v1.projects.html">projects</a> . <a href="fcm_v1.projects.messages.html">messages</a></h1> 76<h2>Instance Methods</h2> 77<p class="toc_element"> 78 <code><a href="#send">send(parent, body, x__xgafv=None)</a></code></p> 79<p class="firstline">Send a message to specified target (a registration token, topic</p> 80<h3>Method Details</h3> 81<div class="method"> 82 <code class="details" id="send">send(parent, body, x__xgafv=None)</code> 83 <pre>Send a message to specified target (a registration token, topic 84or condition). 85 86Args: 87 parent: string, Required. It contains the Firebase project id (i.e. the unique identifier 88for your Firebase project), in the format of `projects/{project_id}`. 89For legacy support, the numeric project number with no padding is also 90supported in the format of `projects/{project_number}`. (required) 91 body: object, The request body. (required) 92 The object takes the form of: 93 94{ # Request to send a message to specified target. 95 "message": { # Message to send by Firebase Cloud Messaging Service. # Required. Message to send. 96 "name": "A String", # Output Only. The identifier of the message sent, in the format of 97 # `projects/*/messages/{message_id}`. 98 "fcmOptions": { # Platform independent options for features provided by the FCM SDKs. # Input only. Template for FCM SDK feature options to use across all 99 # platforms. 100 "analyticsLabel": "A String", # Label that the message's analytics data will be associated with. 101 }, 102 "notification": { # Basic notification template to use across all platforms. # Input only. Basic notification template to use across all platforms. 103 "body": "A String", # The notification's body text. 104 "title": "A String", # The notification's title. 105 }, 106 "token": "A String", # Registration token to send a message to. 107 "webpush": { # [Webpush protocol](https://tools.ietf.org/html/rfc8030) options. # Input only. [Webpush protocol](https://tools.ietf.org/html/rfc8030) 108 # options. 109 "headers": { # HTTP headers defined in webpush protocol. Refer to 110 # [Webpush protocol](https://tools.ietf.org/html/rfc8030#section-5) for 111 # supported headers, e.g. "TTL": "15". 112 "a_key": "A String", 113 }, 114 "data": { # Arbitrary key/value payload. If present, it will override 115 # google.firebase.fcm.v1.Message.data. 116 "a_key": "A String", 117 }, 118 "fcmOptions": { # Options for features provided by the FCM SDK for Web. # Options for features provided by the FCM SDK for Web. 119 "link": "A String", # The link to open when the user clicks on the notification. 120 # For all URL values, HTTPS is required. 121 }, 122 "notification": { # Web Notification options as a JSON object. Supports Notification instance 123 # properties as defined in [Web Notification 124 # API](https://developer.mozilla.org/en-US/docs/Web/API/Notification). If 125 # present, "title" and "body" fields override 126 # [google.firebase.fcm.v1.Notification.title] and 127 # [google.firebase.fcm.v1.Notification.body]. 128 "a_key": "", # Properties of the object. 129 }, 130 }, 131 "topic": "A String", # Topic name to send a message to, e.g. "weather". 132 # Note: "/topics/" prefix should not be provided. 133 "apns": { # [Apple Push Notification Service](https://goo.gl/MXRTPa) specific options. # Input only. [Apple Push Notification Service](https://goo.gl/MXRTPa) 134 # specific options. 135 "headers": { # HTTP request headers defined in Apple Push Notification Service. Refer to 136 # [APNs request headers](https://goo.gl/C6Yhia) for 137 # supported headers, e.g. "apns-priority": "10". 138 "a_key": "A String", 139 }, 140 "payload": { # APNs payload as a JSON object, including both `aps` dictionary and custom 141 # payload. See [Payload Key Reference](https://goo.gl/32Pl5W). 142 # If present, it overrides google.firebase.fcm.v1.Notification.title 143 # and google.firebase.fcm.v1.Notification.body. 144 "a_key": "", # Properties of the object. 145 }, 146 "fcmOptions": { # Options for features provided by the FCM SDK for iOS. # Options for features provided by the FCM SDK for iOS. 147 "analyticsLabel": "A String", # Label that the message's analytics data will be associated with. 148 }, 149 }, 150 "android": { # Android specific options for messages sent through # Input only. Android specific options for messages sent through 151 # [FCM connection server](https://goo.gl/4GLdUl). 152 # [FCM connection server](https://goo.gl/4GLdUl). 153 "fcmOptions": { # Options for features provided by the FCM SDK for Android. # Options for features provided by the FCM SDK for Android. 154 "analyticsLabel": "A String", # Label that the message's analytics data will be associated with. 155 }, 156 "notification": { # Notification to send to android devices. # Notification to send to android devices. 157 "sound": "A String", # The sound to play when the device receives the notification. 158 # Supports "default" or the filename of a sound resource bundled in the app. 159 # Sound files must reside in /res/raw/. 160 "bodyLocKey": "A String", # The key to the body string in the app's string resources to use to localize 161 # the body text to the user's current localization. 162 # See [String Resources](https://goo.gl/NdFZGI) for more information. 163 "bodyLocArgs": [ # Variable string values to be used in place of the format specifiers in 164 # body_loc_key to use to localize the body text to the user's current 165 # localization. 166 # See [Formatting and Styling](https://goo.gl/MalYE3) for more information. 167 "A String", 168 ], 169 "title": "A String", # The notification's title. If present, it will override 170 # google.firebase.fcm.v1.Notification.title. 171 "color": "A String", # The notification's icon color, expressed in #rrggbb format. 172 "channelId": "A String", # The [notification's channel 173 # id](https://developer.android.com/guide/topics/ui/notifiers/notifications#ManageChannels) 174 # (new in Android O). The app must create a channel with this channel ID 175 # before any notification with this channel ID is received. If you don't send 176 # this channel ID in the request, or if the channel ID provided has not yet 177 # been created by the app, FCM uses the channel ID specified in the app 178 # manifest. 179 "body": "A String", # The notification's body text. If present, it will override 180 # google.firebase.fcm.v1.Notification.body. 181 "clickAction": "A String", # The action associated with a user click on the notification. 182 # If specified, an activity with a matching intent filter is launched when 183 # a user clicks on the notification. 184 "titleLocKey": "A String", # The key to the title string in the app's string resources to use to 185 # localize the title text to the user's current localization. 186 # See [String Resources](https://goo.gl/NdFZGI) for more information. 187 "titleLocArgs": [ # Variable string values to be used in place of the format specifiers in 188 # title_loc_key to use to localize the title text to the user's current 189 # localization. 190 # See [Formatting and Styling](https://goo.gl/MalYE3) for more information. 191 "A String", 192 ], 193 "tag": "A String", # Identifier used to replace existing notifications in the notification 194 # drawer. 195 # If not specified, each request creates a new notification. 196 # If specified and a notification with the same tag is already being shown, 197 # the new notification replaces the existing one in the notification drawer. 198 "icon": "A String", # The notification's icon. 199 # Sets the notification icon to myicon for drawable resource myicon. 200 # If you don't send this key in the request, FCM displays the launcher icon 201 # specified in your app manifest. 202 }, 203 "priority": "A String", # Message priority. Can take "normal" and "high" values. 204 # For more information, see [Setting the priority of a 205 # message](https://goo.gl/GjONJv). 206 "collapseKey": "A String", # An identifier of a group of messages that can be collapsed, so that only 207 # the last message gets sent when delivery can be resumed. A maximum of 4 208 # different collapse keys is allowed at any given time. 209 "ttl": "A String", # How long (in seconds) the message should be kept in FCM storage if the 210 # device is offline. The maximum time to live supported is 4 weeks, and the 211 # default value is 4 weeks if not set. Set it to 0 if want to send the 212 # message immediately. 213 # In JSON format, the Duration type is encoded as a string rather than an 214 # object, where the string ends in the suffix "s" (indicating seconds) and 215 # is preceded by the number of seconds, with nanoseconds expressed as 216 # fractional seconds. For example, 3 seconds with 0 nanoseconds should be 217 # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should 218 # be expressed in JSON format as "3.000000001s". The ttl will be rounded down 219 # to the nearest second. 220 "restrictedPackageName": "A String", # Package name of the application where the registration token must match in 221 # order to receive the message. 222 "data": { # Arbitrary key/value payload. If present, it will override 223 # google.firebase.fcm.v1.Message.data. 224 "a_key": "A String", 225 }, 226 }, 227 "data": { # Input only. Arbitrary key/value payload. 228 "a_key": "A String", 229 }, 230 "condition": "A String", # Condition to send a message to, 231 # e.g. "'foo' in topics && 'bar' in topics". 232 }, 233 "validateOnly": True or False, # Flag for testing the request without actually delivering the message. 234 } 235 236 x__xgafv: string, V1 error format. 237 Allowed values 238 1 - v1 error format 239 2 - v2 error format 240 241Returns: 242 An object of the form: 243 244 { # Message to send by Firebase Cloud Messaging Service. 245 "name": "A String", # Output Only. The identifier of the message sent, in the format of 246 # `projects/*/messages/{message_id}`. 247 "fcmOptions": { # Platform independent options for features provided by the FCM SDKs. # Input only. Template for FCM SDK feature options to use across all 248 # platforms. 249 "analyticsLabel": "A String", # Label that the message's analytics data will be associated with. 250 }, 251 "notification": { # Basic notification template to use across all platforms. # Input only. Basic notification template to use across all platforms. 252 "body": "A String", # The notification's body text. 253 "title": "A String", # The notification's title. 254 }, 255 "token": "A String", # Registration token to send a message to. 256 "webpush": { # [Webpush protocol](https://tools.ietf.org/html/rfc8030) options. # Input only. [Webpush protocol](https://tools.ietf.org/html/rfc8030) 257 # options. 258 "headers": { # HTTP headers defined in webpush protocol. Refer to 259 # [Webpush protocol](https://tools.ietf.org/html/rfc8030#section-5) for 260 # supported headers, e.g. "TTL": "15". 261 "a_key": "A String", 262 }, 263 "data": { # Arbitrary key/value payload. If present, it will override 264 # google.firebase.fcm.v1.Message.data. 265 "a_key": "A String", 266 }, 267 "fcmOptions": { # Options for features provided by the FCM SDK for Web. # Options for features provided by the FCM SDK for Web. 268 "link": "A String", # The link to open when the user clicks on the notification. 269 # For all URL values, HTTPS is required. 270 }, 271 "notification": { # Web Notification options as a JSON object. Supports Notification instance 272 # properties as defined in [Web Notification 273 # API](https://developer.mozilla.org/en-US/docs/Web/API/Notification). If 274 # present, "title" and "body" fields override 275 # [google.firebase.fcm.v1.Notification.title] and 276 # [google.firebase.fcm.v1.Notification.body]. 277 "a_key": "", # Properties of the object. 278 }, 279 }, 280 "topic": "A String", # Topic name to send a message to, e.g. "weather". 281 # Note: "/topics/" prefix should not be provided. 282 "apns": { # [Apple Push Notification Service](https://goo.gl/MXRTPa) specific options. # Input only. [Apple Push Notification Service](https://goo.gl/MXRTPa) 283 # specific options. 284 "headers": { # HTTP request headers defined in Apple Push Notification Service. Refer to 285 # [APNs request headers](https://goo.gl/C6Yhia) for 286 # supported headers, e.g. "apns-priority": "10". 287 "a_key": "A String", 288 }, 289 "payload": { # APNs payload as a JSON object, including both `aps` dictionary and custom 290 # payload. See [Payload Key Reference](https://goo.gl/32Pl5W). 291 # If present, it overrides google.firebase.fcm.v1.Notification.title 292 # and google.firebase.fcm.v1.Notification.body. 293 "a_key": "", # Properties of the object. 294 }, 295 "fcmOptions": { # Options for features provided by the FCM SDK for iOS. # Options for features provided by the FCM SDK for iOS. 296 "analyticsLabel": "A String", # Label that the message's analytics data will be associated with. 297 }, 298 }, 299 "android": { # Android specific options for messages sent through # Input only. Android specific options for messages sent through 300 # [FCM connection server](https://goo.gl/4GLdUl). 301 # [FCM connection server](https://goo.gl/4GLdUl). 302 "fcmOptions": { # Options for features provided by the FCM SDK for Android. # Options for features provided by the FCM SDK for Android. 303 "analyticsLabel": "A String", # Label that the message's analytics data will be associated with. 304 }, 305 "notification": { # Notification to send to android devices. # Notification to send to android devices. 306 "sound": "A String", # The sound to play when the device receives the notification. 307 # Supports "default" or the filename of a sound resource bundled in the app. 308 # Sound files must reside in /res/raw/. 309 "bodyLocKey": "A String", # The key to the body string in the app's string resources to use to localize 310 # the body text to the user's current localization. 311 # See [String Resources](https://goo.gl/NdFZGI) for more information. 312 "bodyLocArgs": [ # Variable string values to be used in place of the format specifiers in 313 # body_loc_key to use to localize the body text to the user's current 314 # localization. 315 # See [Formatting and Styling](https://goo.gl/MalYE3) for more information. 316 "A String", 317 ], 318 "title": "A String", # The notification's title. If present, it will override 319 # google.firebase.fcm.v1.Notification.title. 320 "color": "A String", # The notification's icon color, expressed in #rrggbb format. 321 "channelId": "A String", # The [notification's channel 322 # id](https://developer.android.com/guide/topics/ui/notifiers/notifications#ManageChannels) 323 # (new in Android O). The app must create a channel with this channel ID 324 # before any notification with this channel ID is received. If you don't send 325 # this channel ID in the request, or if the channel ID provided has not yet 326 # been created by the app, FCM uses the channel ID specified in the app 327 # manifest. 328 "body": "A String", # The notification's body text. If present, it will override 329 # google.firebase.fcm.v1.Notification.body. 330 "clickAction": "A String", # The action associated with a user click on the notification. 331 # If specified, an activity with a matching intent filter is launched when 332 # a user clicks on the notification. 333 "titleLocKey": "A String", # The key to the title string in the app's string resources to use to 334 # localize the title text to the user's current localization. 335 # See [String Resources](https://goo.gl/NdFZGI) for more information. 336 "titleLocArgs": [ # Variable string values to be used in place of the format specifiers in 337 # title_loc_key to use to localize the title text to the user's current 338 # localization. 339 # See [Formatting and Styling](https://goo.gl/MalYE3) for more information. 340 "A String", 341 ], 342 "tag": "A String", # Identifier used to replace existing notifications in the notification 343 # drawer. 344 # If not specified, each request creates a new notification. 345 # If specified and a notification with the same tag is already being shown, 346 # the new notification replaces the existing one in the notification drawer. 347 "icon": "A String", # The notification's icon. 348 # Sets the notification icon to myicon for drawable resource myicon. 349 # If you don't send this key in the request, FCM displays the launcher icon 350 # specified in your app manifest. 351 }, 352 "priority": "A String", # Message priority. Can take "normal" and "high" values. 353 # For more information, see [Setting the priority of a 354 # message](https://goo.gl/GjONJv). 355 "collapseKey": "A String", # An identifier of a group of messages that can be collapsed, so that only 356 # the last message gets sent when delivery can be resumed. A maximum of 4 357 # different collapse keys is allowed at any given time. 358 "ttl": "A String", # How long (in seconds) the message should be kept in FCM storage if the 359 # device is offline. The maximum time to live supported is 4 weeks, and the 360 # default value is 4 weeks if not set. Set it to 0 if want to send the 361 # message immediately. 362 # In JSON format, the Duration type is encoded as a string rather than an 363 # object, where the string ends in the suffix "s" (indicating seconds) and 364 # is preceded by the number of seconds, with nanoseconds expressed as 365 # fractional seconds. For example, 3 seconds with 0 nanoseconds should be 366 # encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should 367 # be expressed in JSON format as "3.000000001s". The ttl will be rounded down 368 # to the nearest second. 369 "restrictedPackageName": "A String", # Package name of the application where the registration token must match in 370 # order to receive the message. 371 "data": { # Arbitrary key/value payload. If present, it will override 372 # google.firebase.fcm.v1.Message.data. 373 "a_key": "A String", 374 }, 375 }, 376 "data": { # Input only. Arbitrary key/value payload. 377 "a_key": "A String", 378 }, 379 "condition": "A String", # Condition to send a message to, 380 # e.g. "'foo' in topics && 'bar' in topics". 381 }</pre> 382</div> 383 384</body></html>