Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вопрос? Как реализовать ссылку на вызов pwa приложения?

Тема в разделе "Вопросы- ответы", создана пользователем Sam_Morrou, 7 май 2023.

07.05.23 в 21:12
08.05.23 в 21:17
6
899
0
  1. TopicStarter Overlay
    Sam_Morrou

    PRO Users

    Регистрация:
    2 мар 2017
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +71 / 13 / -0
    Всем привет
    Не так давно набрел на один муз сайт muzofan.net (не реклама) и там увидел PWA приложение, только у них оно вызывается через кнопку в баннере

    photo_2023-05-07_19-20-58.jpg photo_2023-05-07_19-20-59.jpg

    (я раньше не видел смысла в его установке, так как маленьких значок в адресной строке никто не замечает, но через баннер это уже что то) так вот потом вспомнил что у byroot/a на сайте вроде бы видел подобное.

    Нашел, PWA приложение для сайта » Блог Евгения Попова :: Программы :: DataLife Engine установил, сделал свой баннер,

    Screenshot.png

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

    /engine/ajax/controller.php?mod=pwastat

    Код:
    <script>
    
    let deferredPrompt;
    var btnAdd = document.getElementById('install_pwa');
    var pwaBlock = document.querySelector('.pwa');
    window.addEventListener('beforeinstallprompt', function(e) {
       e.preventDefault();
       deferredPrompt = e;
       $('.pwa').show();
    });
    
    window.addEventListener('appinstalled', function(e) {
       e.preventDefault();
       console.log('platform:appinstalled');
       $.post( "/engine/ajax/controller.php?mod=pwastat", { hash: dle_login_hash } );
    });
    
    
    $(document).ready(function(){
    
    
    $('body').on('click','#install_pwa',function(e){
    
      deferredPrompt.prompt();
      deferredPrompt.userChoice
        .then((choiceResult) => {
          if (choiceResult.outcome === 'accepted') {
            console.log('User accepted');
        $('.pwa').hide();
          } else {
            console.log('User dismissed');
        $('.pwa').show();
          }
          deferredPrompt = null;
        });
    });
    
    
    });
    </script>
    Подскажите кто может сталкивался с подобным, как инициировать инсталяцию pwa приложения по нажатию на кнопку, и какие скрипты файлы для этого используются.


    P.S. Уважаемые, давайте только по теме, неохота потом все полезные сообщения выискивать из кучи мусора. Спасибо!
     
    #1 Sam_Morrou, 7 май 2023
    Последнее редактирование: 8 май 2023
  2. 1080p

    1080p Местный

    Регистрация:
    20 окт 2020
    Сообщения:
    1.796
    Лучших ответов:
    4
    Рейтинги:
    +730 / 216 / -0
    А давно на пиратском сайте крутится адсенс? :eek:

    upload_2023-5-7_22-19-19.png


    У меня подобный сайт не прошел модерацию из-за жалоб dmca.
    upload_2023-5-7_22-21-27.png
     
  3. TopicStarter Overlay
    Sam_Morrou

    PRO Users

    Регистрация:
    2 мар 2017
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +71 / 13 / -0
    Сам когда увидел офигел, насколько я знаю то в адсенсе не разрешены подобные сайты, а у них стоит как то!)
     
  4. belov

    Команда форума VIP Кинотрафик v2

    Регистрация:
    16 янв 2016
    Сообщения:
    26
    Лучших ответов:
    0
    Рейтинги:
    +9 / 0 / -0
    до поры до времени, скоро словит бан, таких чудиков уже полно было, ставить не рекомендую
     
  5. Kod Black

    Kod Black Бывалый

    Регистрация:
    13 окт 2020
    Сообщения:
    265
    Лучших ответов:
    2
    Рейтинги:
    +105 / 17 / -0
    Недавно по быстрому на коленки собрал, можешь скачать и поставить. СКАЧАТЬ

    Баннеру дай id="pwa_app"

    В основном, тебе нужно просто вызвать событие - beforeinstallprompt

    Код:
    // находим кнопку
    let installButton = document.getElementById('pwa_app')
    // вызываем событие
    let prompt;
    window.addEventListener('beforeinstallprompt', function(e){
      // Prevent the mini-infobar from appearing on mobile
      e.preventDefault();
      // Stash the event so it can be triggered later.
      prompt = e;
    });
    // вызываем по клику на нашу кнопку
    installButton.addEventListener('click', function(){
       prompt.prompt();
    })
    p.s по поводу jQuery, попробуй блоку указать класс pwa.
     
    #5 Kod Black, 8 май 2023
    Последнее редактирование: 8 май 2023
    • Полезно Полезно x 1
  6. TopicStarter Overlay
    Sam_Morrou

    PRO Users

    Регистрация:
    2 мар 2017
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +71 / 13 / -0
    Спасибо буду пробовать!
     
    • Нравится Нравится x 1
  7. TopicStarter Overlay
    Sam_Morrou

    PRO Users

    Регистрация:
    2 мар 2017
    Сообщения:
    640
    Лучших ответов:
    0
    Рейтинги:
    +71 / 13 / -0
    Всем спасибо, вопрос решен, тему можно закрывать!
     
    • Нравится Нравится x 1
Похожие темы
  1. maxwellum
    Ответов:
    22
    Просмотров:
    4.517
  2. Codescript
    Ответов:
    5
    Просмотров:
    1.952
  3. Twoog
    Ответов:
    0
    Просмотров:
    1.307
  4. wawe
    Ответов:
    2
    Просмотров:
    686
  5. kachestvo
    Ответов:
    6
    Просмотров:
    1.487
Загрузка...
Яндекс.Метрика