はじめに
このTipsでは、kintone & Monaca連携で「来場者管理アプリ」を作成してみたいと思います。
「来場者管理アプリ」はイベント開催時に来場者が持っているQRコードを読み込むだけで、kintoneアプリにレコードを登録できます。
さらにkintoneで来場者数を集計し、手元のモバイルに表示してくれるモバイルアプリです。
連携の完成イメージ
下準備
- kintone環境
開発者ライセンスをおすすめします。
取得方法は kintone開発者ライセンス(開発環境) を参照ください。 -
Monaca Cloud
すぐにお試しできます。 -
Monacaデバッガー
テストを効率化できるモバイルアプリです。
kintoneアプリの作成
今回はレコードを登録して集計を取るだけなので、フォームにはフィールドを置かずにアプリを作成します。
また、集計を取るために大項目を「作成者」に設定したグラフをひとつ作ります。
あとで、サブドメイン名、アプリID、ログイン名とパスワード(アプリのAPIトークン可)を設定します。
Monaca Cloud
Monacaとは
Monacaはアシアル株式会社が提供するモバイル向けアプリの開発環境の呼称です。
HTML5とJavaScriptを用いることで、iOSとAndroidの両OSに対応したクロスプラットフォームなアプリ開発ができるクラウドベースの開発プラットフォームです。
また、MonacaではWebブラウザーを通じて全サービスが提供されます。
そのため、クライアントソフトをインストールしなくても誰でも簡単にアプリを開発できます。
Monacaプロジェクト
monaca-project-kintoneVisitors.zip
をPCにダウンロードして、
Monaca Dashboard
にインポートします。
プロジェクト名は任意でわかりやすい名前にしましょう。
次の画像はmonaca-project-kintoneVisitors.zipをインポートした後の画面です。
index.htmlのプログラムを表示しています。
reader.html
QRコードを読み込んで、kintoneアプリにレコード登録する画面です。
counter.html
kintoneアプリからレコード件数を取得して来場者数を表示する画面です。
setting.html
kintoneアプリにアクセスするための情報を設定する画面です。
ここでは以下の情報を設定しています。
- APIトークン認証とログイン認証の対応
- Basic認証への対応
- 入力した認証情報での接続チェック
- 設定情報の削除
app.jsの一部解説
QRコード読み込み、集計、認証情報チェックを行うプログラムです。
readCode()
SweetAlert
を使ってダイアログを表示します。
correctText
では、QRコードに埋め込まれている文字列を定義します。
window.plugins.barcodeScanner.scan
はバーコードをスキャンするための関数です。
|
|
sendRequest()
loadStorage()
では、setting.jsで保存しているローカルデータを取得します。
setAuthorization(objStorage)
では、kintoneへアクセスするためにsetting.jsで保存した認証情報を変更します。
$http(request).success
では、
AngularJS
のHTTPリクエスト手法を使用しています。
|
|
setting.jsの一部解説
kintoneアプリにアクセスするための情報を設定するプログラムです。
setAuthorization()
認証情報をkintoneへアクセスするために改変しています。
Underscore.js
にある_.isEmpty
という関数を使用しています。
認証方式は
認証
を参考にしてください。
|
|
loadStorage()
localStorage
はWeb Storageの機能のひとつで、クッキーのようにブラウザーでデータを文字列やオブジェクトで保存できるしくみです。
localStorage.getItem('key')
でデータを取得し、localStorage.setItem('key', 'Loginname')
でデータを保存します。
|
|
動作確認
1. 認証情報を設定する
Monacaデバッガーで自身のアカウントにログインし、表示されたプロジェクト一覧で先ほどインポートしたアプリを起動させます。
kintoneアプリにアクセスするための認証情報を設定します。
メニューの「Settings」とういうタブをクリックしてください。
「Connection Check」リンクをクリックすると接続を確認できます。
- サブドメイン
- ドメイン
初期値はcybozu.com
です。
必要に応じて変更してください。 - アプリID
- APIトークンまたはログイン名/パスワード
- Basic認証のログイン名/パスワード(Basic認証が有効な場合)
2. トップ画面に移動する
3. QRコードを読み込む
その後、「Read QRCode」をクリックし、次のサンプルQRコードを読み込みます。
4. モバイルアプリの表示内容を確認する
読み込みが成功したら、「Success」とダイアログで表示されます。
5. 集計する
メニューにある「Counter」というタブをクリックすると、読み込みに成功した回数分の数字が表示されます。
サンプルを改良することで、クエリによる絞り込みができます。
6. PCのブラウザーでkintoneアプリにデータが登録されているのかを確認してみる
kintoneのアプリを開いて、レコードが登録されているかを確認します。
また、事前に作成したグラフを表示して集計結果を確認します。
下の画像は一覧の設定で「作成日時」を追加した一覧画面です。
フォームに何もおかなくても、一覧で作成日時を置くことができます。
おわりに
いかがでしたでしょうか。
今回は来場者数の集計を取るだけでしたが、このアプリを応用すると来場者の情報収集や出欠確認ができます。
集計された情報を活かして次のイベントへつなげられるようになるので、ご興味のある方はぜひ試してみてください。
参考記事
Monacaを利用して「陳列場所確認アプリ」というモバイルアプリを作成する方法を紹介した記事があります。
kintoneとMonacaを連携してみよう(陳列場所確認アプリ編)
もぜひ参考にしてみてください。