- ประเด็นมีอยู่ว่า จะทำ Mobile app และ มีระบบ push notify
- และเราเองไม่เคยเขียน android app เลย ทำไงดีล่ะ
- ลองเขียน Flutter ดูพอจะเข้าใจบ้างเล็กน้อยแล้วหว่า เลยหาวิธีทำ Push notify ใน Flutter
- ซึ่งลองหาข้อมูลแล้ว เห็นเค้าๆ ใช้ Cloud Messaging ซึ่งเป็น Service ของ Firebase
- ขึ้นแรกต้องเพิ่ม Firebase เข้าไปใน Flutter project เราก่อน ถึงจะเรียกใช้ Service ต่างๆ ได้
Environment
- Ubuntu 18.04 Desktop 64bit
- Flutter v1.17.3
- Android Studio 4.0
- Emulator Pixel XL, API 27, 1440x2560:560dpi, Android 8.1(Google APIs), CPU/ABI = x86
Step
- สร้าง Flutter Project ขึ้นมา => Start a new Flutter project
- เลือก Flutter Application แล้วกัน
- ตั้งชื่อ Package และ Finish
- เข้า https://firebase.google.com/ และไปที่ Console เลือก Add project
- ตั้งชื่อ Firebase project ของเรา
- ไม่ต้องทำไร เลือก Continue
- เลือก Default Account for Firebase และ Create project
- รอมันสร้างเสร็จแล้ว Continue
- ใน Console project ที่เราสร้างเลือก Android Icon (iOS ไว้ทีหลังทำไม่เป็น)
- ให้เราไปเปิดไฟล์ AndroidManifest.xml มองหาค่า package="packagename" เราต้องใช้ค่ามันไปใส่ในขั้นตอนต่อไป (พาธนี้ projectname/android[projectname]/app/src/main/AndroidManifest.xml)
- Register app android package name ใส่ค่าที่ได้จากไฟล์ AndroidManifest.xml
- Nickname ใส่ไปเลยแล้วแต่เรา ส่วนค่า Debug signing certificate SHA-1 คลิกที่รูป ? เพื่อไปเอาค่ามา
- หลังจากที่คลิก ? ไปที่หน้า doc
- ให้เราใช้คำสั่งในหน้า doc นั้นไปรันใน terminal
- $ keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
- มันจะให้ใส่ Password เราก็ใส่เป็น android ตามคู่มือเค้า ให้เราเอาค่าที่ต่อจาก SHA1: 5D:0A:34:EF:8B:AC:37:42:21:80....... เอาอันนี้แหละไปลงทะเบียนต่อขั้นตอนต่อไป
- ใส่ค่าครบแล้วเลือก Register app
- ขั้นตอนต่อไป Download google-services.json
- นำไปใส่ Flutter project เราที่นี่เลย
- ขั้นตอนต่อไปแก้ไฟล์ build.gradle 2 พาธ ตาม doc เค้า (ของ Flutter projectname/android[projectname]/build.gradle และ projectname/android[projectname]/app/build.gradle)
- ที่ build.gradle ระดับ project เพิ่มคอนฟิกประมาณ 1 บรรทัด ถ้าไม่มีอะไรผิดปกตินะ
- classpath 'com.google.gms:google-services:4.3.3'
- ที่ build.gradle ระดับ app เพิ่มประมาณ 2 บรรทัด
- apply plugin: 'com.google.gms.google-services'
- อีกบรรทัดประมาณนี้
- implementation 'com.google.firebase:firebase-analytics:17.2.2'
- ตาม doc เค้าบอกให้กด Sync now บน bar ของ IDE แต่ไม่เห็นมีเลย งั้นเราก็ Next
- ให้เราทำการ Run Flutter project ของเรา
- จากนั้นกด Next ระบบจะตรวจสอบความถูกต้อง
- เมื่อเรารันระบบแล้ว มันจะ Sync กับ Firebase เอง สถานะของการตรวจสอบจะเป็น
- Congratulations, you've successfully added Firebase to your app!
- Flutter project พร้อมใช้งาน Firebase service แล้ว
Ref
- https://www.youtube.com/watch?v=3rMM4adtCJk
No comments:
Post a Comment