1

マニフェスト.json:

{
   "app": {
      "background": {
         "scripts": [ "background.js" ]
      }
   },
   "key": "...",
   "manifest_version": 2,
   "name": "Push Sample",
   "permissions": [ "notifications", "pushMessaging" ],
   "version": "1.0"
}

background.js:

chrome.runtime.onInstalled.addListener(
    function() {
        chrome.pushMessaging.onMessage.addListener(
            function (message) {
                chrome.notifications.create(
                    '',
                    {
                        type: 'basic',
                        iconUrl: 'icon24.png',
                        title: 'The Title',
                        message: message.payload
                    },
                    function (notificationID) {
                    }
                );
            }
        );
    }
);

それがアプリ全体です。HTML ページ (ウィンドウは作成されません) も他の JavaScript もありません。

バックグラウンド ページがアクティブな場合、アプリは正常に動作し、画面の右上に通知メッセージのポップアップが表示されます。(私のサーバーが使用するチャンネル ID を表示するために一時的に持っていたコードは示されていません。サーバーは、Chrome サービス用の Google Cloud Messaging を使用する PHP プログラムです。問題ないようです。)

ただし、数秒間何もしないと、アプリが非アクティブになります。Chrome の [拡張機能] ページで、次の行:

Inspect views: background page

変更:

Inspect views: background page (Inactive)

メッセージが送信されると、その行はアクティブな状態 (「(非アクティブ)」部分のない「バックグラウンド ページ」に変わります。これは、メッセージが何らかの意味で受信されたことを示します。ただし、通知コードはポップアップにはなりません。 .

JavaScript コンソールが開いているとき、アプリはアクティブなままで動作するため、ロギングの何が問題なのかを判断できません。

質問: 拡張機能ページのステータス表示によると、メッセージの到着時にアプリが起動しているように見えますが、機能していません。理由を知っている人はいますか?

バグ ファイル: Chrome の安定版 (ベータ版ではない) を含め、さらに多くのテストを行いました。OS X、Chrome OS、および Windows で試しました。同じこと。私が提出した問題は次のとおりです: https://code.google.com/p/chromium/issues/detail?id=316315

4

2 に答える 2

1

バグのように聞こえます。http://crbug.com/netにファイルを作成し、サンプル コードを含めてください。質問を更新して課題にリンクし、他のユーザーがスターを付けてステータスを追跡できるようにします。

于 2013-11-07T00:20:59.633 に答える