带推送通知的Firebase本机插件无效

时间:2017-05-28 05:17:21

标签: angular firebase ionic-framework ionic2 ionic3

我曾尝试使用Firebase native plugin发送推送通知。但它无法正常工作(没有向真实设备发送消息)。你能告诉我该怎么做吗?

app.component.ts

constructor(platform: Platform, private firebase: Firebase) {

    platform.ready().then(() => {
        this.firebase.getToken()
            .then(token => console.log(`The token is ${token}`)) // save the token server-side and use it to push notifications to this device
            .catch(error => console.error('Error getting token', error));

 this.firebase.onNotificationOpen()
            .subscribe(res => {
                if (res.tap) {
                    // background mode
                    console.log("background");
                    console.log(res);
                    alert(res);
                } else if (!res.tap) {
                    // foreground mode
                    console.log("foreground");
                    console.log(res);
                    alert(res);
                }
            });

      });
}

在上面的实现之后,我尝试在firebase compose消息控制台上使用User Segment发送推送通知。

1 个答案:

答案 0 :(得分:6)

推送通知可能有不同的原因。我提供了一系列步骤来实现推送通知。看看你错过了什么。

在Ionic app(for android)中实现推送通知的步骤:

  1. 制作新的firebase project
  2. 注意:Firebase package name必须与应用中的id相同 config.xml

    1. 下载google-services.json文件并将其放在应用的根目录中。
    2. 添加Android平台$ ionic platform add android(如果您还没有)
    3. 安装firebase插件$ ionic plugin add cordova-plugin-firebase
    4. 注意:您应该在项目中放置google-services.json文件后安装插件 - 因为在安装过程中会将此文件复制到平台目录中。

      1. 安装ionic-native firebase包并实施onNotificationOpen方法。

      2. 将以下内容添加到build.gradle文件中:

        buildscript {
        // ...
            dependencies {
                // ...
                classpath 'com.google.gms:google-services:3.1.0'
            }
        }
        
        //....
        
        dependencies {
            // SUB-PROJECT DEPENDENCIES START
            // ...
            compile "com.google.firebase:firebase-core:+"
            compile "com.google.firebase:firebase-messaging:+"
        }
        
      3. 在Android设备$ ionic build android

      4. 上构建您的应用
      5. 测试推送通知。您可以使用this免费的firebase通知发件人。
      6. 注意: API密钥是您的firebase项目中名为Legacy server key的云消息传递选项卡中的密钥。 此外,如果您要将通知发送到特定主题,则需要先使用subscribe方法订阅此主题。