# Баннер установки приложения не отображается

**URL:** https://meta.discourse.org/t/app-install-banner-doesnt-display/360543
**Category:** Development
**Created:** [05.Апрель.2025 16:09:29 UTC](https://meta.discourse.org/t/app-install-banner-doesnt-display/360543 "2025-04-05T16:09:29Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![bitmage](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bitmage/32/389881_2.png) [@bitmage](https://meta.discourse.org/u/bitmage)
#### Post date: [05.Апрель.2025 16:09:29 UTC](https://meta.discourse.org/t/app-install-banner-doesnt-display/360543/1 "2025-04-05T16:09:29Z")

</div>

Баннер установки приложения не отображается на моем сайте. Я частично обошел эту проблему, описав процесс, который пользователям необходимо пройти:

> **[Install County Fence as an App](https://countyfence.org/t/install-county-fence-as-an-app/74)**
>
> Did you know you can put The County Fence on your home screen and it will function as an app? Here are the steps to do that in Brave on Android. Your steps might be slightly different on iOS or a different browser. You might even get lucky and...

Однако это неочевидно и сложно для моей аудитории.

Есть ли что-то, что я могу проверить, чтобы убедиться, что баннер установки приложения появляется в верхней части страницы?

---

<div class="post-metadata">

### Author: ![bitmage](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bitmage/32/389881_2.png) [@bitmage](https://meta.discourse.org/u/bitmage)
#### Post date: [05.Апрель.2025 16:19:07 UTC](https://meta.discourse.org/t/app-install-banner-doesnt-display/360543/2 "2025-04-05T16:19:07Z")

</div>

Чтобы прояснить: я надеюсь побудить их установить это как PWA.

Похоже, что настройка администратора для этого:

 ![IMG_20250405_101635](https://global.discourse-cdn.com/meta/original/4X/f/f/c/ffc904f1cbecef925d2ecc6bf652dd51e6222632.jpeg)

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

> [@Android app installation is not offered](https://meta.discourse.org/t/android-app-installation-is-not-offered/249699/10):
>
> It’s there on the setting: [image] We had a warning for that for site admins, but people complained about having a warning, so person_shrugging Apple declined to implement this on iOS, so there is no event nor native UI for it.

Кроме того, похоже, что эта настройка предлагается только для уровня доверия 1… Что, судя по всему, нельзя настроить?

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

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [05.Апрель.2025 17:58:22 UTC](https://meta.discourse.org/t/app-install-banner-doesnt-display/360543/3 "2025-04-05T17:58:22Z")

</div>

> [@bitmage](#):
>
> Есть ли что-то, что я могу проверить, чтобы убедиться, что баннер установки приложения появляется в верхней части страницы?

Можете поделиться ссылкой на ваш сайт, чтобы я мог провести диагностику?

> [@bitmage](#):
>
> На самом деле это приводит к установке из магазина приложений, а мне этого не нужно.

Именно поэтому они отключены по умолчанию. Вы отключили баннер установки PWA, когда переключили эти настройки.

---

<div class="post-metadata">

### Author: ![bitmage](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bitmage/32/389881_2.png) [@bitmage](https://meta.discourse.org/u/bitmage)
#### Post date: [06.Апрель.2025 01:05:21 UTC](https://meta.discourse.org/t/app-install-banner-doesnt-display/360543/4 "2025-04-06T01:05:21Z")

</div>

Сайт находится по адресу [delta.countyfence.org](http://delta.countyfence.org).

Я снял галочки с этих двух пунктов просто для теста. Загрузил в Firefox на мобильном устройстве. Пока баннер не вижу… Вы имеете в виду, что баннер PWA должен отображаться, если эти галочки не сняты?

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [06.Апрель.2025 02:00:41 UTC](https://meta.discourse.org/t/app-install-banner-doesnt-display/360543/5 "2025-04-06T02:00:41Z")

</div>

Я видел баннер один раз, когда впервые открыл Chrome по этому URL. Я хотел сделать скриншот, но не успел достаточно быстро.

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

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [06.Апрель.2025 02:41:47 UTC](https://meta.discourse.org/t/app-install-banner-doesnt-display/360543/6 "2025-04-06T02:41:47Z")

</div>

> [@bitmage](#):
>
> Firefox на мобильных устройствах

Firefox не поддерживает баннер установки PWA.

---

<div class="post-metadata">

### Author: ![bitmage](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bitmage/32/389881_2.png) [@bitmage](https://meta.discourse.org/u/bitmage)
#### Post date: [06.Апрель.2025 02:46:34 UTC](https://meta.discourse.org/t/app-install-banner-doesnt-display/360543/7 "2025-04-06T02:46:34Z")

</div>

Теперь в «Браузере» — обычный Chromium, который идет с моим телефоном. Баннер здесь не отображается.

Chrome не устанавливается, так как мой телефон де-гууглован, LineageOS… Поэтому я не могу протестировать его там.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [06.Апрель.2025 02:53:35 UTC](https://meta.discourse.org/t/app-install-banner-doesnt-display/360543/8 "2025-04-06T02:53:35Z")

</div>

Насколько мне известно, баннер установки PWA поддерживается только в Google Chrome и использует Play Store для создания .APK-файла PWA «на лету» в процессе установки.

Это зависит от нескольких вещей, которых нет на телефонах без сервисов Google.

---

<div class="post-metadata">

### Author: ![bitmage](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bitmage/32/389881_2.png) [@bitmage](https://meta.discourse.org/u/bitmage)
#### Post date: [07.Апрель.2025 22:46:01 UTC](https://meta.discourse.org/t/app-install-banner-doesnt-display/360543/9 "2025-04-07T22:46:01Z")

</div>

[Это объяснение на Stack Overflow](https://stackoverflow.com/a/50356149/1846335) содержит дополнительную информацию.

1. Похоже, что PWA должны поддерживаться не только в Chrome. Я знаю, что установил PWA через Brave, значит, мой браузер точно его поддерживает.
2. Событие `beforeinstallprompt` срабатывает только один раз: если пользователь отклонил его, оно исчезает. Видимо, чтобы не надоедать пользователю?
3. По-видимому, нет ручного способа активировать API «Установить как приложение».

Проверяет ли код Discourse конкретно наличие Chrome или реагирует на `beforeinstallprompt` в любом браузере? (Кажется, что проверка не зависит от браузера, см. ссылку на код ниже)

Это выглядит как [оригинальное объявление о функции в Chrome](https://developer.chrome.com/blog/a2hs-updates). Похоже, что задумывалось возможность для разработчиков сохранять объект события и ненавязчиво показывать его пользователю. Если пользователь проигнорирует его, он должен появиться снова в следующий раз. Только если пользователь инициирует запрос и затем отменит его, событие должно быть отключено на некоторое время (например, на 3 месяца).

[Код Discourse, отвечающий за это](https://github.com/discourse/discourse/blob/abfdc1fa11ff0a86b61e9deda1593a09e9cb3442/app/assets/javascripts/discourse/app/components/pwa-install-banner.gjs#L32), однако, добавляет дополнительную проверку на то, был ли когда-либо отклонён баннер Discourse. Правильно ли я понимаю? Похоже, это упущенная возможность: мы могли бы снова показывать баннер, но сознательно этого не делаем. Что, если мы оставим это решение за администратором — хочет ли он показывать запрос в такой ситуации?
