WiseN

아마존 Mobile Hub 사용

Nov 02,2015   |   AWS

작성자_GS Neotek

페이스북 공유하기 트위터 공유하기
Blog thumbnail

다루는 내용


∙ AWS Mobile HUB란
∙ 안드로이드 개발 환경 구성
∙ Mobile HUB Configure
∙ Mobile HUB Build
∙ Mobile HUB Test


 

 

실습






AWS Mobile HUB란






 

AWS Mobile HUB는 모바일 앱 개발에 필요한 구현, 빌드, 테스트 및 분석을 단순화한 서비스이다. 콘솔 화면은 상당히 직관적이라 쉽게 사용 가능하다. 사용자는 Mobile HUB에서 제공되는 Configure를 이용하여 AWS의 다른 서비스들과 쉽게 연계 가능하며 자신의 코드를 추가하여 앱 개발을 할 수 있다.

 

 




안드로이드 개발 환경 구성






 

AWS Mobile HUB는 대표적인 모바일 플랫폼인 iOS와 Android 두 가지를 지원한다. 이 문서에서는 Android 플랫폼을 사용하여 작성한다.

 




 


  • 개발 툴 설치




1. Android Studio 설치

1) https://developer.android.com/sdk/index.html
2) Android Studio, Android SDK, Android Virtual Device, Perfomance 선택하여 설치


 



 

Intel HAXM (Hardware Accelerated Execution Manager)를 설치하지 않은 경우 Emulator가 실행되지 않는다.


2. JAVA Development Kit 설치

1) http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html


3. 참고

개발환경에서 필요한 사항은 빌드 페이지에 상세하게 설명되어 있다.


 



 

 




Mobile HUB Configure






 

1. 콘솔에서 Mobile Hub 클릭
2. Get started 클릭
3. What is your project name? : ArangMobileHubLab 입력
4. Create project 클릭
5. Configure 페이지에서

 

현재 Mobile Hub에서는 6가지 구현을 지원한다. 각각의 사용법은 뒤에서 상세하게 알아본다.
∙ User Sign-in
∙ Push Notifications
∙ App Content Delivery
∙ User Data Storage
∙ App Analytics
∙ Cloud Logic


 




 


  • User Sign-in




 아마존 Cognito와 통합되어 공인 신원 제공자나 자체 인증 시스템을 이용하여 서명할 수 있다.
∙ No Sign-in : 사용자의 서명없이 Cognito에서 unauthenticated guest 권한으로 AWS에 접근하도록 한다.
∙ Sign-in is optional : 공인 신원 제공자를 통해 서명하거나 혹은 Cognito에서 unauthenticated guest 권한 서명하도록 한다.
∙ Sign-in is required : 공인 신원 제공자를 통해 서명하도록 한다.


 

1. Sign-in is optional 선택
2. Facebook 선택

1) https://developers.facebook.com/ 로그인
2) 메뉴에서 My Apps 클릭
3) Add a New App 클릭
4) Advanced setup 클릭
5) ArangMobileHubLab 입력


 



 

6) Create App ID 클릭
7) Dashboard의 App ID를 복사하여 Mobile Hub의 Facebook App ID에 붙여 넣는다.
8) Save changes 클릭
9) Build your app 클릭
10) Add Platform


Facebook Developer 페이지에 어떤 안드로이드 앱 패키지에서 사용할 것인지 알려줘야 한다.
∙ 메뉴 → My Apps → ArangMobileHubLab 클릭
∙ 왼쪽 메뉴에서 설정 클릭
∙ +Add Platform 클릭
∙ Package Name : com.mysampleapp 입력
∙ Class Name : com.mysampleapp.MainActivity 입력


 



 

 




Mobile HUB Build






 

1. Build 페이지에서

1) Android 클릭
2) Download Android source package 클릭
3) 다운받은 파일은 압축을 해제한다.


2. Android Studio 실행

1) Import project (Eclipse ADT, Gradle, etc.) 클릭


 



 

2) 프로젝트 선택


 



 

3) 프로젝트 실행
메뉴 → Run ‘app’ → Device Chooser : Launch emulator → OK
4) 앱 실행화면
∙ 메인 액티비티


 



 

∙ Guest Sign in


 



 

∙ Facebook Sign in


 



 

5) 모니터링
Sign in 결과는 AWS Cognito와 Facebook의 Dashboard에서 사용현황을 확인할 수 있다.


 

 




