読者です 読者をやめる 読者になる 読者になる

アプリカンブログ

HTML5でiOS/Androidアプリが開発できるプラットフォーム、アプリカンのブログです。

DevOpsに!アプリカンのZipアップロードを自動化してみる

API アプリカン 開発

アプリカンアプリの開発では作成したコードをZip圧縮して、管理画面でアップロードする必要があります。時々であれば良いのですが、細かくUIや動作を修正してアップロードして確認というのは次第に手間に感じられるでしょう。

そこで今回はちょっとしたスクリプトを使って処理を自動化してみたいと思います。

処理内容

  1. webフォルダをZip圧縮
  2. アプリカンにログイン
  3. Zip圧縮したweb.zipをアップロード

webフォルダをZip圧縮

これをコマンドラインで実行すると、次のような処理になります。

rm -f web.zip
zip -r web.zip web

元々あったweb.zipを削除して、webフォルダをzipコマンドで圧縮しています。

アプリカンにログインする

アプリカンへのログインはCasperJSを使っています。ヘッドレスブラウザで有名なPhantomJSをラッピングしているライブラリです。

var casper = require('casper').create();

var params = {
  login_id: "LOGIN_ID",
  login_pswd: "LOGIN_PW"
};

casper.start('https://user.applican.com/login/index', function () {
  this.fill("#frm", params, true);
}).then(function() {
  this.echo('Logged in');
  // ログイン成功時の処理
});

このようにしてログイン画面を表示し、IDとパスワードを入力すればログインができます。

web.zipのアップロード

これはログイン後に行います。プロジェクトのアップロード画面を表示し、先ほど圧縮したweb.zipを指定します。

casper.start("https://user.applican.com/project/99999/app_data/upload", function() {
  this.click("label#drap_switch");
  this.fill("#frm", {
    "data[file]": "WEB_ZIP_PATH",
    "data[memo]": "",
    "data[type]": 1
  }, true);
}).then(function() {
  this.echo('Uploaded.');
});

このように処理を行うことでファイルのアップロードが完了します。

スクリプトの内容

実際のスクリプトは次のようになります。まずZip圧縮周りを行うスクリプトです。

#!/bin/bash

dir=`pwd`
p_dir=`dirname $dir`
cd $p_dir
rm -f web.zip
zip -r web.zip web
app.js $p_dir/web.zip $1 $2 $3

実際の使い方ですが、webフォルダの中で実行します。引数はアプリカンへのログインID、パスワードそしてプロジェクト番号になります。

upload.sh LOGIN_ID LOGIN_PW PROJECT_NUMBER

最後に実行している app.js というのはCasperJSを実行しているファイルになります。その内容は以下の通りです。

#!/usr/bin/env casperjs

var casper = require('casper').create();

var args = casper.cli.args;
if (args.length < 4) {
  casper.echo('Usage: app [login_id] [password] [project_number]');
  casper.exit();
}

// Casperを使ったスクレイピング処理
var webzip_path = args[0];
var project_id = args[3];
var params = {
  login_id: args[1],
  login_pswd: args[2]
};

casper.start('https://user.applican.com/login/index', function () {
  this.fill("#frm", params, true);
}).then(function() {
  this.echo('Logged in');
  casper.start("https://user.applican.com/project/"+project_id+"/app_data/upload", function() {
    this.click("label#drap_switch");
    this.fill("#frm", {
      "data[file]": webzip_path,
      "data[memo]": "",
      "data[type]": 1
    }, true);
  }).then(function() {
    this.echo('Uploaded.');
  });
});

casper.run();

実行してみる

では実際に実行してみます。

$ upload.sh moongift password 9999
  adding: web/ (stored 0%)
    :
  adding: web/web.zip (stored 0%)
Logged in
Uploaded.

このように出ればアップロード完了です。アップロード履歴を見てもちゃんとアップロードされているかと思います。

f:id:moongift:20151021140316p:plain


アップロードが自動化されると、開発から確認までのフローが高速化します。各端末のコンテンツは自動で更新されますので、確認を素早く行えるようになるでしょう。特にコマンドを実行するだけなので、GruntやGulpなどのタスクランナーと組み合わせた開発もできるでしょう。

ぜひ使ってみてください!

WebSocketを使ってIoTデバイスとアプリカンアプリの通信を試す

IoT アプリカン WebSocket IntelEdison

