#android #ionic-framework #push-notification #capacitor
Вопрос:
Я создаю ионно-угловое приложение. Я попытался использовать push-уведомление с помощью плагина конденсатора. Но я получил такую ошибку. Кто-нибудь может мне помочь?
**"ERROR Error: Uncaught (in promise): Error: "PushNotifications" plugin is not implemented on android
Error: "PushNotifications" plugin is not implemented on android"**
Комментарии:
1. пожалуйста, поделитесь версией конденсатора
2. «@конденсатор/android»: «^3.1.2», «@конденсатор/ядро»: «^3.1.2», «@конденсатор/ios»: «^3.1.2», «@конденсатор/push-уведомления»: «^1.0.3»,
Ответ №1:
Я решил «Ошибка Ошибка: Не пойман (в обещании): Ошибка: плагин «PushNotifications» не реализован на Android Ошибка: плагин «PushNotifications» не реализован на Android» ошибка, пожалуйста, выполните следующий шаг
Добавьте файл google-service.json в папку android/app
добавьте этот код в файл .ts
import {
ActionPerformed,
PushNotificationSchema,
PushNotifications,
Token,
} from '@capacitor/push-notifications';
import { Platform } from '@ionic/angular';
constructor(public platform: Platform) {
this.platform.ready().then(() => {
this.pushAdded();
})
}
pushAdded() {
// Request permission to use push notifications
// iOS will prompt user and return if they granted permission or not
// Android will just grant without prompting
PushNotifications.requestPermissions().then(result => {
if (result.receive === 'granted') {
// Register with Apple / Google to receive push via APNS/FCM
PushNotifications.register();
} else {
// Show some error
}
});
PushNotifications.addListener('registration', (token: Token) => {
alert('Push registration success, token: ' token.value);
});
PushNotifications.addListener('registrationError', (error: any) => {
alert('Error on registration: ' JSON.stringify(error));
});
PushNotifications.addListener(
'pushNotificationReceived',
(notification: PushNotificationSchema) => {
alert('Push received: ' JSON.stringify(notification));
},
);
PushNotifications.addListener(
'pushNotificationActionPerformed',
(notification: ActionPerformed) => {
alert('Push action performed: ' JSON.stringify(notification));
},
);
}
Комментарии:
1. Я добавил эти изменения. но, к сожалению, все равно получаю ту же ошибку.
Ответ №2:
Я исправил эту проблему, удалив папку Android и повторно добавив ее. Потом это сработало. Спасибо, Рави Ашара, за помощь.
Ответ №3:
Проверьте свои MainActivity.java в рамках вашего проекта. В последней версии конденсатора вы должны удалить код «onCreate».
См.: https://capacitorjs.com/docs/updating/3-0#switch-to-automatic-android-plugin-loading