サーバーで稼働するサービスを作るならホステッドアプリが便利です。
ホステッドアプリを作成することで自分や他のユーザーがアプリをインストールしたデバイス情報をAPIで取得できます。
アプリとデバイスの紐付けや設定の保存などをobnizクラウドに任せることが可能です。
また、承認されたユーザーのアカウントやデバイスに関する管理も可能です。
アプリの作成
開発者コンソールから「開発」>「アプリ開発」を選択し必要事項を入力します。作成後詳細な設定が可能です。
権限
このアプリがOAuthにおいてユーザーに要求するアクセス権限です。
- user: ユーザーのメールアドレスなどアカウント情報
- device: 所有しているデバイス
- repository: リポジトリ内のファイル(この機能はAPI上で未公開です)
- event: サーバーレスイベント
- device_control: ハードウェアAPIを利用し、obniz.jsなどからアカウント内にあるデバイスに接続して利用することができるのかを設定します。
それぞれについて以下の権限を設定します。
ユーザーが承認する画面でこのアプリが何を操作可能なのか確認する際にも表示されます。
- NONE: 不要
- read: 読み取りだけ
- full: 読み取り/更新/作成
これら権限は承認後ユーザーアカウントに対して操作でき、インストールとは関係がありません。
ユーザーがデバイスに対してアプリインストールを行うと上記権限とは関係なくインストールしたデバイス、ユーザー、の読み取りとデバイス操作権限がそのデバイスに対してのみ与えられます。
WebhookURL
install で利用するwebhookのurlです。
Application URL
設定することであなたのWEBサイトをobnizクラウド上にiFrameで表示できます。
あなたが設定したURLが
https://yoursite.com/
の場合、ユーザーが「利用中アプリ」からアプリを選ぶとユーザーのoauth tokenがついたリンクでWEBサイトが開かれます。
https://yoursite.com/?token=XXXX
また、デバイスごとの「アプリを開く」を押した場合はobniz_idが追加されます。
https://yoursite.com/?token=XXXX&obniz_id=YYYY
あなたはこれらに対応したWEBサイトを表示することで、
ユーザーはあなたのWebsiteでログインしたりデバイスを選択することなく特定のページをすぐに開くことが可能になります。
インストール時設定
ユーザーがこのアプリをインストーする場合の設定項目です。何も設定しない場合はユーザーはボタン1つでアプリをインストールできます。
例えば、データの取得間隔をインストール時に設定させるなどが可能です。
ユーザーがインストール時に行った設定はAPIで取得することができます。
作成とトークン
アプリが作成されるとアプリのidとトークンが確認できるようになります。
この段階でストアへの公開・非公開に関わらずAPIの利用が可能です。
誰もインストールしていなくてもアプリの情報を取得するだけのAPIコールならば今すぐ利用できます。
また、ユーザーのOAuth Tokenの取得やユーザーにアプリをインストールさせることもすぐに利用可能です。
SDK
appを作成するのに必要となる基本機能を搭載したobniz-app-sdkを提供しています。
- 各obnizデバイス毎のプログラムの登録
- obnizクラウド上で新規インストール/更新/削除されたときの対応
- Redisを使用した複数サーバーによる負荷分散
使用方法は github上のREADME を参照ください