Khóa học lập trình Android cơ bản

Serial tutorial hướng dẫn lập trình Android cơ bản

Tích hợp mạng xã hội vào ứng dụng Android (Google) Tích hợp mạng xã hội vào ứng dụng Android (Google) Tích hợp mạng xã hội vào ứng dụng Android (Google) Tích hợp mạng xã hội vào ứng dụng Android (Google) Tích hợp mạng xã hội vào ứng dụng Android (Google) 5/5 (68 reviews)

Tích hợp mạng xã hội vào ứng dụng Android (Google)

Đã đăng 2017-11-13 15:56:32 bởi Kteam
0 bình luận 4650 lượt xem
Tích hợp mạng xã hội vào ứng dụng Android (Google) 5 /5 stars (1 reviews)
 

Dẫn nhập

Ở các bài học trước, chúng ta đã cùng nhau tìm hiểu về cách TÍCH HỢP FACEBOOK VÀO ỨNG DỤNG ANDROID. Vì đặc thù của nền tảng mạng xã hội nên việc tích hợp khá là dài nên đã phải chia làm 3 bài. Tiếp theo chúng ta cũng làm việc tương tự, nhưng là với Google Account. Quá trình này sẽ ngắn hơn một chút! 


Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

  • Chuẩn bị các thành phần cần thiết để cài đặt chức năng đăng nhập với Google.

Tạo ứng dụng khung

Ứng dụng “khung” ở đây đơn thuần chỉ là một app rỗng, mà chúng ta đã làm rất nhiều ở các bài trước mà thôi.

New Project > Empty Activity.

Tên app chúng ta sẽ lấy là “GoogleExample”:

Tiếp theo, mở thư mục chứa JDK hoặc JRE của bạn, như trong hình minh họa là:

C:\Program Files\Java\jdk1.8.0_102\bin

(Đường dẫn của bạn có thể sẽ khác, tùy phiên bản, cũng có thể nó nằm ở C:\Program Files (x86). Gõ CMD lên thanh address:

Nhấn Enter để mở Command Prompt, gõ lệnh sau (viết thành 1 dòng):

keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore

Khi được hỏi enter keystore password thì mật khẩu là android (viết thường, màn hình sẽ không hiện mật khẩu nhưng thực ra là bạn đang nhập rồi). Sau đó kết quả màn hình sẽ có dạng:

Hãy ghi nhớ mã SHA1 này để sử dụng cho phần tiếp theo.


Làm quen với Google Developer Console

 Ở bài TÍCH HỢP FACEBOOK VÀO ỨNG DỤNG ANDROID - Phần 2 chúng ta đã làm quen với Facebook Developer Dashboard. Nếu bạn đã quên rồi thì trông nó như thế này:

Và nó bao gồm các chức năng mà Facebook cung cấp API cho lập trình viên. Google tất nhiên cũng có một hệ thống tương tự, gọi là Developer Console. Các bạn có thể truy cập vào:

https://developers.google.com/

Trang chủ của Google Developer Console cung cấp các link dẫn tới các chức năng chính của hệ thống Google API, bao gồm đăng nhập, Cloud Platform, điện toán, xử lý dữ liệu,…

Google Sign-in cũng là một tính năng thuộc hệ thống Google Developers này. Chúng ta có thể sử dụng nó để giúp người dùng đăng nhập vào app bằng chính tài khoản Google / Gmail của họ một cách dễ dàng và an toàn.

Đại khái code của chương trình sẽ có dạng dạng như sau (tham khảo trước, chúng ta sẽ làm chi tiết ở các bước sau):

// Cài đặt Sign-in để lấy các thông tin mặc định (ID, email, thông tin cá nhân cơ bản).
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestEmail()
    .build();

// Xây dựng Google API Client, client này có quyền truy cập đến Google Sign-in API và với những tùy chọn ở trên.
mGoogleApiClient = new GoogleApiClient.Builder(this)
    .enableAutoManage(this, this)
    .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
    .build();

 

Và sau đó, khi click vào nút Sign in, khởi động intent:

Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
startActivityForResult(signInIntent, RC_SIGN_IN);

 

Tiếp theo, người dùng sẽ được chọn tài khoản để cho phép xác thực. Nếu như ứng dụng của bạn yêu cầu quyền nào đó khác ngoài profile, email open_id, các quyền đó cũng sẽ phải qua sự cho phép của người dùng.

Và cuối cùng, xử lý kết quả trả về:

@Override public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // Result returned from launching the Intent from
    //   GoogleSignInApi.getSignInIntent(...);
    if (requestCode == RC_SIGN_IN) {
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        if (result.isSuccess()) {
            GoogleSignInAccount acct = result.getSignInAccount();
            // Get account information
            mFullName = acct.getDisplayName();
            mEmail = acct.getEmail();
        }
    }
}

 

Trên đây chỉ là code để các bạn nghía qua tham khảo, thực sự áp dụng ra sao thì mời các bạn làm theo các bước sau đây:

Bước 1: Truy cập vào trang:

https://developers.google.com/mobile/add

(Nhớ là trước đó bạn phải đăng nhập vào tài khoản Google của bạn trước, đó có thể là tài khoản Gmail, Google Plus,…).

  • Click vào ô số (2) ở dưới.

Bước 2: Chọn platform là Android:

Bước 3: Điền đầy đủ thông tin như hình, lưu ý là thay tên package giống trong project của bạn:

Bước 4: Bước này là bước Choose and configure services, các bạn chọn Google Sign-in và nhập mã SHA1 đã lấy từ phần trên xuống:

  • Sau đó click nút Enable Google Sign-in.

Khi bạn thấy kết quả như sau là bạn đã thành công bước này.

  • Chọn phần Generate configuration files.

Bước 5: Ở bước tiếp theo này, các bạn nhấn Download google-services.json. Sau khi nhấn nút, sẽ có một file tên google-services.json được tải về. Các bạn chép nó vào thư mục app/ của project:


Kết luận

Qua bài này chúng ta đã nắm được cách tạo file google-services.json, cách tạo key debug để tích hợp Google Sign-in vào ứng dụng.

Bài sau chúng ta sẽ tiến hành code logic phần sign - in TÍCH HỢP MẠNG XÃ HỘI GOOGLE dựa trên những thông tin đã có, đã làm trong bài này.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tài liệu 

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Tích hợp mạng xã hội vào ứng dụng Android (Google) dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên like hoặc +1 Google để ủng hộ Kteam và tác giả nhé! 


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng. 

 

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education