IoTという単語がよく聞かれるようになりましたが、マイコンやセンサーに慣れた組み込み系の人だけが楽しめるもののように感じてしまっていないでしょうか。スマートフォンも各種センサーがあり、ネットワークにも常時繋がっているなどIoTデバイスとして十分な性能を持っていますが、やはり小さなデバイス(ArduinoやIntel Edison、Raspberry Piなど)と接続したいと考える人は多いようです。

そこで今回はIoTデバイスとアプリカンをつなぐ方法について紹介します。使うのはNode.jsになりますので、アプリカンと同じくJavaScriptだけで作れるのが利点です。

WebSocketサーバを立てる

IoTデバイスとアプリカンアプリをつなぐのはWebSocketになります。WebSocketはサーバが必要になりますので、今回は母艦になるPC上に立ててみたいと思います。使うのはwebsocketserverというライブラリです。

mkdir websocket
cd websocket
npm init
npm install websocketserver --save

サーバのコードは今回は簡単にメッセージを受け取ったらサーバに繋がっている全クライアントに流すだけというものになります。コードは次のようになります。

var WebSocketServer = require("websocketserver");
var server = new WebSocketServer("all", 8080);

var connectionList = [];
server.on("connection", function(id) {
  console.log("connected:"+id);
  connectionList.push(id);
});

server.on("message", function(data, id) {
    var mes = server.unmaskMessage(data);
    var str = server.convertToString(mes.message);
    console.log(str);
});


server.on("closedconnection", function(id) {
    console.log("Connection " + id + " has left the server");
});

これを実行すると8080番ポートで待ち受け状態になります。

IoTデバイスを準備する

今回はIntel Edisonを使います。照度センサーをつけています。一番最初に読み込んでいるmraaというのはIntel Edisonから各種センサーを扱うのを手軽にしてくれるライブラリになります。内容はコメントを参照してください。

var mraa = require ('mraa');

// 照度センサーはアナログ0番に接続しています。
var light = new mraa.Aio(0);
// 明るさを格納する変数
var lightValue;

// WebSocketサーバに接続するクライアントを準備します。
var WebSocketClient = require('websocket').client;
var client = new WebSocketClient();

// 接続エラー時の処理
client.on('connectFailed', function(error) {
    console.log('Connect Error: ' + error.toString());
});

// 接続完了時の処理
client.on('connect', function(connection) {
  console.log('WebSocket Client Connected');
  
  // 接続した後でエラーが起きた場合
  connection.on('error', function(error) {
      console.log("Connection Error: " + error.toString());
  });
  
  // 接続が閉じた場合
  connection.on('close', function() {
      console.log('echo-protocol Connection Closed');
  });
  
  // メッセージを受信した時
  connection.on('message', function(message) {
    if (message.type === 'utf8') {
      console.log("Received: '" + message.utf8Data + "'");
    }
  });

  // 照度を送信する処理
  // 3秒ごとに実行しています
  function sendNumber() {
    if (connection.connected) {
      // 照度を計算しています
      lightValue  = light.read();
      lightValue = Math.round( lightValue*.1);
      
      // WebSocketサーバにUTFで送信します
      connection.sendUTF(lightValue);
      setTimeout(sendNumber, 3000);
    }
  }
  sendNumber();
});

// 今回は以下のアドレスに接続します
client.connect('ws://192.168.0.14:8080/');

実行すると、次のように3秒ごとに照度を計測し、その結果をWebSocketサーバに送信します。

f:id:moongift:20151021133911p:plain

アプリカンアプリの作成

アプリカンアプリはWebSocketアプリのデモコードを利用します。そして接続先だけ上記コードと同じアドレスに変更します。

openWebSocket = function() {
  applican.webSocket.open("ws://192.168.0.14:8080", // ここだけ変更
    webSocketOnOpen,
    webSocketOnMessage,
    webSocketOnClose,
    webSocketOnError
  );
};

これで準備は完了です。修正したコードをアプリカンの管理画面からアップロードしてアプリカンシミュレータ(iOS/Android)で確認してみましょう。

実行してみる

実行しているところです。照度が変化(指で隠すと暗くなります)すると、その値がアプリカンアプリに通知されます。

f:id:moongift:20151021133921p:plain

逆にアプリカンアプリからメッセージを送ることもできます。このメッセージはIoTデバイス側でも受信できますので、その内容に応じてセンサーを切り替えるようなことも可能です。下の画像のセンサーを変更と言うメッセージがそうです。

