1

GCM を使用して、ユーザーのブラウザーに通知を送信しました。使用したGCMサービスを登録するには

function registerCallback(registrationId) {
  if (chrome.runtime.lastError) {
    // When the registration fails, handle the error and retry the
    // registration later.
    return;
  }

  // Send the registration token to your application server.
  sendRegistrationId(function(succeed) {
    // Once the registration token is received by your server,
    // set the flag such that register will not be invoked
    // next time when the app starts up.
    if (succeed)
      chrome.storage.local.set({registered: true});
  });
}

function sendRegistrationId(callback) {
  // Send the registration token to your application server
  // in a secure way.
}

chrome.runtime.onStartup.addListener(function() {
  chrome.storage.local.get("registered", function(result) {
    // If already registered, bail out.
    if (result["registered"])
      return;

    // Up to 100 senders are allowed.
    var senderIds = ["Your-Sender-ID"];
    chrome.gcm.register(senderIds, registerCallback);
  });
});

私の拡張機能は GCM との接続を取得しており、ユーザーのブラウザーに通知を送信しています。私の質問は、ユーザーが拡張機能をアンインストールするときに GCM トークンを登録解除する方法です。Chrome 拡張機能にはアンインストール イベントはありません。Chrome拡張機能でGCM接続コードの登録解除をどこに書くべきか教えてください。

拡張機能 (background.js、contentscript.js) でこのコードを記述する場所。

function unregisterCallback() {
  if (chrome.runtime.lastError) {
    // When the unregistration fails, handle the error and retry
    // the unregistration later.
    return;
  }
}

chrome.gcm.unregister(unregisterCallback);
4

1 に答える 1