이 문서에서는 Android에서 Nearby Messages API를 사용하여 개발을 시작하는 방법을 설명합니다. Nearby Messages API는 Google Play 서비스의 일부입니다.
1단계: Google Play 서비스 사용하기
Nearby Messages API는 Google Play 서비스 7.8.0 이상을 실행하는 Android 기기에서 사용할 수 있습니다. Android 2.3 이상을 실행하며 Google Play 스토어 앱이 있는 기기는 자동으로 Google Play 서비스 업데이트를 수신합니다. 기기에 설치된 Google Play 서비스의 버전을 확인하려면 설정 > 앱 > Google Play 서비스로 이동합니다.
개발 호스트에 Google Play 서비스용 최신 클라이언트 라이브러리가 있는지 확인합니다.
- Android SDK Manager를 엽니다.
Appearance & Behavior > System Settings > Android SDK > SDK Tools에서 다음 패키지가 설치되어 있는지 확인합니다.
- Google Play 서비스
- Google 저장소
2단계: Google 계정 만들기
Nearby Messages API를 사용하려면 Google 계정이 필요합니다. 이렇게 하면 개발자가 다음 단계에서 Nearby API를 사용 설정할 수 있습니다 (사용자에게 Google 계정이 없어도 됨). 계정이 있는 경우 별도의 조치를 취할 필요가 없습니다. 테스트용으로 별도의 Google 계정이 필요할 수도 있습니다.
3단계: API 키 가져오기
Android용 Google Nearby Messages API를 사용 설정하고 API 키를 가져오려면 다음 단계를 따르세요.
- Google Developers Console로 이동합니다.
- 애플리케이션을 등록할 프로젝트를 만들거나 선택합니다.
- 계속을 클릭하여 API를 사용 설정합니다.
- 사용자 인증 정보 페이지에서 새 Android 키를 만들고 API 사용자 인증 정보를 설정합니다.
참고: 기존 Android 키가 있으면 이 키를 사용할 수 있습니다. - 표시되는 대화상자에서 앱의 SHA-1 디지털 지문과 패키지 이름을 입력합니다. 예:
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
com.example.android.nearbyexample
- 프로젝트의 API 키 목록에 새 Android API 키가 나타납니다.
API 키는 다음과 같은 문자열입니다.
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
인증서의 SHA1 디지털 지문을 가져옵니다.
Android 앱의 새 API 키를 만들려면 APK에 서명하는 데 사용하는 인증서의 SHA1 디지털 지문이 필요합니다. 동일한 프로젝트의 API 키로 서명된 앱 간에만 메시지를 교환할 수 있습니다.
지문을 얻는 방법은 다음과 같습니다.
- 키 저장소의 위치를 찾습니다.
- 터미널에서 JDK의
keytool
유틸리티를 실행합니다. 예를 들어`debug`
키 저장소를 사용하는 경우: keytool
명령어의 출력에는 인증서의 SHA1 디지털 지문이 포함됩니다.
$ keytool -alias \ androiddebugkey -keystore \ ~/.android/debug.keystore -list -v
참고: 디버그 키 저장소의 비밀번호는 android
입니다. Mac OS 및 Linux에서 디버그 키 저장소는 일반적으로 ~/.android/
에 있습니다. Windows의 경우 일반적으로 %USERPROFILE%\
에 있습니다.
4단계: 프로젝트 구성
Android 스튜디오를 사용하면 Nearby Messages API용 프로젝트를 쉽게 만들 수 있습니다. 프로젝트 만들기에 설명된 단계에 따라 새 프로젝트를 만듭니다. Android 스튜디오에서 모듈의 build.gradle
파일을 열고 Google Play 서비스 클라이언트 라이브러리를 종속 항목으로 추가합니다.
apply plugin: 'android' ... dependencies { compile 'com.google.android.gms:play-services-nearby:19.1.0' }
그런 다음 이전 단계에서 생성한 API 키로 매니페스트를 구성합니다.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.sample.app" >
<application ...>
<meta-data
android:name="com.google.android.nearby.messages.API_KEY"
android:value="API_KEY" />
<activity>
...
</activity>
</application>
</manifest>
5단계: 게시 및 구독
앱에서 Nearby Messages API를 사용하기 시작합니다.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mMessageListener = new MessageListener() {
@Override
public void onFound(Message message) {
Log.d(TAG, "Found message: " + new String(message.getContent()));
}
@Override
public void onLost(Message message) {
Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
}
}
mMessage = new Message("Hello World".getBytes());
}
@Override
public void onStart() {
super.onStart();
...
Nearby.getMessagesClient(this).publish(mMessage);
Nearby.getMessagesClient(this).subscribe(mMessageListener);
}
@Override
public void onStop() {
Nearby.getMessagesClient(this).unpublish(mMessage);
Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
...
super.onStop();
}
Nearby Messages API를 사용하려면 사용자 동의가 필요합니다. 게시 또는 구독이 처음 호출되면 Nearby가 선택 대화상자를 표시합니다.