NCMBでは管理画面を提供していますが、時々物足りないことがあります。この機能があったらもっと便利なのに…と思いつつ、使っている方もいることでしょう。
そこで、その足りない機能を補足するGoogle Chrome機能拡張を開発しはじめました。
動作について
動作は以下のようになります。機能拡張をインストールしていると、プッシュ通知の画面でレポートDLというボタンが表示されます。このボタンをクリックすると、表示されているプッシュ通知一覧のJSONダウンロードと、開封率などのレポートデータがダウンロードできます。
インストール
Chrome機能拡張のページからインストールしてください。
制限
この機能拡張は https://console.mbaas.nifcloud.com 以下でのみ動作します。また、この機能は管理画面のAPIを使っていますので、APIコール数を消費しません。また、ACLは無視して処理されます。
プッシュ通知は表示されているものについてのみダウンロードされます。つまり一度にダウンロードできるのは最大100件までになります。
ダウンロードされるJSONファイルのフォーマットは以下のようになります。
[
{
"objectId": "BAxO0kEGutNDdjmc", // オブジェクトID
"deliveryTime": { // 配信日時
"__type": "Date",
"iso": "2023-02-27T12:22:00.000Z"
},
"target": [ // 配信対象
"android"
],
"searchCondition": { // 絞り込み条件
:
},
"message": "これはお知らせです", // メッセージ本文
"userSettingValue": null, // ユーザー設定値
"deliveryExpirationDate": null, // 配信期限日時
"deliveryExpirationTime": "10 day", // 配信期限
"deliveryPlanNumber": 0, // 配信予定数
"deliveryNumber": 0, // 配信数
"status": 2, // ステータス
"action": "", // アクション(Android用)
"badgeIncrementFlag": true, // バッジインクリメントフラグ
"sound": null, // サウンド(iOS用)
"contentAvailable": false, // サイレントプッシュ用
"title": "最初のお知らせ", // タイトル
"createDate": "2023-02-26T12:23:30.396Z", // 作成日時
"updateDate": "2023-02-26T12:23:30.397Z", // 更新日時
"acl": { // アクセス権限
:
},
"dialog": false, // ダイアログ表示フラグ
"richUrl": null, // リッチプッシュ通知用URL
"error": {}, // エラー情報
"badgeSetting": null, // バッジ設定
"category": null, // カテゴリー
"report": { // レポート情報
"openStatus": {
"totalDeliveryNumber": 2, // 総配信数
"totalOpenNumber": 1, // 総開封数
"pushDeliveryNumber": 0, // 今回のプッシュ通知の配信数
"pushOpenNumber": 0 // 今回のプッシュ通知の開封数
},
"openData": [
{
"objectId": "BK40z1FUGw4s5xIa", // 開封データのobjectId
"pushId": "XR4hOYxaJXJEsNq9", // プッシュ通知のobjectId
"openDateTime": "2022091417", // 開封日時
"totalOpenNumber": 1, // 開封数
"iosOpenNumber": 0, // iOSの開封数
"androidOpenNumber": 1, // Androidの開封数
"createDate": "2022-09-14T08:35:02.399Z", // 作成日時
"updateDate": "2022-09-14T08:35:02.399Z" // 更新日時
}
]
}
},
: // 以下繰り返し
]
コードについて
機能拡張のコードはNCMBMania/chrome-extensionにアップロードしてあります。ライセンスはMIT Licenseです。依存ライブラリとしてURL.jsを使っています(こちらもMIT Licenseです)。
まとめ
機能的にはまだ多くありませんが、徐々に機能を追加していきます。Google ChromeでmBaaSの管理画面を利用されている方はぜひお使いください。