Ich versuche, OneSignal in meine Angular 2 App zu integrieren, um Push-Benachrichtigungen zu erhalten. Zuerst habe ich eine HelloWorld-App mit reinem alten HTML erstellt und es funktioniert wunderbar. Also habe ich versucht, es in meine Angular-App zu integrieren, aber Benutzer werden nicht erstellt/registriert und sind daher nicht dafür angemeldet, Benachrichtigungen zu erhalten.Integration von OneSignal mit Angular 2 CLI
-Code Auszüge:
index.html
<html>
<head>
<meta charset="utf-8">
<title>My Angular App</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<head>
<link rel="manifest" href="/manifest.json">
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script>
<script>
var OneSignal = window.OneSignal || [];
console.log("Init OneSignal");
OneSignal.push(["init", {
appId: "xxx-xxx-xxx-xxx-xxx",
autoRegister: false,
allowLocalhostAsSecureOrigin: true,
notifyButton: {
enable: true
}
}]);
console.log('OneSignal Initialized');
OneSignal.push(function() {
console.log('Registered For Push');
OneSignal.getUserId().then(function (userId) {
console.log("User ID is", userId);
});
});
</script>
</head>
</head>
<body>
<app-root>
<div class="wrap">
<div class="loading outer">
<div class="loading inner"></div>
</div>
</div>
</app-root>
</body>
</html>
Die userId ist immer null.
Ich habe überprüft die folgenden:
- App-ID korrekt
- Genehmigung Benachrichtigung eingestellt ist im Browser
Fragen ermöglichen:
- Gibt es eine Möglichkeit, alle init-stuffs in einer beliebigen Komponente auszuführen, etwa in der ngOnInit() -Methode?
- Ich möchte mich für Push registrieren, wenn der Benutzer auf eine Schaltfläche in meiner Komponente klickt, anstatt das Glockensymbol zu verwenden? Wie erreicht man das? (Ich weiß, dass notifyButton auf false wird nicht die Glocke benachrichtigen zeigen)
PS: Prüfung auf Chrome Angular CLI (Hat nicht funktioniert mit FF oder Safari)
Funktioniert auch für Angular 5 mit 'angular-cli'. Vielen Dank, du hast meinen Tag gerettet! :) –