3

私はIonic 2を使用していますが、プッシュ通知を有効にしようとしています。cordova-plugin-fcm - FCMPluginが定義されていません

私はFirebaseで自分のアプリを登録し、通知を正常に送信できます。

アプリから通知をプッシュできるように設定する必要があります。だから私は次のCordova Plugin(cordova-plugin-fcm)を使うことに決めました。

質問1

私はそれが私のイオンのアプリで次の手順を実行して、指示に従って、だ、次のとおりです。私は、実行時に次のエラーを取得する

app.ts

declare var FCMPlugin; 
... 

    initializeApp() { 
    this.platform.ready().then(() => { 
... 
    FCMPlugin.getToken(
     function (token) { 
.... 

EXCEPTION: Error: Uncaught (in promise): ReferenceError: FCMPlugin is not defined

どうすればいいですか?

質問2

あなたのアプリからの通知を送信するためには、コルドバのプラグイン(cordova-plugin-fcm)は次のように指示します。

//POST: https://fcm.googleapis.com/fcm/send 
//HEADER: Content-Type: application/json 
//HEADER: Authorization: key=AIzaSy******************* 
{ 
    "notification":{ 
    "title":"Notification title", //Any value 
    "body":"Notification body", //Any value 
    "sound":"default", //If you want notification sound 
    "click_action":"FCM_PLUGIN_ACTIVITY", //Must be present for Android 
    "icon":"fcm_push_icon" //White icon Android resource 
    }, 
    "data":{ 
    "param1":"value1", //Any data to be retrieved in the notification callback 
    "param2":"value2" 
    }, 
    "to":"/topics/topicExample", //Topic or single device 
    "priority":"high", //If not set, notification won't be delivered on completely closed iOS app 
    "restricted_package_name":"" //Optional. Set for application filtering 
} 

これでも活字体やJavaScriptではありません。ではどこに行くの?私は分かりません。どんな助言も高く評価されます。

答えて

1

あなたはFCMPlugin.jsは、あなたのHTMLインデックスファイル アプリ 例のpluginsディレクトリにJSファイルのパスを見つけるに含まれている必要があります。MyFCM \プラグイン\コルドバ - プラグイン - FCM \ WWW \ FCMPlugin.js

app.controller('AppCtrl', function(FCMPlugin,$scope,$cordovaToast,$cordovaDialogs,ionPlatform) { 
    // call to register automatically upon device ready 
    ionPlatform.ready.then(function (device) { 
    console.log('I am working'); 
    FCMPlugin.onNotification(
     function(data){ 
     if(data.wasTapped){ 
      //Notification was received on device tray and tapped by the user. 
      $cordovaDialogs.alert(data.notification.body); 
     }else{ 
      //Notification was received in foreground. Maybe the user needs to be notified. 
      $cordovaDialogs.alert(data.notification.body); 
      //$cordovaToast.showShortCenter(JSON.stringify(data)); 
     } 
     }, 
     function(msg){ 
     $cordovaToast.showShortCenter('onNotification callback successfully registered: ' + msg); 
     }, 
     function(err){ 
     $cordovaToast.showShortCenter('Error registering onNotification callback: ' + err); 
     } 
    ); 
    }); 
}) 
+1

これは機能していますか? –

+0

私のコードバスアプリのために働いた – Amjad

0

私は同じerorを持っていました。

これを試してください。それは間違いなくあなたを助けるでしょう。

if (typeof FCMPlugin != 'undefined') { 

     FCMPlugin.getToken(function (token) { 
      console.log(token); 
     }); 
    } 

私は上記の条件を満たすと私の問題を解決します。

関連する問題