Как правильно использовать Push-плагин Phonegap с Typescript, Cordova и Visual Studio 2017

Я хочу получать push-уведомления на Android-устройстве, используя phonegap-push-plugin. Но я терплю неудачу даже при создании проекта для устройства Android.

Итак, что я сделал:

  1. Я установил phonegap-plugin-push https://github.com/phonegap/phonegap-plugin-push с помощью Visual Studio

2.1. в application.ts для прохождения сборки проекта я импортировал определения машинописи (index.d.ts) для этого плагина:

    import '../plugins/phonegap-plugin-push/types/index';

2.2 В файле application.ts внутри функции обратного вызова для события deviceready я добавил код для инициализации PushNotification, как описано здесь: https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/TYPESCRIPT.md

    const push = PushNotification.init({
        android: {
            senderID: '*****'
        }
    });

    push.on('registration', (data) => {
        console.log(data.registrationId);
    });

и Visual Studio принимает это, кажется, все в порядке

  1. Я запускаю отладку на устройстве Android (VStudio создает проект и копирует на устройство), но я получаю сообщение об ошибке "Не удалось загрузить ресурс: сервер ответил с состоянием 404 (не найдено) index.js", и этот index.js ожидается VStudio находиться в "/plugins/phonegap-plugin-push/types/index.js"

После появления этой ошибки другой код не запускается

Мой комплект разработчика: Visual Studio 2017, Cordova, TypeScript.Cordova toolSet 6.3.1 / cordova-android 5.2.1

Я действительно озадачен.

РЕДАКТИРОВАТЬ:

Я добавил файл index.d.ts из папки phonegap-plugin-push / types в scripts/typings/cordova/plugins проекта vstudio cordova. Теперь у меня ошибка PushNotification не определена. Я немного погуглил и заметил, что эта ошибка может исчезнуть, если инициализировать pushnotification на событии готовности устройства. Но я уже сделал это.

EDIT2:

В /plugins/android.json не было свойства, описывающего плагин phonegap, поэтому я добавил в свойство "instal_plugins"

    "phonegap-plugin-push": {
        "SENDER_ID": "*****",
        "PACKAGE_NAME": "io.cordova.app"
    }

Но у меня все еще есть ошибки при сборке проекта в VS2017 для отладочной конфигурации - что-то не так с ANDROID_SUPPORT_V13_VERSION. Я определил это в config.xml, но это не помогает

0 ответов

Другие вопросы по тегам