Buat APK Gratis

Backend dan akun

Analytics, login Facebook & langganan - penyiapan

Firebase Analytics, Facebook Login, dan RevenueCat, langkah demi langkah

1Yang dihubungkan kartu ini#

Langkah Integrate memiliki kartu bernama Sign-in, analytics & subscriptions. Kartu ini menghubungkan akun ANDA SENDIRI:

  • Firebase Analytics: siapa yang memakai aplikasi dan apa yang mereka lakukan
  • Facebook Login: tombol Continue with Facebook, plus Meta App Events
  • RevenueCat: langganan dan pembelian

Setiap sakelar terpisah. Aktifkan hanya yang Anda pakai; aplikasi dengan semua sakelar nonaktif di-build persis seperti sebelumnya.

2Firebase Analytics: buat atau pilih proyek#

Buka konsol Firebase dan ketuk Create a project (atau pilih proyek yang sudah dipakai aplikasi Anda untuk push). Biarkan Google Analytics tetap AKTIF saat ditanya, dan pilih atau buat akun Analytics.

Sudah punya proyek tanpa Analytics? Project settings β†’ Integrations β†’ Google Analytics β†’ Enable.

3Firebase Analytics: tambahkan aplikasi Android Anda#

Di proyek, ketuk Add app β†’ Android.

  • Android package name: ketik nama paket yang PERSIS SAMA dari langkah Basic di wizard, misalnya com.yourname.myapp. Satu huruf salah dan tidak ada data yang masuk.
  • Nickname bersifat opsional, dan SHA-1 tidak diperlukan untuk analytics.

Ketuk Register app, lalu Download google-services.json. Anda boleh melewati langkah Firebase lainnya; AppMint menambahkan SDK untuk Anda.

Mengubah nama paket belakangan? Tambahkan paket baru sebagai aplikasi Android lain dan unduh filenya lagi.

4Firebase Analytics: aktifkan di wizard#

Langkah Integrate β†’ Sign-in, analytics & subscriptions β†’ aktifkan Firebase Analytics. Unggahan google-services.json lalu muncul di kartu Push Notifications: unggah file di sana. Itu file yang sama dengan yang dipakai push, jadi jika sudah diunggah untuk push, Anda sudah selesai.

