电容器 - 类型错误:无法读取未定义的属性“getToken”

时间:2021-02-15 10:44:11

标签: firebase vue.js ionic-framework capacitor

我正在尝试在我的 Android 应用中使用 Capacitor FCM 插件实现通知。但是,在 Android Studio 中运行以下代码时,我收到此错误消息:“TypeError:无法读取未定义的属性 'getToken'”。

我将 Ionic 5 与 Vue 3 结合使用。

App.vue

async pushInit() {
      const fcm = new FCM();

      alert("...");
      try {
        PushNotifications.addListener("registrationError", (error) => {
          console.log(`error on register ${JSON.stringify(error)}`);
        }),
          PushNotifications.addListener(
            "pushNotificationReceived",
            (notification) => {
              console.log(`notification ${JSON.stringify(notification)}`);
            }
          ),
          PushNotifications.addListener(
            "pushNotificationActionPerformed",
            async (notification) => {
              console.log("notification succeeded");
            }
          ),
          PushNotifications.register();
        const fcmToken = await fcm.getToken();
        alert(fcmToken);
        console.log("token:" + fcmToken);
      } catch (e) {
        console.log(e);
      }
    }

我已经运行了 npx cap sync android。

1 个答案:

答案 0 :(得分:1)

通过以下步骤解决:

在数据返回中添加:

fcm: new FCM()

在 Android Studio 中添加了以下内容: MainActivity.java: import com.getcapacitor.community.fcm.FCMPlugin; 然后在 init 回调中 add(FCMPlugin.class);