2017-07-01 10 views
0

私はtutorial on the PhoneGap documentationに従っていますが、これはサンプルアプリケーションでうまくいきましたが、自分のアプリケーションを作成するときには、PushNotificationオブジェクトをシングルページアプリケーションに取得する方法を見つけることができません。プッシュサービスなしでphonegapアプリから通知を開始するにはどうすればよいですか?

私はPhoneGapのはconfig.xmlにに基づいて、神秘的なcordova.jsファイルを構築し、PushNotificationは、この謎のファイル内のルートwindowスコープに追加されていることをされていることを推測しています。私WWW/index.htmlを

  • <plugin name="phonegap-plugin-push"てください...私のconfig.xmlにあるファイルに<script src="cordova.js"></script>含める

    これまでのところ、私が試してみました...

    • アプリのJavaScriptにif (typeof PushNotification === 'undefined') { alert("No PushNotification"); }を追加しました。これは、ブラウザでローカルでテスト(コードバスファイルは明らかに見つかりません)と、Androidデバイス上のPhoneGapアプリを介してテストする場合の両方で常に起きるようです。
  • 答えて

    0
    push.on('notification', function(data) { 
        console.log('notification event'); 
        navigator.notification.alert(
        data.message,   // message 
        null,     // callback 
        data.title,   // title 
        'Ok'     // buttonName 
    ); 
    }); 
    

    上記イベントハンドラは、アプリケーションがプッシュ通知(通知イベント)を受信のみ場合呼び出さトリガされます。

    phonegap-plugin-pushがどのように開発されているのかをご存知ですか? できない場合はをトリガーします。プッシュ通知が受信された場合にのみ発生します。

    プラグインを追加して、これらの行をアプリに追加することができます。これにより、通知が正しく受信されるはずです。 が

    cordova plugin add phonegap-plugin-push 
    phonegap plugin add phonegap-plugin-push 
    

    が、その後OnDeviceReady後にjsファイルに直接PushNotificationを開始し、あなたのアプリケーションに応じコルドバやPhoneGapのいずれかを使用してプラグインを追加し、

    var push = PushNotification.init({ 
        android: { 
         "senderID": "XXXXXXXX" //Your sendeer ID from Firebase Cloud Messenger (FCM) 
        }, 
        browser: { 
         pushServiceURL: 'http://push.api.phonegap.com/v1/push' 
        }, 
        ios: { 
         alert: "true", 
         badge: "true", 
         sound: "true" 
        }, 
        windows: {} 
    }); 
    
    push.on('registration', function(data) { 
        // data.registrationId 
        //store this in your server for future use 
    }); 
    
    push.on('notification', function(data) { 
        // data.message, 
        // data.title, 
        // data.count, 
        // data.sound, 
        // data.image, 
        // data.additionalData 
    }); 
    
    push.on('error', function(e) { 
        // e.message 
    }); 
    
    +0

    ありがとうございました。私が抱えている問題は、 '' phonegap-plugin-push "'が '' config.xml'にあるにもかかわらず '' PushNotification'が未定義で、 '' deviceready'の後に通知を設定しようとしていることです。まだ 'PushNotification'はありません。おそらく、私はそのアプリのローカルウェブ版をテストしているからでしょう。 – Luke

    +0

    オハイオ州、申し訳ありません。 - アプリを実行する前に、デバイスのネット接続を確認してください。 'init()'関数は、デバイスをFCMに登録するためのインターネットが必要です。私はこれを何度も忘れていて、 'PushNotification is available'エラーを得ました。 –

    関連する問題