f:id:moongift:20151021133932p:plain


アプリカンアプリではWebSocketの他にもBluetoothを扱うこともできます。IoTのプロトタイプ開発ではNode.jsが利用されることが多々あります。アプリカンアプリ開発で培ったJavaScriptを使い、スマートフォンのAPIと組み合わせたIoTを楽しんでみてください。

アプリカン | アプリ開発支援プラットフォーム

ハッカソンでこそ使って欲しいアプリカンの真価!

アプリカン 開発

最近テック系のイベントが増えてきました。1日または2日間かけて行う開発系イベントとしてハッカソンが知られていますが、そのようなイベントの中でアプリカンを使ってもらえるケースが増えています。

そこで今回はなぜアプリカンがハッカソンに向いているか、7つの特長を挙げてみたいと思います。

1. HTML5/JavaScript/スタイルシートでアプリが作れる

f:id:moongift:20151019154635p:plain

アプリカンの最大の特徴はHTML5/JavaScript/CSSによるスマートフォンアプリ開発です。ハッカソンなどでは複雑な操作よりは明確な刺さるコンセプトの元に開発することが多いので、とにかく素早く開発できるのが大事になります。

UIを作る、イベントをつなげる、メモリ解放に気を遣う…などといった煩わしさはWeb開発において殆ど感じたことがないでしょう。そのままのやり方でスマートフォンアプリが開発できるのがアプリカンの魅力です。

2. すべてJavaScriptから操作できる

アプリカンのもう一つの特長にすべての操作がJavaScriptで行える点にあります。プラグインを追加したりする必要はありません。そのためiOS/Android向けに出しているアプリカンシミュレータをインストールすることで、アプリの動作をすべて体感できます。

JavaScriptだけでできるということは、Google ChromeなどのDevToolsを使ってWebブラウザ上でアプリ開発を行っていくことができます。わざわざスマートフォンに表示を切り替えることもありません。

3. アプリなのでネイティブな機能にもアクセスできる

とはいえできることがHTML5のAPIまでに限定されてはいません。ネイティブの機能とJavaScriptとをアプリカンがブリッジすることで、ネイティブでしかできない機能も利用できます。ビーコン、Bluetooth、カメラ、コンパス、コンタクト、データベース、アプリ内課金、通知など多くの機能が利用可能です。

4. HTTP通信を使えば外部のAPIにも簡単にアクセスできる

f:id:moongift:20151019154645p:plain

Webの特長と言えばHTTP通信を使った外部サービスとの連携にあるかと思います。他の言語でネットワーク接続を行う場合、幾つかの手順を踏んで行うかと思いますが、JavaScriptの場合はとても簡単に通信ができます。特にjQueryを使った経験があれば分かるかと思います。

ネットワーク機能を使うことでアプリは大きな可能性を持つことになるでしょう。各種Web APIと連携したり、クラウドストレージサービスにデータを保存して他のデバイスとデータを共有するのも難しくありません。

5.jQuery/AngularJS/Backbone.jsなど慣れたツールが使える

Web開発においてはすでに多数の有名なライブラリ、フレームワークが存在します。アプリカンではそれらのツールを一緒に扱うことができます。jQueryを使ってDOM操作を行ったり、AngularJSを使ってMVCを意識した開発もできます。

各種フレームワークが使えるということは、それらのフレームワーク周辺に存在する各種プラグインも使えるということです。それによってハッカソンの短い時間でも多機能かつ優れたUIをもったアプリが開発できるでしょう。

6. コンテンツをアップするだけでコンパイルレスで動作確認

アプリカンはコンテンツをWeb上のフォームでアップロードするだけでスマートフォンにコンテンツを反映することができます。つまりDevOpsのように開発から反映までの速度が高速化されるので素早い確認とフィードバックが可能になります。その点においてもアプリカンはハッカソンに向いていると言えるでしょう。

さらにアプリカンシミュレータを使っている限りはAppleの開発者証明書やAndroidの開発者向け設定も不要です。どんどん作り、試してアプリの精度をあげていけるはずです。

7. Webで培ったプロトタイプ開発の手早さでアプリ開発できる

Web開発を行ったことのある開発者の方であれば、プロトタイプ開発の大事さは分かるかと思います。まず簡単なモックを通してコンセプトを確認し、問題がなければさらに作り込んでいったり方向性を修正していきます。

