Редактор темы

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

Sam_Morrou

PRO Users
Регистрация
2 Мар 2017
Сообщения
645
Рейтинг реакций
47
Баллы
28
Возраст
34
1/3
Автор темы
Всем привет
Не так давно набрел на один муз сайт 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. Уважаемые, давайте только по теме, неохота потом все полезные сообщения выискивать из кучи мусора. Спасибо!
 
Последнее редактирование:
А давно на пиратском сайте крутится адсенс? 😱

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


У меня подобный сайт не прошел модерацию из-за жалоб dmca.
upload_2023-5-7_22-21-27.png
 
Автор темы
А давно на пиратском сайте крутится адсенс? 😱

Посмотреть вложение 30132


У меня подобный сайт не прошел модерацию из-за жалоб dmca.
Посмотреть вложение 30133
Сам когда увидел офигел, насколько я знаю то в адсенсе не разрешены подобные сайты, а у них стоит как то!)
 
Сам когда увидел офигел, насколько я знаю то в адсенсе не разрешены подобные сайты, а у них стоит как то!)
до поры до времени, скоро словит бан, таких чудиков уже полно было, ставить не рекомендую
 
Всем привет
Не так давно набрел на один муз сайт MuzoFan.net - Новинки музыки 2023 скачать популярные и новые песни бесплатно (не реклама) и там увидел PWA приложение, только у них оно вызывается через кнопку в баннере

Посмотреть вложение 30128 Посмотреть вложение 30129

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

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

Посмотреть вложение 30131

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

/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 приложения по нажатию на кнопку, и какие скрипты файлы для этого используются.
Недавно по быстрому на коленки собрал, можешь скачать и поставить. СКАЧАТЬ

Баннеру дай 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.
 
Последнее редактирование:
Автор темы
Недавно по быстрому на коленки собрал, можешь скачать и поставить. СКАЧАТЬ

Баннеру дай 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.
Спасибо буду пробовать!
 
Автор темы
Всем спасибо, вопрос решен, тему можно закрывать!
 

Похожие темы Последние темы Популярные темы

Назад
Сверху