Я пытаюсь построить систему чата, используя django для бэкенда и FCM для уведомлений.До сих пор я пытался получить токен FCM, но я не смог использовать приведенный ниже код.Когда я пытаюсь это сделать, появляется предупреждение «Ошибка получения токена».Чего мне не хватает?
Я совершенно новичок в Firebase, поэтому не очень хорошо знаю, как с этим справиться.
<script src="https://www.gstatic.com/firebasejs/5.10.0/firebase.js"></script>
<!-- Firebase App is always required and must be first -->
<script src="https://www.gstatic.com/firebasejs/5.8.4/firebase-app.js"></script>
<!-- Add additional services that you want to use -->
<script src="https://www.gstatic.com/firebasejs/5.8.4/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.9.1/firebase-messaging.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: ""
};
firebase.initializeApp(config);
</script>
<script>
function googleLogin(){
var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().useDeviceLanguage();
firebase.auth().signInWithPopup(provider).then(function(result) {
// This gives you a Google Access Token. You can use it to access the Google API.
var token = result.credential.accessToken;
// The signed-in user info.
var user = result.user;
// ...
firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idToken) {
var csrftoken = '{{ csrf_token }}';
const messaging = firebase.messaging();
messaging.usePublicVapidKey("");
messaging.requestPermission().then(function() {
console.log('Notification permission granted.');
messaging.getToken().then(function(currentToken) {
if (currentToken) {
alert(currentToken);
$.post("/api/login", {'csrfmiddlewaretoken': csrftoken, 'token': idToken});
setTimeout(function(){
document.location.reload(true);
}, 1500);
} else {
alert("No token");
console.log('No Instance ID token available. Request permission to generate one.');
}
}).catch(function(err) {
alert("Error retrieving token");
console.log('An error occurred while retrieving token. ', err);
});
}).catch(function(err) {
alert("No permission");
console.log('Unable to get permission to notify.', err);
});
}).catch(function(error) {
alert("Error logging in")
// Handle error
});
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
// ...
});
}
</script>
Я кое-что прочитал о включении манифестафайл .json, но я не знаю, как обращаться с этим файлом или где мне его включать.