WWDC 2020 | Expanding automation with the App Store Connect API

https://developer.apple.com/videos/play/wwdc2020/10004


2019년까지 릴리즈된 API

4가지 API를 활용한 자동화
– Setting up your team
– Provisioning your app
– Managing your beta test program
– Downloading sales and financial reports

새로 추가된 2가지 API

+200 APIs
– Apps
– Versions
– App Previews
– Screenshots
– Localizations
– ……

App을 만들고 심사를 신청하는 것까지 API로 가능하다

OpenAPI Specification File도 제공됨.
+ Samples

App Metadata 사용

1. Create a new version

Apps : 다양한 버전, Flatform에서 제공되는 App들의 집합( 통칭)
version string : version number

해야할 것은
1) Version을 추가하고자하는 App의 App Store에서의 id를 GET으로 찾기
2) id를 parameter로 새로운 version의 대한 data 값을 post

– app의 id 를 확인하기위해 GET

– GET으로 확인한 App id를 사용해서 POST
iOS가 아니라 IOS네 🤔


– v1.1이 추가되었다 👏



2. Set app pricing

– 이 부분을 API로 설정할 수 있다 !
– 물론 나라마다 다르게도 설정 가능

AppPricesApps 속에서 Versions와는 또 구분되는 개념이다.
– 처음은 null 으로 설정되어있고 Schedule, 시간을 기준으로 price를 설정한다.
– price를 100원, 770원 이렇게 임의로 설정할 수 있는건 아니고 Tier로 설정한다.

tier 는 본인이 임의로 설정할 수 있는게 아니라 나라별 통화로 tier 0부터 책정되어있다.


– 화살표 순서로 설정하면된다요
– Territories(영토) : 국가별 설정


– data[1][“relationships”][“priceTier”][“data”][“id”] = 첫 번째 Tier. $0.99로 설정되어있다

1주차 – $0.99 Tier 1
2주차 – $0.00 Free
3주차 – $0.99 Tier 1

이렇게 API로 설정해보쟝

1) PATCH 로 보낼 price의 큰 그림을 JSON으로 작성
2) 스케쥴별로 Tier, startDate가 포함된 JSON을 작성
3) 1)에서 작성한 JSON의 [“included”]로 2)에서 작성한 JSON을 추가.
4) 3)에서 작성한 JSON을 PATCH request

– id는 구분될 수 있도록 임의로 설정해도 되지만 type은 꼭 지켜주기

– 첫번째 JSON에서 사용했던 id에 맞게 원하는 일정과 Tier로 하나씩 작성해준다

– 작성한 상세 가격 정보 JSON을 included key의 value로 추가.


API를 설정하면 version에 상관없이 바로 적용되니 주의 또 쥬의



3. Edit app and version metadata

– AppInfo는 Localization으로 구분되고 Localization된 데이터마다 AppName, Subtitle 등이 따로 설정되어있다.

– 물론 App Store Versions에도 Localization으로 구분된 버전 정보, ScreenShots, Previews 등 다양한 info들이 있다.


Preview는 영상이 올라가는 경우가 있어 용량이 크다보니 Request를 한 번으로 끝내는 것이 아니라
어떤 Preview를 업로드할 건지 device에 관한 Request와 Resource를 업로드하는 request를 따로 실행한다.

0) 지금의 Preview Set을 확인
1) 업로드할 Preview가 어느 Device의 PreviewSet인지에 대한 POST Request
2) 1)의 POST Request에 대해 Preview 파일을 PATCH request
3) 꼭 꼭 2)의 request가 잘 되었는지 GET으로 확인하기
3-1) Error가 발생한경우에는 특정 파일만 PATCH로 업로드하기

– id는 App의 App store ID. BundleID 다르니 조오심 !
– 졍말루 TMI …. Too many IDs …..

– 여기에서는 곧 업로드할 preview의 Type을 설정해준다

– 아마 여기서 나오는 id 는 처음 Preview를 올릴거라고 보낸 request의 결과값에 적혀진 ID (불확실)
– 그리고 실제로 upload할 파일을 추가

– Video나 사진용량이 크면 기본적으로 쪼개서 보내는데 중간에 한 part가 실패하더라도 아래의 PATCH로 다시 request하면 실패한 part만 업로드하는 것도 가능하다.

– 업로드한 파일이 잘 되었나 확인도 할 수 있고 실패하면 ERROR 메시지도 볼 수 있댱




4. Associate a build with the version

– App Version를 기준으로 Build는 만들어진다

1) Build의 id 값을 얻기위해 GET
2) 만들고자하는 버전과 Build ID로 Build를 만드는 PATCH

– Version의 Build를 확인해서 GET의 parameter로 함께 보내야한다

– 간단간단



5. Submit for App Review

– 역시나 Version을 기준으로 Submit하는 API가 존재

1) Submit에 필요한 연락처 정보, App을 사용해볼 수 있는 DEMO ID/Password를 appStoreReviewDetails 로 POST 한다



– 그리고 진짜로 App 심사를 신청하는 API는 심사 정보 API와 구분되어 있다.

2) POST /v1/appStoreVersionSubmissions

DONE !

Power and Performance Metrics and Diagnostics

– Xcode에서 볼 수 있던 정보를 API로도 조회할 수 있다

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중