Cara Membuat Realtime Database Di Firebase, Dan Memilih Start In Test Mode
Cara Membuat Realtime Database Di Firebase, Dan Memilih Start In Test Mode
Untuk membuat Realtime Database di Firebase dan memilih Start in test mode, ikuti langkah-langkah berikut:
1️⃣ Buat Proyek Firebase
- Buka Firebase Console → Firebase Console
- Klik "Add Project" (Tambahkan Proyek)
- Masukkan nama proyek (misalnya:
CaturNineOnline
) - Matikan Google Analytics jika tidak diperlukan
- Klik "Create Project" dan tunggu hingga proses selesai
- Klik "Continue" setelah proyek selesai dibuat
2️⃣ Tambahkan Realtime Database
- Di Firebase Console, pilih proyek yang telah dibuat
- Di menu sebelah kiri, klik Build → Realtime Database
- Klik "Create Database"
- Pilih lokasi database
- Pilih asia-southeast1 (Singapura) agar lebih cepat untuk Indonesia
- Klik "Next"
- Pilih "Start in test mode"
- Test mode memungkinkan semua pengguna membaca & menulis data
- Nantinya bisa diperketat dengan aturan keamanan
- Klik "Enable" untuk mengaktifkan database
3️⃣ Konfigurasi Database
Setelah Realtime Database dibuat:
- URL Database akan muncul seperti ini:
https://catur-nine.firebaseio.com/
- Atur aturan akses jika diperlukan:
Klik tab Rules dan pastikan aturan default seperti ini (untuk test mode):
Catatan:{ "rules": { ".read": true, ".write": true } }
- Mode Test membiarkan siapa pun bisa membaca & menulis data.
- Untuk keamanan, ubah
.read
dan.write
kefalse
setelah pengujian selesai.
4️⃣ Integrasi Firebase ke Python (Pygame)
Sekarang, kita bisa menghubungkan Pygame dengan Firebase menggunakan Firebase Admin SDK.
-
Install Firebase Admin SDK di Python
pip install firebase-admin
-
Unduh kunci JSON Firebase
- Di Firebase Console → Klik ⚙ Project Settings
- Masuk ke tab Service Accounts
- Klik Generate New Private Key → Download JSON File
- Copy paste isi file JSON ini dan tempelkan ke teks editor (Pydroid3) Anda. Lalu Simpan file JSON ini di proyek Python Anda (dengan nama file misalnya:
firebase_key.json
)
-
Hubungkan Python ke Firebase
import firebase_admin from firebase_admin import credentials, db # Autentikasi dengan Firebase menggunakan kunci JSON cred = credentials.Certificate("firebase_key.json") firebase_admin.initialize_app(cred, { "databaseURL": "https://catur-nine.firebaseio.com/" }) # Menulis data ke Realtime Database ref = db.reference("game_state") ref.set({ "turn": "white", "board": "Initial state" }) print("Data berhasil dikirim ke Firebase!")
Kesimpulan
✅ Sekarang Firebase Realtime Database telah dibuat dan terhubung ke Python!
- Test Mode memungkinkan akses bebas untuk pengujian.
- Aturan bisa diperketat nanti untuk keamanan.
- Pygame bisa membaca & menulis data ke Firebase secara real-time! π
Kode yang meng-Hubungkan Python ke Firebase tersebut sebaiknya disimpan dalam sebuah file Python dengan nama yang sesuai dengan fungsinya. Beberapa pilihan nama file yang direkomendasikan:
firebase_setup.py
→ Jika kode ini hanya untuk menghubungkan Firebase dengan Pythonfirebase_init.py
→ Jika kode ini digunakan untuk inisialisasi dan pengaturan awal Firebasefirebase_config.py
→ Jika digunakan untuk menyimpan konfigurasi Firebase yang bisa dipanggil dari file lainsync_firebase.py
→ Jika fungsinya untuk mengirim atau menyinkronkan data ke Firebase
Langkah-Langkah:
- Buat file baru di proyek Python Anda, misalnya:
firebase_setup.py
- Simpan kode tersebut dalam file
- Jalankan file di terminal atau command prompt:
python firebase_setup.py
- Jika berhasil, output akan muncul:
Data berhasil dikirim ke Firebase!
π₯ Sekarang Firebase telah dikonfigurasi dan bisa digunakan dalam proyek catur_nine! π
Ketika kode isi file firebase_setup.py dieksekusi, tapi muncul Error 404 Not Found
pada Firebase Realtime Database, ini menunjukkan bahwa database tidak ditemukan atau URL yang digunakan salah. Berikut beberapa kemungkinan penyebab dan cara mengatasinya:
1. Periksa URL Database
πΉ Masalah:
- URL yang Anda gunakan dalam kode adalah:
https://catur-nine.firebaseio.com/
- Tetapi Firebase sekarang menggunakan domain
.firebasedatabase.app
, bukan.firebaseio.com
πΉ Solusi:
- Buka Firebase Console → Realtime Database
- Salin URL database yang benar
- Ubah kode Anda seperti ini:
firebase_admin.initialize_app(cred, { "databaseURL": "https://catur-nine-default-rtdb.asia-southeast1.firebasedatabase.app/" })
- Ganti
"catur-nine-default-rtdb"
dengan nama proyek Anda.
2. Pastikan Realtime Database Sudah Dibuat
πΉ Masalah:
- Realtime Database belum diaktifkan di Firebase
- Mode keamanan masih dalam kondisi Tertutup (Locked Mode)
πΉ Solusi:
- Masuk ke Firebase Console
- Pilih Project Anda → Realtime Database
- Jika belum ada database, buat dulu dengan klik Create Database
- Pilih Start in test mode agar bisa menulis data tanpa otentikasi
- Coba jalankan ulang kode Python
3. Pastikan File JSON Key Benar
πΉ Masalah:
- File
firebase_key.json
yang digunakan mungkin salah atau belum diunduh
πΉ Solusi:
-
Unduh ulang key dari Firebase:
- Masuk ke Firebase Console → Project settings
- Pilih Service Accounts
- Klik Generate new private key
- Simpan file
firebase_key.json
di direktori proyek
-
Pastikan kode menunjuk ke file JSON yang benar:
cred = credentials.Certificate("firebase_key.json")
4. Gunakan Koneksi Internet Stabil
Jika masih error, pastikan koneksi internet tidak terputus atau diblokir firewall.
πΉ Kesimpulan:
- π§ Gunakan URL Database yang benar (
firebasedatabase.app
) - ✅ Pastikan Realtime Database sudah dibuat dan dalam mode "test mode"
- π Gunakan file JSON autentikasi yang valid
Setelah mengikuti langkah-langkah ini, coba jalankan ulang skrip Python Anda. π
Jika masih muncul Ertor, maka perhatikan Penulisan Kode harus benar dan tidak mengandung kesalahan pada bagian databaseURL
. Berikut beberapa perbaikan yang harus dilakukan:
1. Kesalahan pada URL Firebase
Masalah utama adalah penggunaan spasi dalam URL:
"databaseURL": "https://nama proyek anda.asia-southeast1.firebasedatabase.app/"
Spasi dalam URL akan menyebabkan error "Failed to resolve hostname".
Solusi:
Pastikan Anda menggunakan nama database yang benar dan tidak mengandung spasi. Ubah URL seperti ini:
"databaseURL": "https://nama-proyek-anda.asia-southeast1.firebasedatabase.app/"
Pastikan Anda mengganti nama-proyek-anda dengan nama proyek Anda yang sesuai dengan Firebase Console.
2. Pastikan Realtime Database Sudah Dibuat
Buka Firebase Console → Realtime Database
Jika belum ada database, klik Create Database
- Pilih Asia Southeast1 (Singapura) agar lebih cepat
- Pilih Start in test mode (untuk pengujian tanpa autentikasi)
3. Pastikan File JSON Key Valid
Jika masih error, pastikan file firebase_key.json
sudah benar.
Cara mendapatkannya:
- Masuk ke Firebase Console
- Buka Project Settings
- Pilih Service Accounts
- Klik Generate new private key
- Simpan file
.json
ini di folder proyek Anda
Kode yang sudah diperbaiki
import firebase_admin
from firebase_admin import credentials, db
# Autentikasi dengan Firebase menggunakan kunci JSON
cred = credentials.Certificate("firebase_key.json")
firebase_admin.initialize_app(cred, {
"databaseURL": "https://nama-proyek-anda.asia-southeast1.firebasedatabase.app/"
})
# Menulis data ke Realtime Database
ref = db.reference("game_state")
ref.set({
"turn": "white",
"board": "Initial state"
})
print("Data berhasil dikirim ke Firebase!")
Kesimpulan
✅ Gunakan nama database yang benar tanpa spasi
✅ Pastikan Realtime Database sudah dibuat di Firebase Console
✅ Gunakan kunci JSON yang benar untuk autentikasi
Setelah melakukan perbaikan ini, coba jalankan ulang kode Anda. Jika berhasil, output akan muncul:
Data berhasil dikirim ke Firebase!
π Mantap! π Berarti koneksi ke Firebase sudah berhasil.
Sekarang, langkah berikutnya apa?
Apakah ingin menampilkan data dari Firebase ke game catur_nine, atau menghubungkan Firebase ke Pygame agar bidak bisa bergerak otomatis?
Kerahasiaan Yang Harus Dijaga
Dalam pengembangan aplikasi yang terhubung ke Firebase dan server online seperti ini, ada beberapa hal yang harus dijaga kerahasiaannya agar tidak disalahgunakan oleh pihak lain. Berikut adalah beberapa yang paling penting:
1. API Key & Credentials
- File
firebase_key.json
→ Ini adalah kunci autentikasi untuk Firebase. Jangan pernah membagikannya atau mengunggahnya ke repositori publik seperti GitHub. - API Key Firebase & Ngrok → Jangan membagikan atau mengekspos API key secara langsung dalam kode. Gunakan variabel lingkungan (environment variables) agar lebih aman.
2. Database Rules & Permissions
- Jangan biarkan Firebase Realtime Database dalam "test mode" selamanya.
- Mode ini membolehkan siapa saja membaca dan menulis data tanpa autentikasi.
- Pastikan setelah uji coba, atur rules Firebase agar hanya pemain yang terautentikasi bisa mengakses data.
Contoh aturan keamanan di Firebase Rules:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
Ini berarti hanya pengguna yang sudah login bisa membaca dan menulis data.
3. URL Database & Hosting
- Hindari membagikan URL Firebase Realtime Database atau URL server backend secara publik.
- Jika menggunakan Ngrok atau VPS, jangan bagikan domain publiknya ke orang yang tidak berkepentingan.
4. Data Sensitif dalam Kode
- Hindari menyimpan password, token autentikasi, atau data sensitif lainnya di dalam kode.
- Gunakan .env file atau config terpisah untuk menyimpan informasi sensitif.
5. Keamanan Login & Autentikasi
- Gunakan Firebase Authentication atau metode login yang aman (Google, Email/Password, dll).
- Jangan mengizinkan login tanpa verifikasi pengguna.
Kesimpulan
Untuk menjaga keamanan kode dan data:
✅ Simpan firebase_key.json dengan aman.
✅ Gunakan variabel lingkungan untuk API key dan kredensial.
✅ Atur aturan keamanan di Firebase agar tidak bisa diakses sembarang orang.
✅ Jangan mengunggah file berisi informasi sensitif ke tempat publik.
Kalau ada yang perlu diperjelas atau ingin tambahan fitur keamanan, bisa lanjut diskusi! π
Comments
Post a Comment