0
0

More than 1 year has passed since last update.

NCMBの管理画面を使いやすくするChrome機能拡張の紹介(プッシュ通知のエクスポート)

Last updated at Posted at 2023-04-08

NCMBでは管理画面を提供していますが、時々物足りないことがあります。この機能があったらもっと便利なのに…と思いつつ、使っている方もいることでしょう。

そこで、その足りない機能を補足するGoogle Chrome機能拡張を開発しはじめました。

動作について

動作は以下のようになります。機能拡張をインストールしていると、プッシュ通知の画面でレポートDLというボタンが表示されます。このボタンをクリックすると、表示されているプッシュ通知一覧のJSONダウンロードと、開封率などのレポートデータがダウンロードできます。

push.mov.gif

インストール

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の管理画面を利用されている方はぜひお使いください。

mBaaSでサーバー開発不要! | ニフクラ mobile backend

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0