iOSとAndroid向けのアプリ開発を効率化することができる注目のApache Cordova
HTML5でのアプリケーション開発においてもそのアプリの利用状況を把握したい!
ということで、Apache CordovaのアプリにAWS Javascript SDKを使ってAmazon Mobile Analyticsのインプリしてみます。
##Amazon Congnitoの設定
Amazon Mobile Analyticsを使うためにCognitoの設定を行います。
Amazon Cognitoの画面からCreate identity Poolをクリックします。
今回は、Unauthenticated Identitesを使うので、チェックボックスをオンにします。
作成されたUnauthenticatedのIAMロールにMobile AnalyticsへのPut Eventを許可する権限を付与します。
IAMのコンソールで当該のロール開いて、Attach Policyを選択します。
Inline Policiesにロールを追加します。
Create Role Policy → Policy Generatorを開きます。
Amazon Mobile AnalyticsのPutEventを許可(今回リソースは*にしました。厳密には、ARNを指定すること)
##Amazon Mobile Analyticsの設定
マネジメントコンソールからAmazon Mobile Analyticsを選択します。
Create Mobile Analytics Appをクリックし、アプリケーション名を入力します。
あとで、App IDが必要になるのでApp IDをメモ帳などにコピーしておいてください。
##Apache Cordovaアプリ開発
Intel Edisonの開発でIntel XDK for IoTを使ってた背景で、Intel社が提供しているIntel XDKを使ってみます。
Intel XDKの使い方などはこちらをご覧ください。
新しいプロジェクトを作ります。
HTML5 + Cordovaを選択してください。
Developタブを開いて実装します。
AWS SDK for Javascript及ぶAmazon Mobile Analytics SDK for JavaScriptをダウンロードしてプロジェクトフォルダ内のwww¥jsにいれます。
実装は、このブログを参考に実装します。
変更点は以下の部分です。
console.log('Analytics initializing');
AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'CognitoのIdentityPoolIDを入れてください',
RoleArn:'MobileAnlyticsのRole ARNを入れてください',
});
var options = {
appId : 'Mobile AnalyticsのApp ID',
platform: 'iPhoneOS',
autoSubmitEvents: true,
autoSubmitInterval: 1000
};
this.mobileAnalyticsClient = new AMA.Manager(options);
あとは、Run My Appをクリックしてエミュレータを起動します。
ブログのソースでは、スクリーンをタッチするだけでカスタムイベントが飛ぶようになってます。
Mobile Analyticsのマネジメントコンソールでは以下のようなグラフで確認できます。
最後に
Amazon Mobile Analytics SDK for JavascriptがでたことでブラウザはもちろんHTML5アプリケーション上での分析もMobile Analyticsを用いることができます。
Amazon Mobile Analyticsは、S3やRedshiftへのロードも自動的にできるようになっているので、マネジメントコンソールでの確認だけでなく他のデータと合わせた分析を行うこともできます。
免責
こちらは個人の意見で、所属する企業や団体は関係ありません。