-
Notifications
You must be signed in to change notification settings - Fork 1
Home
baas.io Android SDK를 쉽게 이용할 수 있도록, 샘플 앱(Kitchen Sink)을 제공해드리고 있습니다.
샘플앱은 크게 로그인/가입 화면과 메인 화면, 고객 센터 화면으로 구성되어 있습니다.
- baas.io에 가입이 필요합니다. baas.io 가입 페이지에서 가입하실 수 있습니다.
- Android ADT 및 SDK를 항상 최신으로 유지하는 것을 권장합니다. 개발툴은 "Get the Android SDK"를 확인하시기 바랍니다.
- Text file encoding 방법이 UTF-8 기준으로 개발되어 있습니다. 사용하시는 개발툴의 Text file encoding 설정이 UTF-8로 되어 있는지 확인합니다.
각 화면별로 어떤 기능의 Sample이 구현되어 있는지 설명합니다.
첫 실행시에 로그인이 안되어 있으면 실행되고 있습니다. 또한, Actionbar의 메뉴 또는 하드웨어 메뉴키를 눌러 로그인 메뉴를 선택하면 실행됩니다.
소스 위치는 com.kth.baasio.sample.ui.auth에 있으며 아래의 기능이 구현되어 있습니다.
-
E-mail로 가입/로그인 하기
-
Facebook으로 가입/로그인 하기
-
비밀번호 찾기(비밀번호 초기화)
관련 개발 가이드: User 서비스, Facebook 가이드
앱을 실행하면 나타나는 첫 화면입니다. BaasioMainActivity가 Tab 및 ViewPager를 가지고 있으며, 각 탭은 Fragment로 구현되어 있습니다.
위치는 com.kth.baasio.sample.ui.main에 있습니다.
-
비밀번호 변경
-
로그인/아웃
관련 개발 가이드: User 서비스
-
앱에 가입되어 있는 회원의 리스트 보기
-
Push 메시지 전송
관련 개발 가이드: User 서비스, 데이터질의(Query), Push 서비스
-
그룹 리스트 조회
-
그룹 생성/수정/삭제
-
그룹에 회원 추가/제거
관련 개발 가이드: Group 서비스, User 서비스, 데이터질의(Query)
-
커스텀 Entity 리스트 조회
-
커스텀 Entity 생성/수정/제거
-
커스텀 Entity 관계 생성
-
커스텀 Entity 관계에 따른 리스트 조회
관련 개발 가이드: Data 서비스, 데이터질의(Query)
-
Push 단말 등록
-
Push 단말 등록 해제
-
Push 단말 등록 조회
-
Push 단말 정보 수정
관련 개발 가이드: Push 서비스, Google API Key 발급 가이드
-
파일 업로드/다운로드
-
파일 수정/삭제
관련 개발 가이드: File 서비스, 데이터질의(Query)
Actionbar의 메뉴를 누르거나, 하드웨어 메뉴버튼을 눌러 고객센터를 선택하면 실행됩니다.
-
FAQ 조회
-
FAQ 상세내용 조회
-
FAQ search
관련 개발 가이드: 고객센터 서비스
-
개발자에게 질문 보내기
관련 개발 가이드: 고객센터 서비스
고객센터는 오픈 소스로 제공됩니다. clone을 받으시거나 fork를 하셔서 자유롭게 이용하실 수 있습니다.
git clone https://github.com/baasio/baas.io-sample-android.git
아래의 링크에서 zip파일을 다운로드 받아 원하시는 위치에 압축해제 합니다.
https://github.com/baasio/baas.io-sample-android/archive/master.zip
-
"File-Import" 를 선택합니다.
-
Import 다이얼로그에서 "General-Existing Projects into Workspace"를 선택하고 "Next"버튼을 선택합니다.
-
다음 Import 다이얼로그 화면에서 "Select root directory"의 "Browse"버튼을 눌러 다운로드 받은 폴더를 선택하고, "Projects:"에서 ActionBarSherlock, BaasioHelpCenter, BaasioSampleProject, FacebookSDK 프로젝트를 선택하고 "Finish"를 선택합니다.
-
BaasioSampleProject의 "com.kth.baasio.sample" 위치에 있는 BaasioConfig.java을 열어,
PUT_YOUR_BAASIO_MEMBER_ID
부분을 baas.io ID로 바꿉니다. 아래 화면의 baas.io ID에 표시된 UUID 형태의 값을 넣어주시면 됩니다.(email 주소가 아닙니다.)PUT_YOUR_APPLICATION_ID
부분을 baas.io에 생성한 백엔드앱의 아이디로 바꿉니다. 아래 화면의 Appliation ID에 표시된 UUID 형태의 값을 넣어주시면 됩니다.// BaasioConfig.java package com.kth.baasio.sample; public class BaasioConfig { public static final String BAASIO_URL = "https://api.baas.io"; // baas.io member ID public static final String BAASIO_ID = "PUT_YOUR_MEMBER_ID"; // baas.io application ID public static final String APPLICATION_ID = "PUT_YOUR_APPLICATION_ID"; // GCM(google cloud messaging service) sender ID public static final String GCM_SENDER_ID = null; }
Push 기능확인이 필요 없으시면 이 부분은 건너뛰셔도 됩니다.
Push 기능을 확인하시기 위해서는 GCM 관련 설정이 필요합니다. 이때 Google API Key와 Sender ID가 필요하며, 발급 받는 방법은 아래 링크에 쉽게 설명되어 있으니 꼭 확인 바랍니다.
이 가이드에서는 Google API Key와 Sender ID를 알고 계시는 것을 가정하겠습니다.
baas.io이동 > My page > 백엔드앱을 선택 > 설정 > 푸쉬인증서 관리에 Google API Key를 등록합니다.
BaasioConfig.java에 GCM_SENDER_ID
를 Google API Key를 발급받을 때 받은 Sender ID(Project ID)로 설정합니다.
public class BaasioConfig {
public static final String BAASIO_URL = "https://api.baas.io";
// baas.io member ID
public static final String BAASIO_ID = "PUT_YOUR_BAASIO_MEMBER_ID";
// baas.io application ID
public static final String APPLICATION_ID = "PUT_YOUR_APPLICATION_ID";
// GCM(google cloud messaging service) sender ID
public static final String GCM_SENDER_ID = "PUT_YOUR_GCM_SENDER_ID";
}
BaasioSampleProject에는 Facebook을 이용하여 로그인하는 기능이 구현되어 있습니다. 이 기능을 확인하기 위해서는 Facebook에서 api key를 발급 받아, api key를 설정해 주어야 합니다.
아래 링크를 확인 확인하시어 api key 설정을 하시기 바랍니다.
추가된 프로젝트들을 FacebookSDK->ActionBarSherlock->BaasioHelpCenter->BaasioSampleProject 순으로 "Project-Clean..."하여 Clean Build하시고, BaasioSampleProject를 실행하시면 됩니다.
baas.io이동 > My page > 백엔드앱을 선택 > 푸시관리 > 푸시발송에서 내용을 입력하고 메시지를 보내보세요.
테스트 하실 때에는 Google Play가 설치된 실제 안드로이드 단말에서 테스트 바랍니다. 특히, 에뮬레이터는 메시지를 받을 수 없습니다.
테스트하시는 단말로 메시지가 도착하셨나요? 축하드립니다.!!!
※ 잘 안되시나요? Push가 정상 설정되었는지 확인하세요.
Push를 활성화를 하시면, 정상적으로 동작시키기 위해 아래 체크리스트를 확인 바랍니다.
- <CHECK!!> Google Play가 설치된 실제 안드로이드 단말에서 테스트하셔야합니다.
- baas.io 사이트 이동
- 로그인 > My page 이동> Application 선택
- 설정 > 푸시인증서 관리
- <CHECK!!> Android API KEY 등록되었는지 확인
- <CHECK!!> 푸시 사용 설정이 사용함인지 확인
- 데이터브라우저 > Role 선택 > guest 선택 > Permission 탭 선택
- <CHECK!!>"/devices" Create 체크됨 확인(v0.8.1 이전 버전은 "/pushes/devices")
- <CHECK!!>"/devices/*" Update, Delete 체크됨 확인(v0.8.1 이전 버전은 "/pushes/devices/*")
- 데이터브라우저 > Role 선택 > default 선택 > Permission 탭 선택
- <CHECK!!>설정된 Role이 "/device" Create와 "/devices/*" Update, Delete를 포함하고 있는지 확인(v0.8.1 이전 버전은 "/pushes/devices", "/pushes/devices/*")
- <CHECK!!>프로젝트의 AndroidMenifest.xml 파일을 열어 아래와 같이 package 명이 제대로 들어가 있는지 확인합니다.
<permission
android:name="{package명}.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
...
<receiver
android:name="{package명}.gcm.GCMRedirectedBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="{package명}" />
</intent-filter>
</receiver>
...
<service android:name="{package명}.gcm.GCMIntentService" />
<주> Role관련부분은 역할과 권한을 참고 바랍니다.
이제 모든 설정이 끝났습니다. 기능별로 좀더 세세하게 알아보고 싶으시다면 아래 링크를 확인바랍니다.