Memo

メモ > 技術 > サービス: AmazonSNS > 考察: アプリ用API

■考察: アプリ用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": "(現在日時)" }

Advertisement