<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:uix="http://projectmallard.org/experimental/ui/" type="topic" id="notifications" xml:lang="ru">

  <info>
    <link type="guide" xref="patterns#primary"/>
    <desc>System-wide event notifications</desc>
    <credit type="author">
      <name>Алан Дэй (Allan Day)</name>
      <email>aday@gnome.org</email>
    </credit>
    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
  </info>

<title>Уведомления</title>

<p>Уведомления служат для информирования пользователей о событиях при использовании вашего приложения. С помощью уведомлений пользователи могут быстро отвечать на эти события, используя действия в уведомлениях.</p>

<section id="when-to-use">
<title>Когда использовать</title>

<p>Используйте уведомления для информирования пользователей об интересующих их событиях, когда ваше приложение не используется. Это могут быть новые сообщения в приложениях обмена сообщениями, выполнение длительных задач, напоминания для календарей и т. п.</p>

<p>Не используйте уведомления как замену для обратной связи, используемой в окнах вашего приложения, которые должны информировать пользователей о событиях без необходимости применения уведомлений.</p>

</section>

<section id="notification-elements">
<title>Элементы уведомлений</title>

<p>В GNOME 3 в уведомлениях применяются стандартные компоненты:</p>

<table>
<thead>
<tr>
<td><p>Элемент</p></td><td><p>Описание</p></td>
</tr>
</thead>
<tbody>
<tr>
<td><p>Значок приложения</p></td><td><p>Указывает на то, какое приложение отправило уведомление.</p></td>
</tr>
<tr>
<td><p>Заголовок</p></td><td><p>Заголовок приложения.</p></td>
</tr>
<tr>
<td><p>Тело</p></td><td><p>Необязательный текстовый блок с расширенной информацией об уведомлении. Тело уведомления может содержать несколько абзацев. Например: начальный фрагмент электронного письма.</p></td>
</tr>
<tr>
<td><p>Действие по умолчанию</p></td><td><p>Это действие, которое срабатывает при активации уведомления.</p></td>
</tr>
<tr>
<td><p>Действия</p></td><td><p>Каждое уведомление может содержать до трёх кнопок.</p></td>
</tr>
</tbody>
</table>

<section id="titles">
<title>Заголовки</title>

<p>Заголовок содержит краткое описание события, которое вызвало уведомление. Тело уведомления может отсутствовать, поэтому смысл уведомления должен быть понятен по одному заголовку.</p>

</section>

<section id="default-actions">
<title>Действия по умолчанию</title>

<p>Действие по умолчанию должно всегда закрывать уведомление и показывать окно приложения, которое отправило уведомление. Если уведомление относится к определённой части интерфейса в вашем приложении, действие по умолчанию должно открывать эту часть интерфейса. Например, действие по умолчанию для уведомлений о новых письмах должно открывать соответствующее письмо.</p>

</section>

<section id="actions">
<title>Действия уведомлений</title>

<p>В уведомления можно встраивать полезные кнопки, с помощью которых пользователи могут быстро обрабатывать уведомления.</p>

<list>
<item><p>Действия в уведомлениях должны относиться к содержимому уведомлений и не должны предоставлять общий действий для вашего приложения. Таким образом любое уведомление будет иметь понятное назначение.</p></item>
<item><p>Используйте действия в уведомлениях, когда они действительно необходимы.</p></item>
<item><p>Actions should not replace user interface controls elsewhere — it should be possible to take the same actions from your application’s windows.</p></item>
<item><p>Необязательно всегда использовать действия в уведомлениях, многим уведомлениях не нужны действия.</p></item>
<item><p>Действия в уведомлениях не должны дублировать действие по умолчанию. Например, в уведомление о новом письме не нужно добавлять кнопку для открытия письма, поскольку действие по умолчанию уже выполняет это действие.</p></item>
</list>

</section>
</section>

<section id="general-guidance">
<title>Общие рекомендации</title>

<list>
<item><p>Не отвлекайте пользователей уведомлениями понапрасну. Уведомления могут надоедать и не заставят пользователей больше любить ваше приложение. Поэтому всегда с осторожностью подходите к использованию уведомлений, подумайте, действительно ли нужно информировать пользователей о событиях.</p></item>
<item><p>Приложениях, в которых появляется множество уведомлений, например в клиентах для электронной почты или мессенджерах, существует риск завалить пользователя уведомлениями. В подобных приложениях должны быть реализованы функции по ограничению частоты отправляемых уведомлений. Вместо того, чтобы показывать по одному уведомлению для каждого нового сообщения, можно показать одно уведомление с кратким списком всех новых сообщений.</p></item>
<item><p>В GNOME 3 все уведомления после того, как они появились на экране, сохраняются. Поэтому важно удалять сообщения, которые больше неактуальны для пользователя.</p>
<list>
<item><p>Окно вашего приложения должно обеспечивать обратную связь со всеми событиями, о которых сообщают уведомления. То есть когда окно вашего приложения находится в фокусе, сообщения уведомлений должны обрабатываться как прочитанные и должны удаляться.</p></item>
<item><p>Убедитесь, что ваше приложение удаляет неактуальные уведомления. Например, предупреждение о неблагоприятных погодных условиях должно быть удалено, как только оно будет отозвано.</p></item>
</list></item>
</list>

</section>

<section id="api-reference">
<title>API reference</title>
<list>
<item><p><link href="https://developer.gnome.org/gio/stable/GNotification.html">GNotification</link></p></item>
</list>
</section>

</page>
