Hướng dẫn add firebase vào project android năm 2024

Firebase là gì? Firebase là một dịch vụ của Google được tạo ra nhằm đáp ứng cho chúng ta lưu trữ dữ liệu cũng như là đăng nhâp,… cho app của chúng ta.

Firebase hỗ trợ hầu hết là toàn bộ ngôn ngữ và platforms như: Java(Android), iOS (Swift), JavaScript, NodeJS, C++, Unity.

1/ Firebase có tính năng đặc biệt gì?

Các tính năng đặc biệt mà Firebase cung cấp cho chúng ta là:

  • Realtime Database
  • Cloud Storage
  • Authentication (Email, Facebook, Google,…)
  • Cloud Messaging

Xem đầy đủ tại: https://firebase.google.com/products/

Và với những tính năng Firebase đem lại, ta có thể apply vào app của chúng ta một cách đơn giản nhất và sử dụng nhanh chóng cũng như là phát triển app tốt hơn.

Đặc biệt là Firebase hỗ trợ 3 loại users:

  • Miễn phí (có giới hạn) – Spark
  • Pay as you go (Xài bao nhiêu trả bao nhiêu) – Blaze
  • 25$ (tăng giới hạn so với Spark) – Flame

Và nếu chúng ta là 1 công ty, phần mềm startup thì Spark đã quá đủ để chúng ta phát triển lên dần.

2/ Tạo Firebase project

Để tạo được project Firebase, điều tất nhiên ta cần là 1 tài khoản Google.

  1. Login vào tài khoản Google.
  2. Truy cập: https://console.firebase.google.com
  3. Nhấn nút “Add Project”
  4. Một bảng popup sẽ hiện ra, ta sẽ nhập tên Project cũng như chọn nước phát hành.
  5. Nhấn “Create project” để tiếp tục tạo project.

Vậy là một project cơ bản đã được tạo ra, bây giờ ta qua phần setup thôi 😀

3/ Setup Firebase cho Project

Project ở đây mình sử dụng là project Android, và xuyên suốt quá trình hướng dẫn Firebase, mình sẽ tập trung duy nhất vào Android nhé (sau đó sẽ tới AngularJS)

Sau khi tạo xong, Google sẽ tự chuyển ta qua trang của Project.

Lưu ý: trước khi tiếp tục, các bạn hãy tạo 1 project Android trước nhé (nếu có sẵn rồi thì khỏi :D)

Hướng dẫn add firebase vào project android năm 2024

Mình sẽ tiếp tục chọn “Add Firebase to your Android app”

Hướng dẫn add firebase vào project android năm 2024

Ta tiếp tục điền tên App cũng như là Package Name (quan trọng) và sau đó Register App.

Hướng dẫn add firebase vào project android năm 2024

Sau đó ta chỉ cần download google-services.json về, copy và paste vào thư mục app của project(như Google hướng dẫn), Continue là xong về phần tạo Firebase project.

Về phần Add Firebase SDK, mình sẽ hướng dẫn các bạn ở bài sau luôn nhé 😀

Bài tiếp theo sẽ là: Add Firebase SDK cho Android và sử dụng Firebase Realtime Database đơn giản 😀

Chúc các bạn thành công!

Hướng dẫn add firebase vào project android năm 2024

Mình là Phát - biệt danh Seth Phát. Hiện đang là một Sr. Full-Stack Engineer. Mình là một người yêu thích và đam mê lập trình và hiện tại đang theo về phần Web là chủ yếu. Mạnh Back-end và khá Front-end, vẫn đang theo đều cả 2 :v. Còn gì bằng khi được làm những thứ mà mình yêu thích, đam mê ;)

Bước 2: Thực hiện theo các bước trong Firebase để tạo một dự án mới, sau khi tạo thành công, bạn sẽ thấy giao diện người dùng này, nhấp vào biểu tượng Android

Hướng dẫn add firebase vào project android năm 2024

Bước 3: Bạn sẽ cần tên package trong dự án Android, bạn có thể tìm thấy tên package trong AndroidManifest

Hướng dẫn add firebase vào project android năm 2024

