首页 > 解决方案 > 我无法在 Web 应用程序中使用 Iphone 检索 fcm 令牌

问题描述

我无法在 Web 应用程序中使用 Iphone 检索 fcm 令牌

这是一个 Linux 服务器,带有 Mysql 、 PHP 7.2 并且没有 Jquery。Iḿ 使用 Firebase Web Cloud Messaging 的示例,适用于 PC 和移动 Android。但不适用于IOS浏览器

<!-- Add Firebase products that you want to use -->
<script src="https://www.gstatic.com/firebasejs/5.10.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.10.1/firebase-database.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.10.1/firebase-messaging.js"></script>
<script>
    var firebaseConfig = {
        apiKey: "xxasdasdasdasdasdasdasdas",
        authDomain: "projetono.firebaseapp.com",
        databaseURL: "https://dsadsa-gds.firebaseio.com",
        projectId: "dsadas-gds",
        storageBucket: "",
        messagingSenderId: "432423",
        appId: "1:dffewfewfewfew:web:937953e7e514f066"
    };

    firebase.initializeApp(firebaseConfig);
    const messaging = firebase.messaging();
    messaging.usePublicVapidKey("23432432432432423fewfewfew-fDfKw");
    messaging.requestPermission().then(function(){
        console.log('Have Permission');
        return messaging.getToken();
    }).then(function(token){
        console.log(token);
        document.write(token);
        //var url = "https://api.whatsapp.com/send?phone=5511984314366" + "&text=" + token;
        //window.open(url);

    })
        .catch(function(err){
            document.write('Erro' + err);
            console.log('Erro' + err)

        });

    messaging.onMessage(function(payload) {
        console.log(payload.data);
        data = payload.data;
        navigator.serviceWorker.ready.then(function(registration) {
            registration.showNotification(data.titulo, {
                body: data.mensagem,
                badge: data.badge,//'/m/public/img/gds_badge.png',
                icon: data.icon,//'/m/public/img/carrinhocompras.png',
                vibrate: data.vibrate// [200, 100, 200, 100, 200, 100, 200],
            });
        });
        //console.log('Message received. ', payload);
        // ...
    });

我想在页面上显示 idtoken。在命令 document.write(token)

标签: javascriptphpfirebase-cloud-messaging

解决方案


我在 firebase.messaging() 中使用 try-catch 并返回“此浏览器不支持所需的 API”


推荐阅读