headHtml method
Snippet JS de inicialização (sem a tag <script>).
Implementation
@override
String headHtml() {
final base = 'https://www.gstatic.com/firebasejs/$sdkVersion';
final send = tokenEndpoint == null
? ''
: "if(t)fetch('$tokenEndpoint',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({token:t})});";
return "var fa=document.createElement('script');fa.src='$base/firebase-app-compat.js';fa.onload=function(){var fm=document.createElement('script');fm.src='$base/firebase-messaging-compat.js';fm.onload=function(){try{firebase.initializeApp($config);var m=firebase.messaging();if(!('serviceWorker'in navigator))return;navigator.serviceWorker.register('/firebase-messaging-sw.js').then(function(reg){Notification.requestPermission().then(function(perm){if(perm!=='granted')return;m.getToken({vapidKey:'$vapidKey',serviceWorkerRegistration:reg}).then(function(t){$send})})})}catch(e){}};document.head.appendChild(fm)};document.head.appendChild(fa);";
}