Google AMP - Notifica utente

Google amp-user-notification viene utilizzata per mostrare all'utente i messaggi delle finestre di dialogo ignorabili. Possiamo usarlo per informare l'utente sui cookie nella pagina.

Per lavorare con amp-user-notification dobbiamo aggiungere il seguente script sulla pagina:

<script async custom-element = "amp-user-notification" 
   src = "https://cdn.ampproject.org/v0/amp-user-notification-0.1.js">
</script>

Formato tag di notifica utente-amp -

<amp-user-notification id = "my-notification" layout = "nodisplay">
   <div>Example of amp-user-notification. 
      <button on = "tap:my-notification.dismiss">I accept
      </button>
   </div>
</amp-user-notification>

Cerchiamo di comprendere la notifica all'utente amp utilizzando un esempio funzionante

Esempio

<!doctype html>
<html amp lang = "en">
   <head>
      <meta charset = "utf-8">
      <script async src = "https://cdn.ampproject.org/v0.js"></script>
      <title>Google AMP - Amp Selector</title>
      <link rel = "canonical" href = " http://example.ampproject.org/article-metadata.html">
      <meta name = "viewport" content = "width = device-width,minimum-scale = 1,initial-scale = 1">
   
      <style amp-boilerplate>
         body{
            -webkit-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:
            -amp-start 8s steps(1,end) 0s 1 normal both;animation:
            -amp-start 8s steps(1,end) 0s 1 normal both
         }
         @-webkit-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes 
         -amp-start{from{visibility:hidden}to{visibility:visible}}
      </style>
      
      <noscript>
         <style amp-boilerplate>
            body{
               -webkit-animation:none;
               -moz-animation:none;
               -ms-animation:none
               animation:none
            }
         </style>
      </noscript>
   
      <script async custom-element = "amp-user-notification" 
         src = "https://cdn.ampproject.org/v0/amp-user-notification-0.1.js">
      </script>
   
      <style amp-custom>
         div {
            font-size: 15px;
            background-color : #ccc;
            padding: 10px 10px;
            border-radius: 2px;
         }
         button{ 
            background-color: #ACAD5C; 
            color: white; 
            cursor: pointer; 
            float: right;
         }
      </style>
   </head>
   <body>
      <h3>Google AMP - Amp User Notification</h3>
      <amp-user-notification
         id = "my-notification"
         layout = "nodisplay">
         <div>Example of amp-user-notification. 
            <button on = "tap:my-notification.dismiss">I accept
            </button>
         </div>
      </amp-user-notification>
   </body>
</html>

Produzione

L'output del codice di esempio funzionante fornito sopra è come mostrato di seguito:

Una volta che l'utente fa clic sul pulsante, la notifica viene ignorata. Una volta chiusa, la notifica non verrà visualizzata anche se ricarichi la pagina.

I dati della notifica utente vengono memorizzati nel browser localStorage. Se il localstorage viene cancellato e la pagina viene aggiornata, sarà possibile visualizzare nuovamente la notifica. Puoi provare lo stesso usandolocalStorage.clear() nella console del browser.

Utilizzando dismiss azione la notifica può essere ignorata, utilizzando l'azione su un pulsante come segue

<button on = "tap:my-notification.dismiss">
   I accept
</button>

Quando l'utente tocca il pulsante, la notifica verrà ignorata.