REST Resource: projects.messages

Ресурс: Сообщение

Сообщение для отправки службой облачных сообщений Firebase.

JSON-представление
{
  "name": string,
  "data": {
    string: string,
    ...
  },
  "notification": {
    object (Notification)
  },
  "android": {
    object (AndroidConfig)
  },
  "webpush": {
    object (WebpushConfig)
  },
  "apns": {
    object (ApnsConfig)
  },
  "fcm_options": {
    object (FcmOptions)
  },

  // Union field target can be only one of the following:
  "token": string,
  "topic": string,
  "condition": string
  // End of list of possible types for union field target.
}
Поля
name

string

Только вывод. Идентификатор отправленного сообщения в формате projects/*/messages/{message_id} .

data

map (key: string, value: string)

Только ввод. Произвольные полезные данные «ключ/значение», которые должны быть в кодировке UTF-8. Ключ не должен быть зарезервированным словом («from», «message_type» или любым словом, начинающимся с «google» или «gcm»). При отправке полезных данных, содержащих только поля данных, на устройства iOS в ApnsConfig разрешен только обычный приоритет ( "apns-priority": "5" ).

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( Notification )

Только ввод. Базовый шаблон уведомления для использования на всех платформах.

android

object ( AndroidConfig )

Только ввод. Специальные параметры Android для сообщений, отправляемых через сервер соединений FCM .

webpush

object ( WebpushConfig )

Только ввод. Параметры протокола Webpush .

apns

object ( ApnsConfig )

Только ввод. Специальные параметры службы push-уведомлений Apple .

fcm_options

object ( FcmOptions )

Только ввод. Шаблон для опций функций FCM SDK для использования на всех платформах.

Полевая target Союза. Необходимый. Только ввод. Цель для отправки сообщения. target может быть только одно из следующих:
token

string

Регистрационный токен для отправки сообщения.

topic

string

Название темы, в которую нужно отправить сообщение, например «погода». Примечание. Префикс «/topics/» указывать не следует.

condition

string

Условие отправки сообщения, например, «foo» в темах && «bar» в темах».

Уведомление

Базовый шаблон уведомления для использования на всех платформах.

JSON-представление
{
  "title": string,
  "body": string,
  "image": string
}
Поля
title

string

Название уведомления.

body

string

Текст уведомления.

image

string

Содержит URL-адрес изображения, которое будет загружено на устройство и отображено в уведомлении. JPEG, PNG, BMP полностью поддерживаются на всех платформах. Анимированные GIF-файлы и видео работают только на iOS. WebP и HEIF имеют разные уровни поддержки в зависимости от платформы и версии платформы. Android имеет ограничение на размер изображения в 1 МБ. Использование квоты и последствия/затраты на размещение изображений в Firebase Storage: https://firebase.google.com/pricing.

AndroidConfig

Специальные параметры Android для сообщений, отправляемых через сервер соединений FCM .

JSON-представление
{
  "collapse_key": string,
  "priority": enum (AndroidMessagePriority),
  "ttl": string,
  "restricted_package_name": string,
  "data": {
    string: string,
    ...
  },
  "notification": {
    object (AndroidNotification)
  },
  "fcm_options": {
    object (AndroidFcmOptions)
  },
  "direct_boot_ok": boolean
}
Поля
collapse_key

string

Идентификатор группы сообщений, которые можно свернуть, чтобы при возобновлении доставки отправлялось только последнее сообщение. В любой момент времени допускается максимум 4 различных ключа свертывания.

priority

enum ( AndroidMessagePriority )

Приоритет сообщения. Может принимать «нормальные» и «высокие» значения. Дополнительную информацию см. в разделе Установка приоритета сообщения .

ttl

string ( Duration format)

Как долго (в секундах) сообщение должно храниться в хранилище FCM, если устройство находится в автономном режиме. Максимальное время поддержки составляет 4 недели, а значение по умолчанию — 4 недели, если оно не установлено. Установите значение 0, если хотите отправить сообщение немедленно. В формате JSON тип Duration кодируется как строка, а не как объект, где строка заканчивается суффиксом «s» (указывающим секунды) и ей предшествует количество секунд, при этом наносекунды выражаются как дробные секунды. Например, 3 секунды с 0 наносекундами должны быть закодированы в формате JSON как «3 с», а 3 секунды и 1 наносекунда должны быть выражены в формате JSON как «3.000000001 с». TTL будет округлен до ближайшей секунды.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

restricted_package_name

string

Имя пакета приложения, которому должен соответствовать регистрационный токен, чтобы получить сообщение.

data

map (key: string, value: string)

Полезная нагрузка произвольного ключа/значения. Если он присутствует, он переопределит google.firebase.fcm.v1.Message.data .

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( AndroidNotification )

Уведомление для отправки на устройства Android.

fcm_options

object ( AndroidFcmOptions )

Варианты функций, предоставляемых FCM SDK для Android.

direct_boot_ok

boolean

Если установлено значение true, сообщениям будет разрешено доставляться в приложение, пока устройство находится в режиме прямой загрузки. См. раздел Поддержка режима прямой загрузки .

AndroidMessagePriority

Приоритет сообщения для отправки на устройства Android. Обратите внимание, что этот приоритет — это концепция FCM, которая контролирует время доставки сообщения. См. руководства FCM . Кроме того, вы можете определить приоритет отображения уведомлений на целевых устройствах Android с помощью AndroidNotification.NotificationPriority .

Перечисления
NORMAL Приоритет по умолчанию для сообщений данных. Сообщения с обычным приоритетом не открывают сетевые подключения на спящем устройстве, и их доставка может быть отложена для экономии заряда батареи. Для менее срочных сообщений, таких как уведомления о новом электронном письме или других данных для синхронизации, выберите обычный приоритет доставки.
HIGH Приоритет по умолчанию для уведомлений. FCM пытается немедленно доставить сообщения с высоким приоритетом, позволяя службе FCM, когда это возможно, разбудить спящее устройство и открыть сетевое соединение с вашим сервером приложений. Например, приложениям с мгновенными сообщениями, чатом или оповещениями о голосовых вызовах обычно необходимо открыть сетевое соединение и убедиться, что FCM доставляет сообщение на устройство без задержки. Установите высокий приоритет, если сообщение критично по времени и требует немедленного взаимодействия с пользователем, но помните, что установка высокого приоритета для ваших сообщений в большей степени способствует разрядке батареи по сравнению с сообщениями с обычным приоритетом.

AndroidУведомление

Уведомление для отправки на устройства Android.

JSON-представление
{
  "title": string,
  "body": string,
  "icon": string,
  "color": string,
  "sound": string,
  "tag": string,
  "click_action": string,
  "body_loc_key": string,
  "body_loc_args": [
    string
  ],
  "title_loc_key": string,
  "title_loc_args": [
    string
  ],
  "channel_id": string,
  "ticker": string,
  "sticky": boolean,
  "event_time": string,
  "local_only": boolean,
  "notification_priority": enum (NotificationPriority),
  "default_sound": boolean,
  "default_vibrate_timings": boolean,
  "default_light_settings": boolean,
  "vibrate_timings": [
    string
  ],
  "visibility": enum (Visibility),
  "notification_count": integer,
  "light_settings": {
    object (LightSettings)
  },
  "image": string,
}
Поля
title

string

Название уведомления. Если он присутствует, он переопределит google.firebase.fcm.v1.Notification.title .

body

string

Текст уведомления. Если он присутствует, он переопределит google.firebase.fcm.v1.Notification.body .

icon

string

Значок уведомления. Устанавливает значок уведомления myicon для рисуемого ресурса myicon. Если вы не отправите этот ключ в запросе, FCM отобразит значок средства запуска, указанный в манифесте вашего приложения.

color

string

Цвет значка уведомления, выраженный в формате #rrggbb.

sound

string

Звук, который воспроизводится, когда устройство получает уведомление. Поддерживает «по умолчанию» или имя файла звукового ресурса, включенного в приложение. Звуковые файлы должны находиться в /res/raw/.

tag

string

Идентификатор, используемый для замены существующих уведомлений в панели уведомлений. Если не указано, каждый запрос создает новое уведомление. Если указано и уведомление с таким же тегом уже отображается, новое уведомление заменяет существующее в панели уведомлений.

click_action

string

Действие, связанное с щелчком пользователя по уведомлению. Если указано, действие с соответствующим фильтром намерений запускается, когда пользователь нажимает на уведомление.

body_loc_key

string

Ключ основной строки в строковых ресурсах приложения, используемый для локализации основного текста в соответствии с текущей локализацией пользователя. Дополнительную информацию см. в разделе «Строковые ресурсы» .

body_loc_args[]

string

Значения переменных строк, которые будут использоваться вместо спецификаторов формата в body_loc_key и использоваться для локализации основного текста в соответствии с текущей локализацией пользователя. Дополнительную информацию см. в разделе «Форматирование и оформление» .

title_loc_key

string

Ключ строки заголовка в строковых ресурсах приложения, используемый для локализации текста заголовка в соответствии с текущей локализацией пользователя. Дополнительную информацию см. в разделе «Строковые ресурсы» .

title_loc_args[]

string

Значения переменных строк, которые будут использоваться вместо спецификаторов формата в title_loc_key и использоваться для локализации текста заголовка в соответствии с текущей локализацией пользователя. Дополнительную информацию см. в разделе «Форматирование и оформление» .

channel_id

string

Идентификатор канала уведомления (новое в Android O). Приложение должно создать канал с этим идентификатором канала, прежде чем будет получено какое-либо уведомление с этим идентификатором канала. Если вы не отправляете этот идентификатор канала в запросе или если предоставленный идентификатор канала еще не создан приложением, FCM использует идентификатор канала, указанный в манифесте приложения.

ticker

string

Устанавливает текст «тикера», который отправляется службам доступности. До уровня API 21 ( Lollipop ) задает текст, который отображается в строке состояния при первом поступлении уведомления.

sticky

boolean

Если установлено значение false или не установлено, уведомление автоматически закрывается, когда пользователь щелкает его на панели. Если установлено значение true, уведомление сохраняется, даже когда пользователь щелкает его.

event_time

string ( Timestamp format)

Установите время, когда произошло событие в уведомлении. Уведомления в панели отсортированы по этому времени. Момент времени представляется с помощью protobuf.Timestamp .

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

local_only

boolean

Установите, относится ли это уведомление только к текущему устройству. Некоторые уведомления можно перенаправить на другие устройства для удаленного отображения, например на часы Wear OS. Эту подсказку можно настроить так, чтобы рекомендовать не перекрывать это уведомление. См. руководства по Wear OS

notification_priority

enum ( NotificationPriority )

Установите относительный приоритет для этого уведомления. Приоритет — это показатель того, какую часть внимания пользователя должно занять это уведомление. Уведомления с низким приоритетом могут быть скрыты от пользователя в определенных ситуациях, тогда как работа пользователя может быть прервана для уведомления с более высоким приоритетом. Эффект от установки одинаковых приоритетов может немного отличаться на разных платформах. Обратите внимание, что этот приоритет отличается от AndroidMessagePriority . Этот приоритет обрабатывается клиентом после доставки сообщения, тогда как AndroidMessagePriority — это концепция FCM, которая контролирует время доставки сообщения.

default_sound

boolean

Если установлено значение true, для уведомления используется звук платформы Android по умолчанию. Значения по умолчанию указаны в config.xml .

default_vibrate_timings

boolean

Если установлено значение true, для уведомления используется стандартный шаблон вибрации платформы Android. Значения по умолчанию указаны в config.xml . Если для default_vibrate_timings установлено значение true и также установлен vibrate_timings , вместо заданного пользователем vibrate_timings используется значение по умолчанию.

default_light_settings

boolean

Если установлено значение true, для уведомления используйте настройки светодиодной подсветки платформы Android по умолчанию. Значения по умолчанию указаны в config.xml . Если для default_light_settings установлено значение true и light_settings также установлено значение, вместо значения по умолчанию используется указанное пользователем light_settings .

vibrate_timings[]

string ( Duration format)

Установите используемый шаблон вибрации. Передайте массив protobuf.Duration , чтобы включить или выключить вибратор. Первое значение указывает Duration ожидания перед включением вибратора. Следующее значение указывает Duration включения вибратора. Последующие значения чередуются между Duration для выключения и включения вибратора. Если vibrate_timings установлен, а для default_vibrate_timings установлено значение true , вместо заданного пользователем vibrate_timings используется значение по умолчанию.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

visibility

enum ( Visibility )

Установите Notification.visibility уведомления.

notification_count

integer

Устанавливает количество элементов, которые представляет это уведомление. Может отображаться как количество значков для программ запуска, поддерживающих значки. См . Значок уведомления . Например, это может быть полезно, если вы используете только одно уведомление для представления нескольких новых сообщений, но хотите, чтобы здесь отображалось общее количество новых сообщений. Если значение равно нулю или не указано, системы, поддерживающие бейджи, используют значение по умолчанию, которое означает увеличение числа, отображаемого в меню длительного нажатия, каждый раз при поступлении нового уведомления.

light_settings

object ( LightSettings )

Настройки для управления частотой и цветом мигания светодиода уведомления, если светодиод доступен на устройстве. Общее время мигания контролируется ОС.

image

string

Содержит URL-адрес изображения, которое будет отображаться в уведомлении. Если он присутствует, он переопределит google.firebase.fcm.v1.Notification.image .

Приоритет уведомления

Уровни приоритета уведомления.

Перечисления
PRIORITY_UNSPECIFIED Если приоритет не указан, приоритет уведомления устанавливается на PRIORITY_DEFAULT .
PRIORITY_MIN Самый низкий приоритет уведомлений. Уведомления с этим PRIORITY_MIN могут не отображаться пользователю, за исключением особых обстоятельств, таких как подробные журналы уведомлений.
PRIORITY_LOW Низкий приоритет уведомлений. Пользовательский интерфейс может выбрать отображение уведомлений меньшего размера или в другой позиции в списке по сравнению с уведомлениями с PRIORITY_DEFAULT .
PRIORITY_DEFAULT Приоритет уведомлений по умолчанию. Если приложение не определяет приоритет собственных уведомлений, используйте это значение для всех уведомлений.
PRIORITY_HIGH Более высокий приоритет уведомлений. Используйте это для более важных уведомлений или предупреждений. Пользовательский интерфейс может выбрать отображение этих уведомлений в большем размере или в другом месте в списках уведомлений по сравнению с уведомлениями с PRIORITY_DEFAULT .
PRIORITY_MAX Самый высокий приоритет уведомления. Используйте это для наиболее важных элементов приложения, которые требуют быстрого внимания или ввода со стороны пользователя.

Видимость

Различные уровни видимости уведомления.

Перечисления
VISIBILITY_UNSPECIFIED Если не указано, по умолчанию используется Visibility.PRIVATE .
PRIVATE Покажите это уведомление на всех экранах блокировки, но скройте конфиденциальную или личную информацию на защищенных экранах блокировки.
PUBLIC Показывать это уведомление полностью на всех экранах блокировки.
SECRET Не раскрывайте никакую часть этого уведомления на защищенном экране блокировки.

Настройки света

Настройки для управления светодиодом уведомлений.

JSON-представление
{
  "color": {
    object (Color)
  },
  "light_on_duration": string,
  "light_off_duration": string
}
Поля
color

object ( Color )

Необходимый. Установите color светодиода с помощью google.type.Color .

light_on_duration

string ( Duration format)

Необходимый. Наряду с light_off_duration определите частоту мигания светодиода. Разрешение определяется proto.Duration

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

light_off_duration

string ( Duration format)

Необходимый. Наряду с light_on_duration определите частоту мигания светодиода. Разрешение определяется proto.Duration

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

Цвет

Представляет цвет в цветовом пространстве RGBA. Это представление предназначено для простоты преобразования в/из представлений цвета на разных языках, а также для компактности. Например, поля этого представления можно тривиально передать конструктору java.awt.Color в Java; его также можно тривиально передать методу +colorWithRed:green:blue:alpha UIColor в iOS; и, приложив немного усилий, его можно легко отформатировать в строку CSS rgba() в JavaScript.

На этой справочной странице не содержится информация об абсолютном цветовом пространстве, которое следует использовать для интерпретации значения RGB (например, sRGB, Adobe RGB, DCI-P3, BT.2020 и т. д.). По умолчанию приложения должны использовать цветовое пространство sRGB.

Когда необходимо определить равенство цветов, реализации, если не указано иное, рассматривают два цвета как равные, если все их значения красного, зеленого, синего и альфа отличаются не более чем на 1e-5.

Пример (Java):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

Пример (iOS/Obj-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

Пример (JavaScript):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
JSON-представление
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
Поля
red

number

Количество красного цвета в цвете как значение в интервале [0, 1].

green

number

Количество зеленого цвета в цвете как значение в интервале [0, 1].

blue

number

Количество синего цвета в цвете как значение в интервале [0, 1].

alpha

number

Доля этого цвета, которая должна быть применена к пикселю. То есть конечный цвет пикселя определяется уравнением:

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

Это означает, что значение 1,0 соответствует сплошному цвету, тогда как значение 0,0 соответствует полностью прозрачному цвету. При этом используется сообщение-оболочка, а не простой скаляр с плавающей запятой, чтобы можно было отличить значение по умолчанию от значения, которое не установлено. Если этот параметр опущен, этот цветовой объект отображается как сплошной цвет (как если бы значению альфа было явно присвоено значение 1,0).

AndroidFcmOptions

Варианты функций, предоставляемых FCM SDK для Android.

JSON-представление
{
  "analytics_label": string
}
Поля
analytics_label

string

Метка, связанная с аналитическими данными сообщения.

WebpushConfig

Параметры протокола Webpush .

JSON-представление
{
  "headers": {
    string: string,
    ...
  },
  "data": {
    string: string,
    ...
  },
  "notification": {
    object
  },
  "fcm_options": {
    object (WebpushFcmOptions)
  }
}
Поля
headers

map (key: string, value: string)

Заголовки HTTP, определенные в протоколе webpush. Обратитесь к протоколу Webpush для получения информации о поддерживаемых заголовках, например «TTL»: «15».

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

data

map (key: string, value: string)

Полезная нагрузка произвольного ключа/значения. Если он присутствует, он переопределит google.firebase.fcm.v1.Message.data .

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( Struct format)

Параметры веб-уведомлений в виде объекта JSON. Поддерживает свойства экземпляра уведомления, определенные в API веб-уведомлений . Если они присутствуют, поля «title» и «body» переопределяют google.firebase.fcm.v1.Notification.title и google.firebase.fcm.v1.Notification.body .

fcm_options

object ( WebpushFcmOptions )

Параметры функций, предоставляемых FCM SDK для Интернета.

WebpushFcmOptions

Параметры функций, предоставляемых FCM SDK для Интернета.

JSON-представление
{
  "link": string,
  "analytics_label": string
}
Поля
analytics_label

string

Метка, связанная с аналитическими данными сообщения.

ApnsConfig

Специальные параметры службы push-уведомлений Apple .

JSON-представление
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
Поля
headers

map (key: string, value: string)

Заголовки HTTP-запросов, определенные в службе push-уведомлений Apple. Обратитесь к заголовкам запросов APN, чтобы узнать о поддерживаемых заголовках, таких как apns-expiration и apns-priority .

Серверная часть устанавливает значение по умолчанию для apns-expiration равное 30 дням, и значение по умолчанию для apns-priority равное 10, если оно не установлено явно.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

payload

object ( Struct format)

Полезная нагрузка APN в виде объекта JSON, включая словарь aps и пользовательскую полезную нагрузку. См. Справочник по ключам полезной нагрузки . Если он присутствует, он переопределяет google.firebase.fcm.v1.Notification.title и google.firebase.fcm.v1.Notification.body .

fcm_options

object ( ApnsFcmOptions )

Варианты функций, предоставляемых FCM SDK для iOS.

ApnsFcmOptions

Варианты функций, предоставляемых FCM SDK для iOS.

JSON-представление
{
  "analytics_label": string,
  "image": string
}
Поля
analytics_label

string

Метка, связанная с аналитическими данными сообщения.

image

string

Содержит URL-адрес изображения, которое будет отображаться в уведомлении. Если он присутствует, он переопределит google.firebase.fcm.v1.Notification.image .

FcmOptions

Независимые от платформы опции для функций, предоставляемых пакетами FCM SDK.

JSON-представление
{
  "analytics_label": string
}
Поля
analytics_label

string

Метка, связанная с аналитическими данными сообщения.

Методы

send

Отправьте сообщение указанной цели (токен регистрации, тема или условие).