Catat tampilan layar untuk setiap perubahan halaman: saat ini aktif, aplikasi mencatat screen_view setiap kali halaman Anda berganti rute (tautan, perubahan riwayat, mundur dan maju, perubahan #), lengkap dengan path dan judul halaman. Anda bisa melihat layar mana yang dipakai orang tanpa menulis kode apa pun. Biarkan nonaktif jika halaman Anda mengirim panggilan screenView sendiri, atau layar akan dihitung dua kali.

5Kirim event Anda sendiri#

AppMint.analytics.log(name, params) mencatat satu event. Nama memakai huruf, angka, dan _ (maksimal 40 karakter, diawali huruf). Jawabannya menyatakan apa yang terkirim, atau mengapa tidak: no_consent, not_configured, invalid_name, reserved_name.

setUserId menandai event dengan user id Anda sendiri (jangan pernah e-mail), setUserProperty menetapkan properti seperti plan, dan screenView mencatat layar secara manual. Dengan Meta App Events aktif, log mengirim event yang sama ke Meta juga.

if (window.AppMint && AppMint.analytics) {
  AppMint.analytics.setUserId('u_42');
  AppMint.analytics.setUserProperty('plan', 'pro');
  const r = await AppMint.analytics.log('add_to_cart', { item_id: 'sku-42', value: 19.99, currency: 'USD' });
  if (!r.ok) console.warn('not logged', r.providers);
  AppMint.analytics.screenView('Checkout', 'CheckoutPage');
}

6Tempat data muncul#

Konsol Firebase β†’ Analytics. Realtime menampilkan pengguna dan event dalam beberapa menit setelah aplikasi dibuka. Laporan Dashboard dan Events terisi dalam sekitar 24 jam, jadi laporan kosong di hari pertama itu normal.

Untuk melihat setiap event secara langsung saat menguji, sambungkan ponsel ke komputer dan jalankan perintah di bawah, lalu buka aplikasi dan masuk ke Analytics β†’ DebugView. Gunakan nama paket Anda sendiri.

adb shell setprop debug.firebase.analytics.app com.yourname.myapp
# turn it off again:
adb shell setprop debug.firebase.analytics.app .none.

Di aplikasi yang menampilkan iklan, formulir persetujuan Google juga menentukan analytics: tidak ada yang dikumpulkan sampai pengguna menjawabnya, dan di tempat GDPR berlaku pengguna harus setuju. Sampai saat itu panggilan dijawab no_consent dan tidak ada yang diantrekan.

Halaman Anda selalu dapat mematikan pengumpulan: AppMint.analytics.setEnabled(false) menghentikannya dan diingat, setEnabled(true) menyalakannya kembali. Sebutkan analytics di kebijakan privasi Anda dan di formulir Data safety Play.

document.getElementById('optOut').onchange = (e) =>
  AppMint.analytics.setEnabled(!e.target.checked);

8Facebook Login: buat aplikasi Facebook#

Buka Meta for Developers β†’ My Apps β†’ Create app. Pilih use case untuk memasukkan orang dengan Facebook Login (atau tambahkan produk Facebook Login ke aplikasi yang sudah Anda miliki). Beri nama dan e-mail kontak Anda.

9Facebook Login: tambahkan URL pengalihan#

Facebook Login β†’ Settings β†’ Valid OAuth Redirect URIs: tambahkan
https://freewebtoapk.com/fb-return/
persis, termasuk garis miring terakhir. Wizard memiliki tombol Copy redirect URL sehingga Anda tidak perlu mengetiknya. Biarkan Client OAuth login dan Web OAuth login aktif, lalu Save changes.

Tidak perlu key hash maupun penyiapan platform Android: proses masuk terbuka di tab browser lalu kembali ke aplikasi Anda.

10Facebook Login: App ID dan Client Token#

App settings β†’ Basic menampilkan App ID. App settings β†’ Advanced β†’ Security menampilkan Client token. Tempel keduanya ke kolom Facebook Login di wizard.

Selama aplikasi Facebook dalam mode Development, hanya orang yang memiliki peran di dalamnya (Anda dan penguji Anda) yang dapat masuk. Sebelum menerbitkan, tambahkan URL kebijakan privasi dan ikon di App settings β†’ Basic lalu alihkan aplikasi ke Live.

11Facebook Login: masukkan pengguna#

AppMint.facebook.login(permissions) membuka Facebook dan menghasilkan token, atau ok: false dan cancelled saat pengguna membatalkan. Kirim token ke server Anda dan periksa di sana. getAccessToken() mengembalikan token tersimpan saat halaman dimulai; logout() keluar.

Aktifkan Meta App Events untuk mengirim instalasi, pembukaan aplikasi, dan event Anda sendiri ke Meta Events Manager. AppMint.facebook.logEvent(name, valueToSum, params) hanya mengirim ke Meta; mengikuti aturan persetujuan yang sama dengan analytics.

const r = await AppMint.facebook.login(['public_profile', 'email']);
if (r.ok) {
  await fetch('/api/login/facebook', { method: 'POST', body: JSON.stringify({ token: r.accessToken }) });
} else if (!r.cancelled) {
  alert('Facebook sign-in failed: ' + (r.message || r.error));
}
AppMint.facebook.logEvent('fb_mobile_purchase', 9.99, { fb_currency: 'USD' });

12RevenueCat: buat proyek dan hubungkan Google Play#

Di RevenueCat, buat proyek dan tambahkan aplikasi untuk Google Play Store. Masukkan nama paket yang PERSIS SAMA dari langkah Basic.

RevenueCat memeriksa pembelian dengan Google melalui akun layanan: ikuti panduan RevenueCat sendiri untuk membuatnya di Google Cloud, undang di Play Console dengan izin keuangan yang tercantum, dan unggah kredensial JSON-nya ke aplikasi RevenueCat. Google dapat membutuhkan satu hari atau lebih sebelum kredensial baru berfungsi.

13RevenueCat: produk, entitlement, dan offering#

  1. Di Play Console buat langganan atau produk dalam aplikasi Anda (aplikasi harus diunggah dulu ke jalur pengujian).
  2. Di RevenueCat β†’ Product catalog, tambahkan id produk yang sama.
  3. Buat Entitlement, misalnya pro, dan lampirkan produk yang membukanya.
  4. Buat Offering (yang default ditampilkan sebagai current) dengan paket seperti Monthly dan Annual yang menunjuk ke produk tersebut.

Halaman Anda membaca offering saat ini untuk menggambar paywall, dan memeriksa entitlement untuk membuka fitur.

14RevenueCat: kunci Google publik#

RevenueCat β†’ Project settings β†’ API keys: salin kunci PUBLIK aplikasi Google Play Anda. Diawali dengan goog_. Tempel ke kolom RevenueCat di wizard.

Jangan pernah memakai kunci rahasia (sk_...). Apa pun di dalam aplikasi dapat dibaca oleh siapa saja yang mengunduhnya, dan kunci rahasia memberi kendali penuh atas akun RevenueCat Anda.

15RevenueCat: offering, pembelian, dan entitlement#

configure() memulai RevenueCat (berikan user id Anda sendiri, atau kosongkan untuk pengguna anonim). getOfferings() mengembalikan paywall, purchase(package) menjalankan pembelian Google Play, dan getCustomerInfo() menyatakan apa yang dimiliki pengguna. restore() memulihkan pembelian sebelumnya. Uji dengan akun license tester dan instalasi dari jalur pengujian Play.

if (window.AppMint && AppMint.revenuecat) {
  await AppMint.revenuecat.configure({ appUserId: 'u_42' });
  const off = await AppMint.revenuecat.getOfferings();
  if (off.ok && off.current) {
    const pkg = off.current.availablePackages[0];
    const r = await AppMint.revenuecat.purchase(pkg);
    if (r.ok) unlock();
  }
  const info = await AppMint.revenuecat.getCustomerInfo();
  const isPro = info.ok && !!info.customerInfo.entitlements.active.pro;
}

Halaman ini dibuat dari Panduan Integrasi di dalam aplikasi itu sendiri, jadi isinya persis sama dengan build saat ini. Baca sebagai Markdown.

Diperiksa terhadap panduan yang dirilis pada 2026-10-22.