アプリカンを使えばカジュアルに開発ができる分、まさにプロトタイプ開発の感覚でアプリ開発を進めることができます。何度も繰り返し確認を行っていくことで、アプリはどんどん充実していくはずです。


ハッカソンは限られた時間の中で成果を出さなければなりません。より高速、より表現力を高くしようと思ったらHTML5/JavaScript/CSSによるハイブリッドアプリには越えられない壁が存在するかも知れません。

しかしここ数年でハイブリッドアプリの実行速度が向上していること、そして殆どの場合においては速度よりも適切に動く方が大事だったりします。ハッカソンで勝つためにもぜひアプリカンを使ってみてください!

アプリカン | アプリ開発支援プラットフォーム

INFOSOUNDを使ったクーポン発行アプリの紹介

INFOSOUND API O2O アプリカン

音とマイクを使ったO2O技術であるINFOSOUND(インフォサウンド)をアプリカンで使ったデモアプリがどのように動くのか紹介します。

サマリー

  • アプリカンのサイト上で申し込みが必要
  • 必要なのは設定用のXMLファイルとJavaScriptコードだけ
  • クーポンなどを表示するのはとても簡単

注意点

INFOSOUNDを使う場合、アプリカン上で別途申し込みが必要になります。詳しくはINFOSOUNDオプション | アプリカン | アプリ開発支援プラットフォームをご覧ください。

設定ファイルについて

INFOSOUNDで感知するIDを指定する infosound-ids.xml を設定します。このファイルは次のような構成になっています。

<content-ids>
    <id>XXXXXXXXXXXXXXX</id>
    <id>YYYYYYYYYYYYYYY</id>
</content-ids>

このように複数のIDが指定できるようになっています。そして、 applican.infosound.startListening でINFOSOUNDの信号認識を開始します。

var mode = "TAG_ALL";
    
applican.infosound.startListening(mode, successCallback, errorCallback, tagCallback);

function successCallback () {
    var dump = "infosoundStartListening success";
    console.log(dump);
}

function errorCallback (errror) {
    var dump = "infosoundStartListening error\n";
    dump += "code:" + error.code + "\n";
    console.log(dump);
}

function tagCallback (contentsId) {
    var dump = "infosoundTagCallback\n";
    dump += "contents id : " + contentsId;
    console.log(dump);
}

INFOSOUNDを認識した時にコールバックが呼ばれますので、そのIDごとに処理分けができるようになっています。他のメソッドについてはInfosound | アプリカン | アプリ開発支援プラットフォームをご覧ください。

デモアプリの動き

初回起動時にはマイクへのアクセス許可が求められます。ここでOKをタップすれば認識が行えます。

f:id:moongift:20150920133242p:plain

そして音声認識が開始します。

f:id:moongift:20150920133302p:plain

音声が認識されたタイミングで、例えばこのようなクーポンを表示してあればOKです。

f:id:moongift:20150920133314p:plain


このような手順でとても簡単にINFOSOUNDを使ったO2O展開が可能になります。特にマイクを使っていますのでiBeaconで使うBLEのように対応機種の制限やオフになっている場合の操作など複雑な操作は不要となっています。

ぜひご利用ください!

Infosound | アプリカン | アプリ開発支援プラットフォーム

ビーコンからスタンプまで。O2Oデバイスまとめ

iBeacon INFOSOUND O2O

一般的にO2O施策を行う場合には施設や店舗に専用の機器を配置する必要があります。今回はそんなO2O用デバイスを技術別に紹介します。

ビーコン

iBeaconに代表されるビーコンデバイスを使う場合、BLEを発信できる機器を設置する必要があります。これは通常、専用のデバイスになっています。有名なところとしてはMyBeacon®シリーズ | 株式会社アプリックスEstimote Beacons — real world context for your appsがあります。

一つ数千円程度するものが多いですが、ボタン電池一つで数年間動くことや構造がシンプルであるために故障は多くない(ただし屋外などでは防水などを考える必要があります)のが特徴でしょう。

サウンド

音を使ったO2O試作としてはINFOSOUND(インフォサウンド)Air Stampが知られています。非可聴領域のサウンドを出しますので、使うのは普通のスピーカーでも大丈夫です。

スピーカーの音の中にはUDID相当のデータしか含まれませんので、そのIDを使ってサーバ上に問い合わせてはじめてメッセージの送信などができるようになります。そのためスマートフォン側のネットワークが必須でしょう。

スタンプ

