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チャネル配信の場合、クリックコールバックの
title
とcontent
パラメータは最大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接続失敗) |