离子电容器“PushNotifications”插件未在 Android 上实现

问题描述 投票:0回答:3

尝试使用

@capacitor/push-notifications
插件请求权限时遇到问题。我遵循自述文件中描述的每个步骤,并且使用 Ionic 和 Vue 3。

这是

package.json

...
    "@capacitor/android": "^3.2.0",
    "@capacitor/core": "^3.2.0",
    "@capacitor/push-notifications": "^1.0.3",
    "@ionic/vue": "^5.4.0"
...

这是请求权限的方法:

requestFCMPermissions(context: AuthContext) {
      PushNotifications.requestPermissions().then(result => {
        if (result.receive === "granted") {
          PushNotifications.register();
          ...
        } else {
          ...
        }
      });
      ...
}

当然,当通过 Web 尝试时,这不起作用,但是,当我组装 APK 并对其进行配置时,它会在控制台日志中回复我一个错误:

 "PushNotifications" plugin is not implemented on android

有人知道为什么吗?谢谢!

android firebase vue.js ionic-framework
3个回答
1
投票

解决了我编辑

MainActivity.java
文件的问题:

public class MainActivity extends BridgeActivity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
 
    // Initializes the Bridge
    this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
      // Additional plugins you've installed go here
      //...
      add(com.capacitorjs.plugins.pushnotifications.PushNotificationsPlugin.class);
    }});
  }
}

但是任何教程中都没有指定这一点,所以它可能适合我的配置。


0
投票

我遇到了同样的问题并且吓坏了。推送通知可以在模拟器上运行,但不能在真实设备上运行。

有帮助的是删除 android 文件夹。我进行了全新安装

cap add android
并使用 git 检查了差异。

就我而言,必须删除

app/build.gradle
中的以下代码行。

def enableProguardInReleaseBuilds = true

0
投票

我忘记运行

npx cap update android
这解决了我的问题。还可以尝试构建并限制副本,或删除整个 Android 并重建。

© www.soinside.com 2019 - 2024. All rights reserved.