紙のスタンプではなく、スマートフォンアプリ上に押すスタンプを使ったO2Oソリューションがあります。STAMP APPS SOLUTIONpopinfoスタンプHiTAP®(ハイタップ)などがあります。

専用の判子型デバイスを使いますので乗っ取られたり、UDIDをコピーされるといったリスクが少ないのが利点です。店舗のポイントカードを置き換えたり、スタンプラリーに使ったりと言ったことが考えられそうです。

NFC

ガラケーの頃から日本ではNFCがよく使われています。iPhoneでもようやくNFCを使えるようになったこともあり(まだApple Payに限定されていますが)、今後は利用範囲が広がっていくものと思われます。主な利用手段は決済が多いですが、タッチ式の仕組みは他にも使い道があるでしょう。

かざすクーポンのような施策であったり、入場管理システムで使われたりとタッチすることによる物理的なフィードバックは決して悪いものではありません。デバイスは専用の機器を購入する必要があります。

WiFi

WiFiのSSIDを検知してビーコンのように使うという方法があります。既存の機器を使えるのがメリットですが、iOSではアプリからWiFiの一覧はとれないので利用はAndroidに限定されるでしょう。

また、WiFiのSSIDは公開情報になってしまうので、そのSSIDをコピーされると予期しなかった動作につながる可能性もあります。WiFiは強度がとれるのがメリットですが、WiFi同士の干渉もあるので運用は注意が必要です。


O2Oデバイスは専用機器を用意しなければならないものが幾つかあります。その分敷居は高くなってしまうかと思いますが、より精度の高いデータがとれます。また、故障時などのメンテナンスコストも高くなってしまうでしょう。

サウンドやWiFiといったすでにある機器を使った場合は導入の敷居が低いのが利点です。手軽にはじめられるので、まずは実験的にはじめてみるのも良いかもしれません。

アプリカンはINFOSOUNDやiBeacon/ビーコンAPIに対応しています。ぜひお試しください!

インフォサウンドの活用法の紹介

O2O INFOSOUND アプリカン

インフォサウンドはスマートフォンのマイクと音を使ったO2O技術になります。マイクを使うのでビーコンデバイスが使うBluetoothのようにあらかじめオンにする必要がなく、多くのスマートフォンで利用可能な技術となっています。

今回はそんなインフォサウンドを使ってどんなことができるのか、活用方法を紹介します。

1. 音声ガイド

インフォサウンドの良いところはごく限られた範囲でのみ起動するといった指定ができることです。つまり、スピーカーの音量を調整するだけ範囲を絞り込むことができたり、指向性のあるスピーカーを使うことで利用領域を絞り込むことができます。

そのため博物館や美術館の中で置いてある作品の音声ガイド的なアプリを作るのに向いています。この場合、アプリを起動しているのが基本になりますので、バックグラウンドでは使えないと言った問題も回避できます。

2. クーポン発行

お店に入った段階でアプリを立ち上げるとクーポンが取得できる、いわゆるO2O的な施策として使うこともできます。アプリを起動する理由としてはチェックイン的な機能が優位になったり、クーポン取得のために起動してもらっても良いでしょう。

アプリを起動さえしてしまえば後は自動で音声を認識してクーポンの発行までつなげることができます。一旦サーバサイドでの検証を行いますので店舗に来ているというのが確実にとれるのも利点です。

3. WiFiパスワード発行

最近は多くのカフェやコワーキングスペースなどでWiFiを提供しています。しかしそのためにSSIDやパスワードを確認するのは面倒です。そこで使えるのがインフォサウンドによるWiFiパスワードの配布です。仕組みとしてはクーポンと同じですが、もっと気楽に立ち上げられるようになるでしょう。

4. モールの回遊率向上

モール内でインフォサウンドを使ったチェックインアプリを作り、要所に設置することでモール全体の回遊率を高めることができます。すべてのポイントを回ったら特別な特典が得られたり、ポイントを獲得できるようにしても良いでしょう。

店内でのスタンプなどの施策の場合、スタンプ台の用意や台紙の配布などでコストが割高になってしまいますが、アプリとインフォサウンドの場合は運用が手軽なのが良いところです。

5. 店舗のウェルカムメッセージ

インフォサウンドの良いところは感知するポイントを絞り込めることです。そのため施設の特定の場所(受付など)に訪れた際には特定のメッセージを出すと言ったことが実現できます。さらにスマートフォンならネットワークが使えますので顧客情報と結びつけてCRMとして活用したり、天気を表示すると言ったような使い方も考えられます。


