Firebase - 问题设置Firebase云消息传递

时间:2017-08-05 14:29:29

标签: firebase

我在使用Firebase应用设置推送通知时遇到了一些困难。我按照tutorial跟进了关于设置云消息传递的信件

我希望移动设备能够接收通知,因此我将requestPermssions()功能直接添加到我的index.html

<!-- Firebase -->
<script src="https://www.gstatic.com/firebasejs/3.4.0/firebase.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.4.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.4.0/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.4.0/firebase-database.js"></script>
<script src="https://www.gstatic.com/firebasejs/3.4.0/firebase-storage.js"></script>

...
...

<script>
var config = {
  apiKey: "56sds55hhjh906rwsbghghsd",
  authDomain: "app-33aef.firebaseapp.com",
  databaseURL: "https://app-33aef.firebaseio.com",
  storageBucket: "app-33aef.appspot.com",
  messagingSenderId: "43532673275"
};

firebase.initializeApp(config)

const messaging = firebase.messaging();
messaging.requestPermission()
  .then(function(){
     console.log('Have Permissions!');
     return messaging.getToken()
  })
  .then(function(token){
    console.log(token);
  })
  .catch(function(error){
    console.warn('ERROR: ' + error);
  })

  messaging.onMessage(function(payload){
    console.log('onMessage', payload);
  })
</script>

但是,我看到以下TypeError

firebase.messaging is not a function

在浏览网页后,我发现您必须使用firebase-admin来使用messaging()功能。我也试过了,但后来我得到了一个'意外的令牌导入'#39;错误,但这可能只是我的项目设置......

有人有解决方案吗?我觉得我在这里进行了一些非常简单的事情。

1 个答案:

答案 0 :(得分:0)

嗯,我觉得这很明显,我从来没有想过它。

包含firebase消息传递的脚本标记(oy vey)。

<script src="https://www.gstatic.com/firebasejs/4.2.0/firebase-messaging.js"></script>

在视频中提及这一点会很有帮助,因为许多其他人也被打扰了