Navigation
  • Rules >
  • GCM Service Rules

GCM Service Rules

For Push Notification service, you can optionally specify rules to enable its actions. If a rule is specified, the rule must evaluate to true for the action to be enabled. If a rule is not specified, the action is by default enabled.

Specify a Rule

  1. Select the action(s) for which the rule applies.

  2. Specify the rule in valid JSON that evaluates to a boolean. You can specify MongoDB query expression operators with the exception of the $text and geospatial operators:

    {
      <field1>: <value1|expression1>,
      <field2>: <value2|expression2>,
      ...
    }
    

GCM Service Arguments

Field Type Description
userIds Array of strings. The user ids of the message recipients.
to String The send-to topic. The recipients are the users who have opted into the topic.
registrationTokens Array of strings. The list of registration tokens for the devices receiving the multicast message.
priority string The priority of the notification. Value is either "high" or "normal". Corresponds to the priority option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
collapseKey string The collapse key associated with collapsible messages. Corresponds to the collapse_key option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
contentAvailable boolean A flag that determines whether to awake idle client apps upon receipt of the message. Corresponds to the content_available option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
mutableContent boolean A flag that determines whether the notification content can be modified before being displayed to the user. Corresponds to the mutable_content option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
timeToLive int

Maximum time (in milliseconds) to retain the message if the device is offline. Valid value range from 0 to 2419200.

Corresponds to the time_to_live option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.

data JSON document Payload for data message. data document consists of custom key-value pairs. Corresponds to the data option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
notification JSON document Payload for notification. notification document consists of predefined fields. Corresponds to the notification option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.

Notification Fields

The following table lists the predefined

Field Type Description
title string The title of the notification. Corresponds to the title option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
body string The body of the notification. Corresponds to the body option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
sound string The sound to play upon receipt of the notification. Corresponds to the sound option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
clickAction string The action to take when a user click on the notification. Corresponds to the click_action option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
bodyLocKey string The key for localization of the body string. Corresponds to the body_loc_key option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
bodyLocArgs string The string values to replace format specifiers for localization in the body string. Corresponds to the body_loc_args option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
titleLocKey string The key for localization of the title string. Corresponds to the title_loc_key option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
titleLocArgs string The string values to replace format specifiers for localization in the title string. Corresponds to the title_loc_args option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
icon string For Android only. The notification icon. Corresponds to the icon option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref .
color string For Android only. Indicates the icon color in #rrggbb format. Corresponds to the color option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
tag string For Android only. If specification, each notification does not result in a new entry but replaces an existing entry with the specified tag. If unsest, each notificaiton results in a new entry. Corresponds to the tag option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.
badge string For iOS only. The badge on client app home icon. Corresponds to the badge option for for HTTP JSON messages via GCM. See https://developers.google.com/cloud-messaging/http-server-ref.

Example

Actions When
send
{
  "to" : { "%in": "%%values.validTopics" }
}

This rule ensures that applications can only perform a send action when the to argument is a string listed in validTopics, where validTopics is a user-defined constant. For more information in defining constants, see Values.