O2O施策と聞くとついクーポンやチェックインが思いついてしまいますが、他にもアイディア次第で活用できる道はたくさんあります。インフォサウンドを活用し、リアルとネットワークを融合した施策を考えてみてください。

インフォサウンドとビーコンの違いについて知りたい5つのこと

Bluetooth INFOSOUND iBeacon ビーコン

多数あるO2Oの施策で、専用のデバイスを用いるものも幾つかあります。アプリカンではその内、インフォサウンドとiBeacon/ビーコンデバイスに対応しています。どちらも発生源に近づくとスマートフォンが反応するという意味では同じ分類のO2Oデバイスになります。

今回はそんなインフォサウンドとビーコンの違いについて紹介します。自社の考えるO2O施策においてどちらがベストか、参考にしてください。

1. ビーコンはBluetooth、インフォサウンドは音を使う

ビーコンはBluetooth(BLE)を発信します。対してインフォサウンドは可聴領域外の音をスピーカーから出します。そこが一番大きな違いになるかと思います。Bluetoothを使う場合、スマートフォンやタブレット側でBluetoothを有効にしなければなりませんが、これが一番大きな障壁になります。その点、インフォサウンドはマイクを使うので特に設定を変更する必要はありません。

f:id:moongift:20150909155257p:plain

ビーコンはOSで対応していることもあり、アプリがバックグラウンドになっていても範囲内に来たタイミングで通知を出すことができます。対してインフォサウンドではフォアグラウンドにある場合だけ利用ができます。そのためお店に来たタイミングなどでアプリを立ち上げてもらい、そこで通信を行うと言った仕組みが必要です。

2. ビーコンは距離が測定でき、インフォサウンドは指向性がある

ビーコンは強度を測定できるようになっています。その強度を使ってビーコンとスマートフォンの距離が測定できます。対してインフォサウンドは音量によって変わってしまうので細かく距離を測定することはできません。

その代わりにインフォサウンドは指向性あるスピーカーを使うことで反応する範囲を特定することができます。ビーコンの場合、デバイスを中心に全体に発信されますのでそのような制御はできません。

3. オフラインでも使えるビーコン

インフォサウンドの場合、デバイスの検証をサーバとの通信を介して行います。そのため、オフラインでは使えないという問題があります。スマートフォンではおおむね問題ないと思いますが、圏外になる場所では使えません。

ビーコンの場合、ローカル通知になるのでオフラインでも利用が可能です。ただしビーコンデバイスのUDIDが分かってしまうとビーコンデバイスを真似するのも難しくありません。そのためUDIDと位置情報を組み合わせた検証をサーバ上で行うなどセキュリティには気を配る必要があるかも知れません。

4. 狭い場所において有利ながらも干渉が発生するインフォサウンド

音を使っているということから互いのインフォサウンドデバイスにおける干渉については注意が必要です。あまり距離が近いと複数の音源を使ってサーバに問い合わせに行ってしまうかも知れません。ビーコンの場合は強度も組み合わせられますので位置について細かな判定が可能でしょう。

ただし音量を調整したり指向性あるスピーカーを用いることでごく狭い空間においても有利なのはインフォサウンドです。ビーコンは壁を通過してしまうので狭い空間にいくつも置いてしまうと確実な場所の把握は難しいかも知れません(via 【iBeacon特集4/4】iBeaconは障害物を貫通して通知できるの? | テクテク [techtech] -未来が見えるネタキュレーションサイト

5. シンプルに使えるインフォサウンド

インフォサウンドは音を使った仕組みなのでスピーカーは専用である必要はありません。すでにお店に設置してあるスピーカーを使うこともできます。特別な仕組みを用意しなくても良いのは魅力ですし、仕組みがシンプルなので故障する心配もあまりありません。

Bluetoothを使ったビーコンデバイスは若干複雑になります。強度がとれるなど、インフォサウンドにはない機能があったり、iOSやAndroidといったOSとの親和性が高いのも魅力と言えます。


いかがでしょうか。ビーコンとインフォサウンドはそれぞれ特性が異なりますので同じO2O施策でも向き不向きがあるかと思います。それらを見極めた上でぜひご利用ください。

アプリカンではJavaScriptでビーコン、インフォサウンドが利用できます。さらにAndroid、iOSの両方をワンソースで書けます!