Mobile HUB Configure more…






 


  • Push Notifications




 아마존 SNS와 통합되어 모바일 앱에 push 알림을 할 수 있다.


 

1. Enable push 선택
2. Android 선택

1) https://console.developers.google.com/project 접속
2) 프로젝트 만들기 클릭
3) 프로젝트 이름 : ArangMobileHubLab 입력 → 만들기 클릭
4) 왼쪽 메뉴에서 API 및 인증 클릭
5) API → Cloud Messaging for Android 클릭 → API 사용 설정 클릭 (Enable)
6) API Key : 사용자 인증 정보 → API 키 → 서버 키 클릭 → 생성


 



 

7) Sender ID : 홈 → 프로젝트 선택 → 프로젝트 번호


 



 

8) Mobile Hub에 입력


 



 

9) SNS 토픽 선택 (새 토픽 생성 가능)
예. Topic name : MobileHubSNS 입력
10) Save changes 클릭
11) Build your app 클릭
12) Android 클릭


3. 빌드

빌드 과정은 Sign in 실습과 동일하다.


4. 실행 결과

1) 메인 액티비티


 



 

2) Receive Push Notifications Enable


 



 

3) 메시지 발송
아마존 SNS에서 Publish Message 페이지에서 메시지를 발송할 수 있다.


 



 

4) Push Notification 확인


 



 




 


  • APP Content Delivery




아마존 S3 및 CloudFront와 통합되어 리소스 파일 등을 업로드 하고, 다운로드 할 수 있다.
∙ Single location : S3 버킷이 자동 생성되며, S3에서 직접 다운로드 된다.
∙ Global CDN : S3 버킷이 자동 생성되면, CloudFront 분산이 자동 생성된다. 다운로드는 CloudFront의 캐시를 이용한다.


 

1. Global CDN 선택
2. Save changes 클릭
3. Build your app 클릭
4. Android 클릭
5. 빌드

빌드 과정은 동일하다.


 



 

현재 Configure에 User Sign-in, Push Notifications, App Content Delivery가 추가되어 있다. 선택된 기능은 보라색으로 표시된다.


6. 실행 결과

1) S3 버킷 생성


 



 

하나의 버킷이 자동 생성되었다.
2) CloudFront 분산 생성


 



 

분산이 자동 생성된다.
3) 메인 액티비티


 



 

4) 파일 다운로드


 



 




 


  • User Data Storage




아마존 S3 및 Cognito와 통합되어 인증된 사용자가 S3에 업로드/다운로드 할 수 있다.


 




 


  • App Analytics




아마존 Mobile Analytics와 통합되어 앱 사용량을 분석한다.


 

1. Add analytics 선택
2. Save changes 클릭
3. Build your app 클릭
4. Android 클릭
5. 실행 결과

아마존 콘솔에서 Mobile Analytics를 살펴보면 App이 자동 추가되었으며, 앱 사용량 통계를 확인할 수 있다.


 



 




 


  • Cloud Logic




아마존 Lambda와 통합되어 모바일 앱에서 Lambda를 사용할 수 있다. 현재 베타 버전인 Mobile Hub는 N. Virginia 리전에서 서비스 중이다. 정상적인 실습을 위해 Lambda를 동일 리전에 생성하여야 한다.


 

1. Enable logic 클릭
2. Lambda 함수 선택

 



 

Lambda에서 함수를 만든 후 Mobile Hub에서 선택할 수 있다.
(Lambda 활용 참고 : http://blog.gsclip.com/2015/09/lambda-%ED%99%9C%EC%9A%A9/)


3. 결과 확인

 



 

이미지 리사이징 함수를 선택하였으나, 앱 실행결과 hello-world 함수가 실행된다. Mobile Hub가 정식 릴리즈되면 해당 문제는 해결될 것이라 믿는다.


 

 




Mobile HUB Test






 

Mobile HUB의 Test 메뉴는 AWS Device Farm으로 링크된다.
프로젝트 생성, 빌드된 .apk 파일 업로드, 테스트 디바이스 선택 등의 몇가지 과정을 거쳐 테스트를 시작한다. 해당 앱이 리스트의 디바이스에서 정상적으로 실행될 것 임을 레포팅한다.

 



 

 




참고



  • Mobile Hub의 경우 각 단계마다 설명이 잘되어 있어 별도의 문서를 참고하지 않아도 손쉽게 사용할 수 있다.