Chrome 拡張機能 API

Web SDK Chrome Extension API (日本語版)

SDKの初期化

インターフェース説明

無効ユーザーの大量発生を防止するため、初期化時に一意かつ一貫性のあるuser_strを使用することを推奨します。user_strはブラウザフィンガープリントを基に生成できます。

呼び出し例

if (window.MTpushInterfaceExtension) { window.MTpushInterfaceExtension.initSdk({ appkey: '', user_str: '', }); }
              
              if (window.MTpushInterfaceExtension) {
  window.MTpushInterfaceExtension.initSdk({
    appkey: '',
    user_str: '',
  });
}

            
このコードブロックはフローティングウィンドウ内に表示されます

パラメータ説明

interface InitType { appkey: string; // EngageLabプラットフォームで登録したアプリケーションのappkey(必須) user_str: string; // 一意なユーザー識別子(必須) }
              
              interface InitType {
  appkey: string; // EngageLabプラットフォームで登録したアプリケーションのappkey(必須)
  user_str: string; // 一意なユーザー識別子(必須)
}

            
このコードブロックはフローティングウィンドウ内に表示されます

結果取得

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { // SDK初期化成功 case 'MTPUSH_INIT_SDK_SUCCESS': console.log(message.data); break; // SDK初期化失敗 case 'MTPUSH_INIT_SDK_FAIL': console.log(message.data); break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    // SDK初期化成功
    case 'MTPUSH_INIT_SDK_SUCCESS':
      console.log(message.data);
      break;

    // SDK初期化失敗
    case 'MTPUSH_INIT_SDK_FAIL':
      console.log(message.data);
      break;
  }
});

            
このコードブロックはフローティングウィンドウ内に表示されます

message.dataの構造:

interface MessageData { code: number; // ステータスコード(0:成功, 他:失敗) message: string; // 結果説明 content: string; // エラーコード1003時に失敗情報を返す }
              
              interface MessageData {
  code: number;   // ステータスコード(0:成功, 他:失敗)
  message: string; // 結果説明
  content: string; // エラーコード1003時に失敗情報を返す
}

            
このコードブロックはフローティングウィンドウ内に表示されます

アプリケーションの無料トライアル期限切れや有料プラン終了により拡張機能の統合が失敗した場合、新しいページが開かれるか既存ページがリフレッシュされた後、4時間後に初期化プロセスが再試行されます。

RegistrationIDの取得

インターフェース説明

regidを手動で取得するAPI呼び出しは不要です。SDKの初期化が成功したら、MTPUSH_GET_MT_INIT_INFOイベントからregidを取得できます。

呼び出し例

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_GET_MT_INIT_INFO': console.log(message.data.regid); break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_GET_MT_INIT_INFO':
      console.log(message.data.regid);
      break;
  }
});

            
このコードブロックはフローティングウィンドウ内に表示されます

返却結果

interface MTInitInfo { website_push_id: string; code: number; master_secret: string; passwd: string; pull: number; regid: string; // 登録ID sess: string; tagalias: number; uid: number; vapid_pubkey: string; }
              
              interface MTInitInfo {
  website_push_id: string;
  code: number;
  master_secret: string;
  passwd: string;
  pull: number;
  regid: string;  // 登録ID
  sess: string;
  tagalias: number;
  uid: number;
  vapid_pubkey: string;
}

            
このコードブロックはフローティングウィンドウ内に表示されます

プッシュ通知の停止

インターフェース説明

このAPIを呼び出すと、バックエンドとの永続的なプッシュ接続を切断し、プッシュメッセージの受信を停止します。

呼び出し例

window.MTpushInterfaceExtension.stopPush();
              
              window.MTpushInterfaceExtension.stopPush();

            
このコードブロックはフローティングウィンドウ内に表示されます

プッシュサービス状態の確認

インターフェース説明

プッシュサービスの状態情報を取得します。

呼び出し例

// SDK初期化成功後に呼び出し window.MTpushInterfaceExtension.getPushAuthority(); // メッセージ監視でプッシュ状態を取得 chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_GET_PUSH_AUTHORITY': console.log('プッシュサービス状態: ', message.data); break; } });
              
              // SDK初期化成功後に呼び出し
window.MTpushInterfaceExtension.getPushAuthority();

// メッセージ監視でプッシュ状態を取得
chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_GET_PUSH_AUTHORITY':
      console.log('プッシュサービス状態: ', message.data);
      break;
  }
});

            
このコードブロックはフローティングウィンドウ内に表示されます

返却結果

