Google Apps Scriptがβ版としてv8対応しています。v8版にすると、実行速度が向上するほか、constやasync/awaitといったモダンなJavaScriptで書けるようになります。
しかし、従来のGoogle Apps Script SDKは動作しなくなります。 ReferenceError: User is not defined
というエラーメッセージが出るようになります。対応を試みたのですが、うまくいきませんでした。
そこで、よりモダンな書き方でv8対応版としてGoogle Apps Script SDKを作り直しています。今回はデバイストークンの作成方法について解説します。
コードについて
コードはNCMBMania/ncmb_gas: Google Apps Script(v8対応版)のコードです。にアップロードしてあります。TypeScriptで書かれています。
コードは google/clasp: 🔗 Command Line Apps Script Projects を使ってGoogle Apps Script用のコードに変換しています。
使い方
スクリプトのIDは 1Z8Lezd0OS6qm9W0EVQxBGx1gztqD14kXPfQxycr_rc2atOfKujiWZe7I
になります。基本的に最新版を使うようにしてください。
初期化
以下はプリフィックスをNCMBとした場合のコードです。
const ncmb = NCMB.init('APPLICATION_KEY', 'CLIENT_KEY');
デバイストークンの作成法
デバイストークンを作成する際には new ncmb.Installation
を使ってください。後はJavaScript SDKと変わらず利用できます。
const installation = new ncmb.Installation; installation .set('deviceToken', 'aaa') .set('deviceType', 'ios') .set('applicationName', 'aaa') .save();
デバイストークンの検索
デバイストークンを検索する場合は ncmb.Installation.query()
でクエリオブジェクトが返ってきます。それを使ってデータストア同様に条件の指定が可能です。
const query = ncmb.Installation.query(); const installations = query.fetchAll(); Logger.log(installations);
まとめ
まだ機能は多くありませんが、旧版程度の機能まではすぐに実装していきます。v8版はJavaScriptがより書きやすくなっていますので、ぜひ移行してみてください。
デバイストークンの取得ができれば、個別のプッシュ通知に使ったり、配信ターゲットの指定にも活用できます。ぜひご利用ください。