Hướng dẫn add firebase vào project android năm 2024

Bước 4: Tải file google-services.json và thêm vào project Android

Chọn mục project để có thể thấy thư mục gốc trong dự án, thêm file google-services.json mới tải xuống vào thư mục “Project -> app“.

Hướng dẫn add firebase vào project android năm 2024

Hướng dẫn add firebase vào project android năm 2024

Bước 5: Thêm SDK Firebase

1. Trong”build.gradle” (project):

Hướng dẫn add firebase vào project android năm 2024

2. Trong “build.gradle” (app):

Hướng dẫn add firebase vào project android năm 2024

Bước 6: Cài đặt ứng dụng và chờ Firebase kiểm tra, bạn sẽ thấy thông báo khi thành công, chọn “Continue to console”, bây giờ Firebase đã được thêm vào project của bạn.

Hướng dẫn add firebase vào project android năm 2024

III. In-App Message

1. Giới thiệu

Firebase In-App Messaging giúp ứng dụng của bạn có thể thu hút người dùng đang hoạt động bằng cách gửi cho họ những thông điệp tuỳ theo mục đích của bạn và khuyến khích họ sử dụng các tính năng chính của ứng dụng. Ví dụ: bạn có thể gửi tin nhắn trong ứng dụng để khiến người dùng đăng ký, xem video, hoàn thành cấp độ hoặc mua một mặt hàng nào đó. Bạn có thể tùy chỉnh tin nhắn dưới dạng cards, banners, modals, hoặc images, và bạn có thể cài đặt thời điểm hiển thị chính xác giúp cho chúng có thể mang lại lợi ích cho người dùng của bạn nhiều nhất.

2. Bắt đầu

Bước 1: Thêm “implementation ‘com.google.firebase:firebase-inappmessaging-display:19.0.3’ ” vào “build.gradle” (app) và “Sync Now”

Hướng dẫn add firebase vào project android năm 2024

Bước 2: Lấy Firebase instance ID (ID này được dùng để test in-app messaging trên Firebase)

