Beacappを使って簡単なアプリを作ってみる（準備編）


Beacappを使った、簡単なibeacon対応アプリの作り方を紹介いたします。



##Beacappとは？
![スクリーンショット 2016-06-27 午後4.23.08.png](https://qiita-image-store.s3.amazonaws.com/0/130138/3805e8f4-588e-87db-f22a-821527050f19.png "スクリーンショット 2016-06-27 午後4.23.08.png")
Beacappは、iBeaconを管理するためのプラットフォームです。
提供しているものは、クラウド上の管理システムと、iOS/Android向けのSDKになります。

CMS上に、Beacon情報を登録して、イベント(*)と呼んでいる定義を登録すれば、あとはSDKが自動的に反応して、アプリケーションに通知をしてくれる、とても便利なサービスです。

３ヶ月間は無料で使えるので、是非登録して動かしてみてください。

## 環境準備
今回の開発に必要なものは以下の通りです。

* ビーキャップのアカウント(３ヶ月無料)
* iPhone (iOS 7.0以上)
* Beacon端末または、iPhone(発信端末として使います)
* Mac (OS X EL Capitan)
	* Xcode 7.3.1
	* Cocoapods 1.0.1



## Beacappでの登録方法
Beacappへの登録は以下サイトのお申し込みから可能です。
http://www.beacapp.com

必要な情報を入力すると、メールが届きますので、メールに従ってログインしてください。
ログインURLは登録したアカウントごとに異なりますので、メールは大切に保管しましょう。

### まずは、アプリケーションの登録
まず、使用したいアプリケーションの情報を登録します。
これを登録することで、同じBeaconを検知した場合でも、アプリごとに異なるイベントを通知することができるようになっています。

左側のメニューから、Appを選択し、「新規アプリ追加」ボタンを押下します。
アプリケーションには以下の項目を設定できます。

* __アプリ名称__：任意のアプリ名称を登録できます。
* __アプリ識別子__ (※1)：アプリケーションの識別子を登録します。
* __タグ__ (※2)：任意のタグを登録します。
* __アイコン画像__ (※2)：画面表示用のアイコンを登録できます。


(※1) アイコン識別子は、認証のために必要な情報で、iOSの場合は「Bundleidentifier」
Androidの場合は、「Package Name」が該当します。
ここを正しく設定しないと、SDKが認証エラーとなります。
(※2) タグ、アイコンは任意です。

アプリケーションの登録が完了したら、ダッシュボード画面からアプリケーションを選択できます。
登録したアプリ画面に遷移すると、「アクティベーションキー」と「シークレットキー」が表示されています。
後で、SDKを使うときに必要になりますので、覚えておいてください。
![スクリーンショット 2016-06-27 午後4.32.06.png](https://qiita-image-store.s3.amazonaws.com/0/130138/3dbffda4-44c7-01d6-9249-775c2d8d6bb5.png "スクリーンショット 2016-06-27 午後4.32.06.png")


### 続けて、Beaconの登録
アプリケーションの登録ができたらBeacon情報を登録しましょう。
左側のメニューから、Beaconを選択し、「新規Beacon追加」ボタンを押下します。
Beaconには以下の項目を設定できます。

* __UUID__：[8桁]-[4桁]-[4桁]-[4桁]-[12桁] の、それぞれ16進数文字列
* __Major__：0〜65534 (整数値)
* __Minor__：0〜65534 (整数値)
* __タグ__：任意の文字列を設定できます
* __位置情報__：地図からBeaconを設置した位置情報を指定できます。
* __なりすまし検知__：Beacon検知時のGPS情報と、登録した位置情報を比較して、ずれが大きい場合には、イベントを通知させない設定が可能です。位置情報を入力した場合に、設定可能です。

なお、UUIDの指定は必須となります。
Major,Minorコードは指定しないことも可能です。

指定しない場合、Major,Minorコードに関わらず、同一のUUID全てのBeacon端末を指します。
UUID、Majorコードまでを指定した場合は、Minorコードを無視したBeacon端末を指します。



CSVでの一括登録も可能です。

### 最後に、イベントを登録します。
イベントはアプリケーションに紐付けて登録するため、まずは、アプリケーションを選択します。
左側のメニューから、Appを選択し、最初に作成したアプリを選択してください。
画面中央にEventタブが表示されますので、選択します。
![スクリーンショット 2016-06-27 午後4.39.06.png](https://qiita-image-store.s3.amazonaws.com/0/130138/188df1d6-ad87-b0d8-7cba-28c9e7cbc35b.png "スクリーンショット 2016-06-27 午後4.39.06.png")

Eventタブ内の、「新規イベント作成」を押下します。

####イベントの中身
イベントには、以下の内容をご利用シーンに合わせて設定します。

* __イベント名称__：任意のイベント名称を登録できます。
* __タグ__：任意のタグを登録できます。
* __メモ__：任意のメモを登録できます。
* __適用するBeacon__：検知対象とするBeacon端末を選択します。
* __連動させるコンテンツ__：テキスト、URL、画像、カスタマイズから選択します。
	* __テキスト__：文字列情報がイベントとして通知されます。
	* __URL__：URL情報が文字列として通知されます。
	* __画像__：アップロードした画像のURL情報が通知されます。
	* __カスタマイズ__：ご自由に設定いただいたKey-Value形式で通知されます。

たとえば、こんな感じで登録します。

![スクリーンショット 2016-06-27 午後4.42.32.png](https://qiita-image-store.s3.amazonaws.com/0/130138/ed6f5bad-7c69-38bd-61ee-da7c115d7b79.png "スクリーンショット 2016-06-27 午後4.42.32.png")

ここまで入力したら、「次へ」を押下します。

* __エリアを指定__：Beaconを検知させたいエリアを指定します。
	* 非常に近い場所：iOSのImmediateと同等の距離を検知します。（入った時/出た時のいずれか選択します）
	* 近い場所：iOSのNearと同等の距離を検知します。（入った時/出た時のいずれかを選択します）
	* 遠い場所：iOSのFarと同等の距離を検知します。（入った時/出た時のいずれかを選択します）
	* エリアイン：Beacon端末を検知したら、イベントを発生させます。
	* エリアアウト：Beacon端末が検知できなくなったら、イベントを発生させます。
* __期間を指定__：イベントを発生させる日時を設定できます。
* __時間を指定__：イベントを発生させる時間帯を設定できます。

最後に、「Add」を押下します。
そのまま保存するか、無効のまま保存することができます。
無効のものは、後で有効にすることができます。
ここでは、「はい」を押下します。

以上で、BeacappCMS上での作業は終わりです。

あとは、アプリにSDKを組み込めば完了です。

[次回](http://qiita.com/JMASystems/items/4726b881b27b84144f2d)はiOSアプリへの組み込みをご紹介します。