# Геокампании

Геокампания автоматически отправляет push-уведомление, когда устройство пользователя входит в определённую вами на карте локацию, например, в магазин, на мероприятие, в пункт выдачи или транспортный узел.

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

## Как это работает

После настройки геокампании Pushwoosh отправляет push-уведомление, когда устройство пользователя входит в геозону, кампания активна, и период ожидания позволяет выполнить отправку.

Требуется разрешение на доступ к геолокации. Если пользователь не предоставил его, геокампании не могут быть запущены для этого устройства, и push-уведомление не будет отправлено при входе устройства в геозону.

<Aside type="caution" title="Важно">
Для Android 10 и более поздних версий требуется разрешение на доступ к геолокации в фоновом режиме.
</Aside>


## Примеры использования

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


## Предварительные требования

<Aside type="caution" icon="setting" title="Требуется помощь разработчика">
Вам понадобится помощь команды разработчиков для интеграции отслеживания местоположения в ваше приложение.
</Aside>

Прежде чем создавать свою первую геокампанию, убедитесь, что:

1. В проекте настроена как минимум одна мобильная платформа (Android или iOS). [Узнайте, как настраивать платформы](/ru/product/first-steps/start-with-your-project/configure-platforms/).
2. Pushwoosh SDK интегрирован в ваше приложение с включенным отслеживанием местоположения.
3. Отслеживание местоположения настроено в приложении. Для получения подробной информации о реализации см. [Геозоны для iOS](/ru/developer/pushwoosh-sdk/ios-sdk/customizing-ios-sdk/#geozones-push-notifications) и [Геозоны для Android](/ru/developer/pushwoosh-sdk/android-sdk/customizing-android-sdk-50/#geozones-push-notification).


<Aside type="note">
- Отправка сообщений на основе геолокации недоступна для устройств HMS (Huawei Mobile Services), так как она зависит от геолокационных сервисов Google.
- Для приложений из Google Play требуется разрешение на доступ к геолокации в фоновом режиме. Ознакомьтесь с <a href="https://support.google.com/googleplay/android-developer/answer/9799150#zippy=%2Cstep-review-best-practices-for-accessing-location" target="_blank">политикой Google Play</a> и отправьте <a href="https://support.google.com/googleplay/android-developer/answer/10144311" target="_blank">декларацию разрешений</a> перед сбором данных о местоположении пользователей.
</Aside>


## Создание геозоны

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

Перейдите в **Campaigns → Geo campaigns**. Нажмите **Create geozone**, чтобы начать.

<img src="/push-notifications-geo-based-push-1.webp" alt="Экран начала работы с геокампаниями с видом карты и действием Create geozone в панели управления Pushwoosh."/>

### Укажите название кампании и агрегированную статистику

В поле **Campaign name** введите название длиной до 64 символов. Оно должно быть коротким и узнаваемым, например, `Весенняя распродажа в магазинах центра`.

При желании выберите существующую кампанию в поле **Aggregated statistics**. Push-уведомления геокампании будут учитываться вместе с другими точками взаимодействия в [статистике агрегированных сообщений](/ru/product/statistics-and-analytics/aggregated-messages/) этой кампании.

<img src="/push-notifications-geo-based-push-2.webp" alt="Раздел формы геозоны с полями Campaign name и Aggregated statistics."/>

### Составьте push-сообщение

Выберите способ составления уведомления:

- **Write a message**: введите текст push-уведомления непосредственно в форме (до 1024 символов). Используйте эту опцию для быстрого одноразового сообщения в одной геозоне.
- **Use an existing preset**: выберите сохраненный [пресет](/ru/product/content/push-presets/) для полноценного шаблона с заголовком, диплинком, пользовательским звуком и специфичными для платформы данными.

<img src="/push-notifications-geo-based-push-3.webp" alt="Форма создания геокампании, показывающая название кампании, настройки push-сообщения, а также опции звука и инбокса для iOS."/>

Настройте необязательные параметры сообщения:

- **Play default sound on iOS**: использует системный звук push-уведомлений на устройствах iOS.
- **Save to inbox**: сохраняет push-уведомление в in-app-инбоксе устройства после доставки, чтобы пользователь мог вернуться к нему позже. При включении установите **Inbox expire** (срок хранения в инбоксе) (1–365 дней) и, при необходимости, **Inbox icon URL** (URL иконки для инбокса). [Узнать больше](/ru/product/messaging-channels/message-inbox/mobile-message-inbox/#choosing-which-messages-to-save-to-inbox).

### Установите местоположение для запуска

1. Найдите адрес, вставьте координаты в строку поиска или кликните в любом месте на карте, чтобы установить маркер.
2. Перетащите маркер на круге, чтобы установить **Range** (Радиус). Радиус можно установить в диапазоне от 50 м до 100 км. По умолчанию — 200 м.

<img src="/push-notifications-geo-based-push-5.webp" alt="Вид карты для настройки местоположения запуска с поиском адреса, размещением маркера и настройкой радиуса."/>

### Выберите кластер и период ожидания

Период ожидания (cooldown) — это период тишины после отправки push-уведомления. То же самое устройство не получит другое уведомление из этой геозоны до истечения периода ожидания, даже если оно выйдет и снова войдет в нее.

В поле **Cooldown** выберите один из трех режимов:

| Режим | Как устанавливается период ожидания | Поведение |
|---|---|---|
| **Standalone** | Установите дни, часы и минуты непосредственно для этой геозоны. Минимум — 1 минута. Максимум — 41 день. | Период ожидания применяется только к этой геозоне. |
| **Use existing cluster** | Примените период ожидания из существующего [кластера](#создание-кластера). | Период ожидания кластера переопределяет собственный период ожидания этой геозоны. |
| **New cluster** | Создайте новый кластер и установите для него период ожидания. | Период ожидания кластера переопределяет собственный период ожидания этой геозоны. |


<img src="/push-notifications-geo-based-push-6.webp" alt="Выпадающий список режимов периода ожидания, показывающий опции Standalone, Use existing cluster и New cluster в геокампаниях."/>

### Запланируйте время запуска кампании

Раздел **Campaign schedule** определяет, когда геозона может инициировать отправку push-уведомлений:

- **Always active**: геозона активна круглосуточно.
- **On selected days and hours**: включите определенные дни недели и выберите одно временное окно в день (начало – конец). Кампания будет запускаться только в этих окнах.


<img src="/push-notifications-geo-based-push-7.webp" alt="Настройка геокампании на карте с кругом радиуса, опциями режима кластера и конфигурацией расписания кампании."/>

Расписания сохраняются в локальном часовом поясе браузера на момент создания.

<Aside type="note">
Панель управления поддерживает одно временное окно в день. Если геозона была настроена через API с несколькими окнами в день, редактирование расписания в форме будет недоступно. Нажмите **Save**, чтобы сохранить существующее расписание без изменений. Для его изменения используйте API.
</Aside>

Нажмите **Save**, чтобы создать геозону. Геозона будет сохранена и немедленно активирована. Если вы установили расписание, push-уведомления будут отправляться только в настроенные временные окна.

Push-уведомление отправляется, когда устройство входит в геозону в соответствии с активным расписанием и не заблокировано периодом ожидания.

## Создание кластера

Используйте кластер, когда одно и то же устройство может войти в несколько ваших зон за короткий промежуток времени, например, в два магазина на одной улице. Как только устройство получит push-уведомление из любой геозоны в кластере, оно не будет получать уведомления от других геозон в этом кластере до истечения периода ожидания.

После создания первой геозоны вы можете создавать кластеры на странице **Geo campaigns**.


1. На странице **Geo campaigns** нажмите **Create cluster**.

<img src="/push-notifications-geo-based-push-10.webp" alt="Страница геокампаний с кнопкой Create cluster перед вводом настроек кластера."/>

2. Введите **Cluster name** (название кластера) и **Cluster cooldown** (период ожидания кластера).
<img src="/push-notifications-geo-based-push-8.webp" alt="Форма создания кластера в геокампаниях с настройками названия и периода ожидания кластера перед сохранением."/>
3. Нажмите **Create**.

После создания кластер появится на странице **Geo campaigns**. Чтобы назначить ему геозоны:
- Выберите **Use existing cluster** в поле **Cooldown** при [создании или редактировании геозоны](#выберите-кластер-и-период-ожидания).
- Используйте **Move to cluster** на странице [Geo campaigns](#управление-геозонами-и-кластерами).


## Управление геозонами и кластерами

На странице **Geo campaigns** отображаются все ваши геозоны на карте и в таблице, сгруппированные по кластерам. Отдельные зоны отображаются в разделе **Without cluster**.

<img src="/push-notifications-geo-based-push-9.webp" alt="Обзор геокампаний с геозонами на карте и таблицей, сгруппированной по кластерам, включая раздел Without cluster."/>

Для каждой геозоны вы можете:

- **Pause** (Приостановить) или **Resume** (Возобновить) запуск.
- **Edit** (Редактировать) геозону в форме.
- **Move to cluster** (Переместить в кластер): назначить другому кластеру или удалить из текущего кластера.
- **Delete** (Удалить) геозону навсегда.

Для каждого кластера вы можете:

- **Pause** (Приостановить) или **Resume** (Возобновить) кластер. Приостановка кластера также приостанавливает все геозоны внутри него.
- **Edit** (Редактировать) название или период ожидания кластера.
- **Delete** (Удалить) кластер. Удалить можно только кластеры без привязанных геозон.