private fun createInstanceId() { > FirebaseInstanceId.getInstance().instanceId.addOnCompleteListener { task -> > if (!task.isSuccessful) { > Log.w(TAG, "getInstanceId failed", task.exception) > return@addOnCompleteListener > } //create new instance id Token > val msg = task.result?.id > Log.d(TAG, "token: $msg") > } > }

Hướng dẫn add firebase vào project android năm 2024

Bước 3: Cài đặt ứng dụng và mở Logcat để lấy ID token

Hướng dẫn add firebase vào project android năm 2024

Bước 4: Sau khi lấy được ID token, vào Firebase Console và đi đến mục In-App Messaging, chọn “Create your first campaign”

Hướng dẫn add firebase vào project android năm 2024

Hướng dẫn add firebase vào project android năm 2024

Thêm “Button Text” (vd: ok)

Hướng dẫn add firebase vào project android năm 2024

Bước 6: Chọn “Test on Device”, và thêm ID token đã được hiển thị trong Logcat (Bước 3)

Hướng dẫn add firebase vào project android năm 2024

Firebase In-App Messaging sẽ gửi tin nhắn đến cho bạn ngay sau khi chọn Test. để thấy được tin nhắn, cho ứng dụng của bạn xuống background sau đó mở lại app.

Hướng dẫn add firebase vào project android năm 2024

Kết quả sau khi mở lại ứng dụng:

Hướng dẫn add firebase vào project android năm 2024

Bước 7: Sau khi test thành công , chọn “Next” để tiếp tục

Hướng dẫn add firebase vào project android năm 2024

Hướng dẫn add firebase vào project android năm 2024

Chọn “Review” để publish tin nhắn.

Hướng dẫn add firebase vào project android năm 2024

Hướng dẫn add firebase vào project android năm 2024

Khi chọn “Publish” tin nhắn sẽ được gửi đến ứng dụng của bạn.

Kết quả:

Hướng dẫn add firebase vào project android năm 2024
Hướng dẫn add firebase vào project android năm 2024
Hướng dẫn add firebase vào project android năm 2024

IV. Cloud Message

1. Giới thiệu

Firebase Cloud Messaging (FCM) là một giải pháp nhắn tin đa nền tảng cho phép bạn gửi tin nhắn một cách đáng tin cậy và hoàn toàn miễn phí. sử dụng FCM, bạn có thông báo đến cho người dùng rằng email mới hoặc dữ liệu khác đã có sẵn để đồng bộ hóa. Bạn có thể gửi tin nhắn thông báo để thúc đẩy sự tham gia và duy trì của người dùng. Đối với các trường hợp sử dụng như nhắn tin tức thời, tin nhắn có thể chuyển tải trọng lên tới 4KB cho ứng dụng.

2. Bắt đầu

Bước 1: Thêm “implementation ‘com.google.firebase:firebase-messaging:20.1.0’ ” vào “build.gradle” (app) và “Sync Now”

Hướng dẫn add firebase vào project android năm 2024

Bước 2 : Thêm service vào File AndroidManifest

  android:name=".java.MyFirebaseMessagingService" >   android:exported="false"> >   >       >   >

MyFirebaseMessagingService thừa kế từ FirebaseMessagingService. Đây là bắt buộc nếu bạn muốn xử lý bất kì tin nhắn thông báo nào trên ứng dụng của bạn chạy dưới background. Để nhận thông báo trong foreground ứng dụng, để nhận dữ liệu, để gửi các thư ngược lại và nhiều hơn nữa… Bạn phải thừa kế từ service này.

Hướng dẫn add firebase vào project android năm 2024

Bây giờ bạn sẽ thấy dòng 23 bị lỗi, bởi vì chưa có class MyFirebaseMessagingService trong project

Hướng dẫn add firebase vào project android năm 2024

Hướng dẫn add firebase vào project android năm 2024

Hướng dẫn add firebase vào project android năm 2024

đổi package name từ .java.MyFirebaseMessagingService thành .MyFirebaseMessagingService.

Hướng dẫn add firebase vào project android năm 2024

Bước 3 (không bắt buộc): thêm icon mặc định và màu, bạn có thể bỏ qua bước này nếu như bạn ko cần

Set custom default icon. This is used when no icon is set for incoming notification messages. >    See README(https://goo.gl/l4GJaQ) for more. > >   android:name="com.google.firebase.messaging.default_notification_icon" >   android:resource="@drawable/ic_stat_ic_notification" /> > Set color used with incoming notification messages. This is used when no color is set for the incoming >    notification message. See README(https://goo.gl/6BKBk7) for more. > >   android:name="com.google.firebase.messaging.default_notification_color" >   android:resource="@color/colorAccent" />

Hướng dẫn add firebase vào project android năm 2024

Bước 4 (Không bắt buộc): Từ Android 8.0 (API level 26) và cao hơn, các thông báo đã được hỗ trợ và đề xuất. FCM cung cấp thông báo mặc định với cài đặt cơ bản. Còn nếu bạn muốn thông báo với giao diện của riêng mình, bạn hãy đặt default_notification_channel_id thành ID thông báo của bạn như hình bên dưới. FCM sẽ sử dụng giá trị này với bất cứ tin nhắn nào đến mà không thiết lập thông báo nào vào thư mục res/values/strings.xml và thêm dòng code này.

1

Hướng dẫn add firebase vào project android năm 2024

Mở file AndroidMnifest và thêm đoạn code này.

  android:name="com.google.firebase.messaging.default_notification_channel_id" >   android:value="@string/default_notification_channel_id" />

Hướng dẫn add firebase vào project android năm 2024

Bước 5: Vào file MainActivity để lấy token (dùng để test FCM)

private fun createInstanceId() { > FirebaseInstanceId.getInstance().instanceId.addOnCompleteListener { task -> > if (!task.isSuccessful) { > Log.w(TAG, "getInstanceId failed", task.exception) > return@addOnCompleteListener > } //get id Token > // Get new Instance ID token > val token = task.result?.token // Log and toast > Log.d(TAG, "token: $token") > Toast.makeText(baseContext, "token: $token", Toast.LENGTH_SHORT).show() > } > }

Hướng dẫn add firebase vào project android năm 2024

Cài app vào chạy, nếu thành công bạn sẽ nhận được Firebase instance ID.

Hướng dẫn add firebase vào project android năm 2024

Bước 6: Thiết lập file MyFirebaseMessagingService

class MyFirebaseMessagingService : FirebaseMessagingService() { > companion object { > private val TAG = this::class.java.simpleName > } override fun onNewToken(token: String) { > Log.d(TAG, "Refreshed token: $token") > super.onNewToken(token) > } override fun onMessageReceived(remoteMessage: RemoteMessage) { > super.onMessageReceived(remoteMessage) > Log.d(TAG, "From: ${remoteMessage.from}") remoteMessage.data.isNotEmpty().let { > } remoteMessage.notification?.let { > Log.d(TAG, "Message Notification Body: ${it.body}") > it.body?.let { body -> > sendNotification(body) > } > } > } private fun sendNotification(messageBody: String) { > val intent = Intent(this, CloudMessageActivity::class.java) > intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP > val pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT) val channelId = getString(R.string.default_notification_channel_id) > val defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION) > val notificationBuilder = NotificationCompat.Builder(this, channelId) > .setSmallIcon(R.drawable.ic_notifications) > .setContentTitle("Mess Title") > .setContentText(messageBody) > .setAutoCancel(true) > .setSound(defaultSoundUri) > .setContentIntent(pendingIntent) val notificationManager = > getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { > val channel = NotificationChannel( > channelId, "Channel human readable title", > NotificationManager.IMPORTANCE_DEFAULT > ) > notificationManager.createNotificationChannel(channel) > } notificationManager.notify(1, notificationBuilder.build()) > } > }

Bước 7: Test FCM trên Firebase

Hướng dẫn add firebase vào project android năm 2024

Nhập Title, text và image (không bắt buộc) vd https://cdn.pixabay.com/photo/2017/07/07/02/05/symbol-2480161_960_720.png

Hướng dẫn add firebase vào project android năm 2024

Thêm ID token đã lấy được trong Logcat (bước 5)

Hướng dẫn add firebase vào project android năm 2024
Kết quả test:

Hướng dẫn add firebase vào project android năm 2024

Bước 8: Tạo và gửi tin nhắn

Sau khi test thành công, chọn “Next“để tiếp tục

Hướng dẫn add firebase vào project android năm 2024

Hướng dẫn add firebase vào project android năm 2024

Hướng dẫn add firebase vào project android năm 2024

Sau khi chọn “Publish” Firebase sẽ gửi tin nhắn đến cho ứng dụng

Kết quả:

Hướng dẫn add firebase vào project android năm 2024
Hướng dẫn add firebase vào project android năm 2024
Hướng dẫn add firebase vào project android năm 2024

V. Realtime Database

1. Giới thiệu

Firebase Realtime Database là cơ sở dữ liệu lưu trữ trên mây. Dữ liệu được lưu trữ và đồng bộ hóa theo thời gian thực với mỗi client được kêt nối. Khi bạn xây dựng ứng dụng đa nền tảng với iOS, Android, và javascript SDK, tất cả các client của bạn chia sẽ một thể hiện Realtime Database và tự động tiếp nhận các thay đổi với dữ liệu mới nhất.

2. Bắt đầu

Bước 1: Thêm “implementation ‘com.google.firebase:firebase-database:19.2.1’ ” vào “build.gradle” (app) và “Sync Now”

Hướng dẫn add firebase vào project android năm 2024

Bước 2: Sửa “Rules” realtime database thành true

Hướng dẫn add firebase vào project android năm 2024

chi tiết về “Rules” của real time database bạn có thể xem ở này

Bước 3: tạo class UserModel

data class UserModel( > var id: String = "", > var name: String = "", > var age: Int = 0, > var email: String = "" > ) { > override fun toString(): String { > return "UserModel(id='$id', name='$name', age=$age, email='$email')" > } > }

Bước 4: Tạo 1 layout gồm 3 edit text (name, age and email), 4 button (insert, get, update, delete), 1 recycler view để chứa dữ liệu User