Если вы хотите работать с машинопись, вы можете объявить в файле, как @majodi сказал:
declare var FCMPlugin: any;
, но у вас не будет автозаполнения.
Вы также можете создать fcm-plugin.d.ts
файл положить в yourAppName/src/app/fcm-plugin.d.ts
, и это должно выглядеть примерно так:
declare var fcmPlugin: FCMPlugin.IFCMPlugin;
// Support AMD require
declare module 'fcmPlugin' {
export = fcmPlugin;
}
declare namespace FCMPlugin {
interface IFCMPlugin {
onNotification(onNotificationCallback, successCallback, errorCallback);
getToken(successCallback, errorCallback);
onTokenRefresh(onTokenRefreshCallback);
subscribeToTopic(topic: string, successCallback, errorCallback);
unsubscribeFromTopic(topic: string, successCallback, errorCallback);
}
}
Не забудьте позвонить fcmPlugin после проверки, что вы находитесь на Cordova устройства:
if (platform.is('cordova')) {
fcmPlugin.getToken(token => {
console.log('getToken() succeed: ', token);
}, err => {
console.error('getToken() failed: ', err);
});
}
в противном случае будет иметь fcmPlugin does not exists
, когда вы делаете ionic serve
Тогда вы просто для вызова fcmPlugin и создания магии автозавершения TypeScript!
У вас есть файл декларации машинописных файлов для 'cordova-plugin-fcm'? – MarkoCen
Нет, никаких типизирования вообще. Обычно я могу как-то обойти это, но на этот раз я не могу найти решение. Было бы неплохо, если бы этот плагин был бы подобным, как родные плагины с ионным подключением с файлом d.ts. На GitHub я попросил несколько советов, но проблема была закрыта ... – majodi
вы можете попытаться написать файл ts для него, так как вы сказали, что функции довольно просты. – MarkoCen