如何使用angularJS和cordova FCM发送推送通知

埃卡·莱昂纳多

我对 Ionic App 中的推送通知完全陌生。现在我可以在有人发送通知时收到通知。我希望能够在用户执行某些操作时推送通知。有没有办法使用 Cordova FCM 从 TypeScript 发送通知?

FCM 监听器

constructor(private fcm: FCM){
      fcm.subscribeToTopic('all');


  fcm.onNotification().subscribe(data=>{
    if(data.wasTapped){
      console.log("Received in background");
    } else {
      console.log("Received in foreground");
    };
  })
}
基肖尔·库马尔

嗨,创建 Firebase 帐户,

获取发件人 ID

https://ionicframework.com/docs/native/push/ [从这里安装插件]

实现 ionic2 推送的最佳教程

https://medium.com/@ankushaggarwal/push-notifications-in-ionic-2-658461108c59

            Setting up Ionic 2 App to generate device token
            For Android, follow FCM setup instructions. It will give you SERVER_KEY and SENDER_ID. SERVER_KEY is used by server to send push notification and SENDER_ID is used by device to generate device token. For iOS, nothing required to generate device token.


            Replace YOUR_SENDER_ID in config.xml with above SENDER_ID


            <plugin name="phonegap-plugin-push" spec="1.8.2">    
            <variable name="SENDER_ID" value="YOUR_SENDER_ID"/>   
            </plugin>

            Add device token generation code in your main app constructor like below and replace YOUR_SENDER_ID in Push.init() method with above SENDER_ID


            import {Component, ViewChild} from "@angular/core";
            import {AlertController, Nav, Platform} from "ionic-angular";
            import {StatusBar} from "@ionic-native/status-bar";
            import {SplashScreen} from "@ionic-native/splash-screen";
            import {Push, PushObject, PushOptions} from "@ionic-native/push";
            import {TabsPage} from "../pages/tabs/tabs";
            import {DetailsPage} from "../pages/details/details";

            @Component({
            template: '<ion-nav [root]="rootPage"></ion-nav>'
            })
            export class Ionic2PushApp {
            @ViewChild(Nav) nav: Nav;
            rootPage: any;

            constructor(public platform: Platform,
                        public statusBar: StatusBar,
                        public splashScreen: SplashScreen,
                        public push: Push,
                        public alertCtrl: AlertController) {
                this.rootPage = TabsPage;
                platform.ready().then(() => {
                this.statusBar.styleDefault();
                this.splashScreen.hide();
                this.initPushNotification();
                });
            }

            initPushNotification() {
                if (!this.platform.is('cordova')) {
                console.warn("Push notifications not initialized. Cordova is not available - Run in physical device");
                return;
                }
                const options: PushOptions = {
                android: {
                    senderID: "YOUR_SENDER_ID"
                },
                ios: {
                    alert: "true",
                    badge: false,
                    sound: "true"
                },
                windows: {}
                };
                const pushObject: PushObject = this.push.init(options);

                pushObject.on('registration').subscribe((data: any) => {
                console.log("device token ->", data.registrationId);
                //TODO - send device token to server
                });

                pushObject.on('notification').subscribe((data: any) => {
                console.log('message', data.message);
                //if user using app and push notification comes
                if (data.additionalData.foreground) {
                    // if application open, show popup
                    let confirmAlert = this.alertCtrl.create({
                    title: 'New Notification',
                    message: data.message,
                    buttons: [{
                        text: 'Ignore',
                        role: 'cancel'
                    }, {
                        text: 'View',
                        handler: () => {
                        //TODO: Your logic here
                        this.nav.push(DetailsPage, {message: data.message});
                        }
                    }]
                    });
                    confirmAlert.present();
                } else {
                    //if user NOT using app and push notification comes
                    //TODO: Your logic on click of push notification directly
                    this.nav.push(DetailsPage, {message: data.message});
                    console.log("Push notification clicked");
                }
                });

                pushObject.on('error').subscribe(error => console.error('Error with Push plugin', error));
            }
            }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用fcm_django在IO上发送推送通知

来自分类Dev

使用FCM从服务器发送推送通知

来自分类Dev