{ "mtPush": { "code": 1, // 1:成功, -1:初期化中, 0:失敗 "msg": "MTpushチャネル初期化成功!" }, "webPush": { "code": 1, // 0:Webpush不可(未サポート), 1:利用可能, 2:不可 "msg": "通知が利用可能" } }
              
              {
  "mtPush": {
    "code": 1, // 1:成功, -1:初期化中, 0:失敗
    "msg": "MTpushチャネル初期化成功!"
  },
  "webPush": {
    "code": 1, // 0:Webpush不可(未サポート), 1:利用可能, 2:不可
    "msg": "通知が利用可能"
  }
}

            
このコードブロックはフローティングウィンドウ内に表示されます

タグとエイリアスの設定

インターフェース説明

特定のエイリアス配下でタグの設定・削除が可能です。上書きロジックを使用し、空のタグ配列を設定すると既存タグが削除されます。

呼び出し例

window.MTpushInterfaceExtension.setTagsAlias({ tags: ["test1", "test2"], alias: "aliass" });
              
              window.MTpushInterfaceExtension.setTagsAlias({ tags: ["test1", "test2"], alias: "aliass" });

            
このコードブロックはフローティングウィンドウ内に表示されます

パラメータ説明

パラメータ タイプ 説明
tags string[] 必須(最大配列長1000/各要素40文字まで)
alias string 必須(最大40文字)

返却結果

設定結果のメッセージ監視:

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_SET_TAGS_ALIAS_SUCCESS': console.log('設定成功'); break; case 'MTPUSH_SET_TAGS_ALIAS_FAIL': console.log('設定失敗', message.data); // 失敗情報: string[] break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_SET_TAGS_ALIAS_SUCCESS':
      console.log('設定成功');
      break;

    case 'MTPUSH_SET_TAGS_ALIAS_FAIL':
      console.log('設定失敗', message.data); // 失敗情報: string[]
      break;
  }
});

            
このコードブロックはフローティングウィンドウ内に表示されます

カスタムメッセージレポート

インターフェース説明

データ統計用にカスタムメッセージをレポートする場合は、このカスタムレポートインターフェースを使用します。

呼び出し例

window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id: カスタムメッセージID
              
              window.MTpushInterfaceExtension.customClickReport('msg_id'); // msg_id: カスタムメッセージID

            
このコードブロックはフローティングウィンドウ内に表示されます

プッシュメッセージ表示コールバック

インターフェース説明

SDK初期化完了後、MTPUSH_MSG_CALLBACK_DISPLAYイベントを監視するとプッシュメッセージの表示コールバック情報を受け取れます。

使用例

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_MSG_CALLBACK_DISPLAY': console.log(message.data); break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_MSG_CALLBACK_DISPLAY': 
      console.log(message.data);
      break;
  }
});

            
このコードブロックはフローティングウィンドウ内に表示されます

パラメータ説明

コールバックパラメータmessage.data

{ title: string; content: string; msg_id: string; ntf_or_msg: number; engagelab_appkey: string; engagelab_passwd: string; engagelab_uid: string; engagelab_url: string; type: string; // 0:Engagelabチャネルメッセージ 1:システムチャネルメッセージ }
              
              {
  title: string;
  content: string;
  msg_id: string;
  ntf_or_msg: number;
  engagelab_appkey: string;
  engagelab_passwd: string;
  engagelab_uid: string;
  engagelab_url: string;
  type: string; // 0:Engagelabチャネルメッセージ 1:システムチャネルメッセージ
}

            
このコードブロックはフローティングウィンドウ内に表示されます

プッシュメッセージクリックコールバック

インターフェース説明

SDK初期化完了後、MTPUSH_MSG_CALLBACK_CLICKイベントを監視するとプッシュメッセージのクリックコールバック情報を受け取れます。

使用例

chrome.runtime.onMessage.addListener((message) => { switch (message.type) { case 'MTPUSH_MSG_CALLBACK_CLICK': console.log(message.data); break; } });
              
              chrome.runtime.onMessage.addListener((message) => {
  switch (message.type) {
    case 'MTPUSH_MSG_CALLBACK_CLICK': 
      console.log(message.data);
      break;
  }
});

            
このコードブロックはフローティングウィンドウ内に表示されます

パラメータ説明

{ title: string; content: string; msg_id: string; ntf_or_msg: number; engagelab_appkey: string; engagelab_passwd: string; engagelab_uid: string; engagelab_url: string; position: string; // クリック位置 'msgBody'|ボタンID type: string; // 0:Engagelabチャネルメッセージ 1:システムチャネルメッセージ }
              
              {
  title: string;
  content: string;
  msg_id: string;
  ntf_or_msg: number;
  engagelab_appkey: string;
  engagelab_passwd: string;
  engagelab_uid: string;
  engagelab_url: string;
  position: string; // クリック位置 'msgBody'|ボタンID
  type: string; // 0:Engagelabチャネルメッセージ 1:システムチャネルメッセージ
}

            
このコードブロックはフローティングウィンドウ内に表示されます

注: EngageLabチャネル配信の場合、クリックコールバックのtitlecontentパラメータは最大30文字まで返却されます。

エラーコード一覧

コード メッセージ 説明
0 success 呼び出し成功
1000 unknown error 未知のエラー
1001 initing , please try again later 初期化中(後ほど再試行してください)
1002 invalid config 無効な初期化設定
1003 init failed 初期化失敗(詳細はコンソールログを確認)
1004 init timeout 初期化タイムアウト
1005 network error ネットワークエラー(接続不可/WebSocket接続失敗)
icon
お問い合わせ