■考察: アプリ用API
※ログインの不要な実案件用に設計したもの
ログインも考慮してAPIを追加調整しておきたい
■アプリ起動時に端末情報を同期
url: /api/device/sync
method: post
parameters:
_type ... 「json」で固定
code ... 識別コード or 空欄
platform ... プラットフォーム(「ios」もしくは「android」)
os_version ... OSバージョン
app_version ... アプリバージョン
response
{
"status": "OK",
"code": "識別コード",
"notification": "通知", ... 「0」もしくは「1」 # OSレベルで通知がOFFでもとりあえず送信&受け取りは行われるみたい。いったん常に1を返すようにした
"option1": "デバイスごとの設定例1", ... デバイスごとの設定値
"option2": "デバイスごとの設定例2", ... デバイスごとの設定値
"option3": "デバイスごとの設定例3" ... デバイスごとの設定値
}
※返した各値は、アプリ側で値を保持しておく
※初回はプッシュの使用許可を得る前なので、notification は常に 0 が返される
■アプリ起動時にデバイストークンを同期
url: /api/device/sync_token
method: post
parameters:
_type ... 「json」で固定
code ... 識別コード
platform ... プラットフォーム(「ios」もしくは「android」)
token ... デバイストークン
response
{
"status": "OK",
"code": "識別コード",
"notification": "通知" ... 「0」もしくは「1」 # OSレベルで通知がOFFでもとりあえず送信&受け取りは行われるみたい。いったん常に1を返すようにした
}
※返した notification は、アプリ側で値を保持しておく
※初回起動直後にこのAPIを叩いた場合、プッシュの使用許可を得た直後なので notification には 1 が記録される。つまり必ず 1 が返される
初回以降は notification は変更せずに現状の値を返す
(デバイストークンは取れるが、アプリの設定でプッシュは受け取らないようにした…という状態に対応できるように)
■端末情報を取得
url: /api/device/get
method: get
parameters:
_type ... 「json」で固定
code ... 識別コード or 空欄
response
{
"status": "OK",
"code": "XXXXXXXXXX",
"notification": "通知", # 設定画面から呼ばれることは無いので削除するか
"option1": "デバイスごとの設定例1",
"option2": "デバイスごとの設定例2",
"option3": "デバイスごとの設定例3"
}
■端末情報を更新
url: /api/device/post
method: post
parameters:
_type ... 「json」で固定
code ... 識別コード
notification ... 通知(更新したい場合) # 設定画面から呼ばれることは無いので削除するか
option1 ... デバイスごとの設定例1
option2 ... デバイスごとの設定例2
option3 ... デバイスごとの設定例3
response
{
"status": "OK",
}
■テスト用
url: /api/test
method: get
response
{
"status": "OK",
"datetime": "(現在日時)"
}