Tài liệu này giải thích cách bắt đầu phát triển bằng Nearby Messages API trên Android. Nearby Messages API là một phần của Dịch vụ Google Play.
Bước 1: Tải Dịch vụ Google Play
Nearby Messages API có trên các thiết bị Android có Dịch vụ Google Play phiên bản 7.8.0 trở lên. Các thiết bị chạy Android 2.3 trở lên có ứng dụng Cửa hàng Google Play sẽ tự động nhận được các bản cập nhật cho Dịch vụ Google Play. Để kiểm tra phiên bản Dịch vụ Google Play được cài đặt trên thiết bị, hãy chuyển đến Cài đặt > Ứng dụng > Dịch vụ Google Play.
Đảm bảo bạn có thư viện ứng dụng mới nhất cho Dịch vụ Google Play trên máy chủ phát triển:
- Mở Trình quản lý SDK Android.
Trong phần Appearance & Behavior > System Settings > Android SDK > Bộ công cụ SDK (Giao diện và hành vi > Cài đặt hệ thống > SDK Android > Bộ công cụ SDK), hãy đảm bảo rằng các gói sau đã được cài đặt:
- Dịch vụ Google Play
- Kho lưu trữ Google
Bước 2: Tạo Tài khoản Google
Để sử dụng Nearby Messages API, bạn cần có Tài khoản Google. Điều này là để bạn (nhà phát triển) có thể bật Nearby API ở bước tiếp theo (người dùng của bạn sẽ không cần có Tài khoản Google). Nếu đã có tài khoản thì bạn có thể bỏ qua bước này. Bạn cũng nên có một Tài khoản Google riêng cho mục đích kiểm thử.
Bước 3: Lấy khoá API
Hãy làm theo các bước sau để bật Google Nearby Messages API cho Android và lấy khoá API:
- Chuyển đến Google Developers Console.
- Tạo hoặc chọn một dự án để đăng ký ứng dụng.
- Nhấp vào Continue (Tiếp tục) để bật API.
- Trên trang Credentials (Thông tin xác thực), hãy tạo một Android key (Khoá Android) mới (và đặt Thông tin xác thực API).
Lưu ý: Nếu đã có Android key (Khoá Android), bạn có thể sử dụng khoá đó. - Trong hộp thoại kết quả, hãy nhập dấu vân tay SHA-1
và tên gói của ứng dụng. Ví dụ:
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
com.example.android.nearbyexample
- Khoá Android API mới sẽ xuất hiện trong danh sách khoá API cho dự án của bạn.
Khoá API là một chuỗi ký tự, chẳng hạn như:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
Lấy dấu vân tay SHA1 của chứng chỉ
Để tạo khoá API mới cho ứng dụng Android, bạn cần có dấu vân tay SHA1 của chứng chỉ mà bạn dùng để ký APK. Chỉ những ứng dụng được ký bằng khoá API từ cùng một dự án mới có thể trao đổi thông báo.
Cách lấy dấu vân tay này:
- Tìm vị trí của kho khoá.
- Trong một thiết bị đầu cuối, hãy chạy tiện ích
keytooltừ JDK. Ví dụ: nếu bạn đang sử dụng kho khoá`debug`: - Kết quả của lệnh
keytoolchứa dấu vân tay SHA1 cho chứng chỉ.
$ keytool -alias \ androiddebugkey -keystore \ ~/.android/debug.keystore -list -v
Lưu ý: Đối với kho khoá gỡ lỗi, mật khẩu là
android. Trên Mac OS và Linux, kho khoá gỡ lỗi thường nằm ở
~/.android/. Trên Windows, kho khoá này thường nằm ở
%USERPROFILE%\.
Bước 4: Định cấu hình dự án
Android Studio giúp bạn dễ dàng tạo một dự án cho Nearby Messages API. Hãy làm theo các bước được mô tả
trong Tạo dự án
để tạo một dự án mới. Trong Android Studio, hãy mở tệp build.gradle cho mô-đun của bạn và thêm thư viện ứng dụng Dịch vụ Google Play làm phần phụ thuộc:
apply plugin: 'android'
...
dependencies {
compile 'com.google.android.gms:play-services-nearby:19.3.0'
}
Sau đó, hãy định cấu hình tệp kê khai bằng Khoá API được tạo ở bước trước:
<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>
Bước 5: Xuất bản và đăng ký
Trong ứng dụng, hãy bắt đầu sử dụng 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();
}
API Nearby Messages yêu cầu sự đồng ý của người dùng. Khi lần đầu tiên gọi publish hoặc subscribe, Nearby sẽ hiển thị hộp thoại chọn tham gia.