Flutter使用fcm为所有设备发送推送通知

来自分类Dev

使用 Firebase (FCM) 在 Android 设备上发送推送通知

来自分类Dev

Cordova 推送通知 android 和 ios 使用 FCM

来自分类Dev

如何使用FCM发送通知?

来自分类Dev

如何在网站旁边设置FCM应用服务器以发送推送通知?

来自分类Dev

通过FCM发送推送通知时,何时使用iOS设备令牌?

来自分类Dev

如何使用 FCM 和 Flutter(一个到另一个设备)发送推送通知?

来自分类Dev

如何发送网络推送通知

来自分类Dev

如何删除FCM Android推送通知结果

来自分类Dev

使用php和ionic alpha推送通知发送推送通知

来自分类Dev

使用 FCM Android 推送通知并删除令牌

来自分类Dev

在 DevExtreme/Phonegap 上使用 FCM 推送通知

来自分类Dev

Xamarin 表单:使用 FCM 推送通知

来自分类Dev

使用meteor的Android FCM推送通知

来自分类Dev

如何在未经授权或谷歌帐户的情况下通过 fcm 向特定设备发送推送通知?

来自分类Dev

如何使用FCM向iOS发送通知?

来自分类Dev

同时使用HTTP和XMPP协议的GCM / FCM推送通知

来自分类Dev

如何使用phonegap和分析发送推送通知

来自分类Dev

如何使用 Parse Server 和 PHP 发送推送通知

来自分类Dev

FCM 推送通知在 android 中不起作用(使用 cordova-plugin-fcm 2.1.1 的 Ionic 项目)

来自分类Dev

如何识别向谁发送推送通知?

来自分类Dev

点击按钮后如何发送推送通知?

来自分类Dev

如何知道推送通知的发送状态

来自分类Dev

推送通知如何发送到设备?

来自分类Dev

如何向PFUser发送iOS推送通知

来自分类Dev

如何发送主题重叠的Firebase推送通知

来自分类Dev

点击按钮后如何发送推送通知?

Related 相关文章

  1. 1

    如何使用fcm_django在IO上发送推送通知

  2. 2

    使用FCM从服务器发送推送通知

  3. 3

    Flutter使用fcm为所有设备发送推送通知

  4. 4

    使用 Firebase (FCM) 在 Android 设备上发送推送通知

  5. 5

    Cordova 推送通知 android 和 ios 使用 FCM

  6. 6

    如何使用FCM发送通知?

  7. 7

    如何在网站旁边设置FCM应用服务器以发送推送通知?

  8. 8

    通过FCM发送推送通知时,何时使用iOS设备令牌?

  9. 9

    如何使用 FCM 和 Flutter(一个到另一个设备)发送推送通知?

  10. 10

    如何发送网络推送通知

  11. 11

    如何删除FCM Android推送通知结果

  12. 12

    使用php和ionic alpha推送通知发送推送通知

  13. 13

    使用 FCM Android 推送通知并删除令牌

  14. 14

    在 DevExtreme/Phonegap 上使用 FCM 推送通知

  15. 15

    Xamarin 表单:使用 FCM 推送通知

  16. 16

    使用meteor的Android FCM推送通知

  17. 17

    如何在未经授权或谷歌帐户的情况下通过 fcm 向特定设备发送推送通知?

  18. 18

    如何使用FCM向iOS发送通知?

  19. 19

    同时使用HTTP和XMPP协议的GCM / FCM推送通知

  20. 20

    如何使用phonegap和分析发送推送通知

  21. 21

    如何使用 Parse Server 和 PHP 发送推送通知

  22. 22

    FCM 推送通知在 android 中不起作用(使用 cordova-plugin-fcm 2.1.1 的 Ionic 项目)

  23. 23

    如何识别向谁发送推送通知?

  24. 24

    点击按钮后如何发送推送通知?

  25. 25

    如何知道推送通知的发送状态

  26. 26

    推送通知如何发送到设备?

  27. 27

    如何向PFUser发送iOS推送通知

  28. 28

    如何发送主题重叠的Firebase推送通知

  29. 29

    点击按钮后如何发送推送通知?

热门标签

归档