Asumsi saya kita akan membuat aplikasi web yang memiliki fitur in app purchase. Saya juga berasumsi NodeJS dan Cordova sudah terinstall. Jadi kita langsung ke perintah-perintah buat app nya.
Membuat direktori app dan memulai project baru
cordova create folderapp com.domain.namaapp JudulApp
Setelah itu kita cd ke folder app
cd folderapp
Lalu kita tambahkan platform android
cordova platform add android
Kemudian menambahkan plugin in app purchase
cordova plugin add cordova-plugin-purchase
Masuk ke dalam folder www, hapus isinya dan taruh file-file web milik kita ke dalamnya. Lalu tambahkan fungsi JavaScript terkait in app purchase dalam kode JS kita.
Anggap saja kita punya button dengan id=”removeadbutton” lalu kita akan tambahkan kode javascript ini yang tujuannya adalah melakukan pengecekan jika user pernah membeli fitur remove ads, maka button ini disembunyikan, namun jika tidak button tetap ada dan jika diklik akan mentrigger popup pembelian fitur hapus iklan Google Play Billing.
ini kode html tombol remove ads dan juga elemen iklan:
<button id="removeadsbutton">Hapus Iklan</button>
<div id="adscontainer">
<!-- Iklan di sini -->
</div>
Lalu ini kode js nya:
<script>
document.addEventListener('deviceready', function() {
// Inisialisasi store
store.verbosity = store.DEBUG;
// Daftarkan produk non-konsumtif
store.register({
id: "noads",
type: store.NON_CONSUMABLE
});
// Event saat produk sudah dibeli dan disetujui
store.when("noads").approved(function(product) {
product.finish(); // Wajib agar dianggap selesai
localStorage.setItem("ads_removed", "yes");
hideRemoveAdsButton();
removeAdsFromApp(); // Panggil fungsi hapus iklan
});
// Event saat produk berhasil dipulihkan (restore)
store.when("noads").owned(function(product) {
localStorage.setItem("ads_removed", "yes");
hideRemoveAdsButton();
removeAdsFromApp();
});
// Refresh store untuk memuat status produk
store.refresh();
// Cek status pembelian dari localStorage
if (localStorage.getItem("ads_removed") === "yes") {
hideRemoveAdsButton();
removeAdsFromApp();
} else {
showRemoveAdsButton();
}
// Handle klik tombol
document.getElementById("removeadsbutton").addEventListener("click", function() {
store.order("noads");
});
});
// Fungsi untuk menyembunyikan tombol
function hideRemoveAdsButton() {
var btn = document.getElementById("removeadsbutton");
if (btn) btn.style.display = "none";
}
// Fungsi untuk menampilkan tombol
function showRemoveAdsButton() {
var btn = document.getElementById("removeadsbutton");
if (btn) btn.style.display = "block";
}
// Fungsi untuk menghapus iklan (kamu sesuaikan sendiri)
function removeAdsFromApp() {
// Misalnya:
var adElement = document.getElementById("adscontainer");
if (adElement) adElement.style.display = "none";
}
</script>
Sekarang anggap app dari sisi konten html nya sudah siap, tinggal kita set file config.xml nya. Buka file config.xml project lalu tambahkan ini di dalam widget:
<icon src="res/icon.png" />
Itu untuk menentukan file icon program. Lalu buat folder res di sebelah file config dan isi dengan file gambar icon.png
Menambahkan file build.json untuk set keystore dan signing app. Buat file tersebut yang isinya:
{
"android": {
"release": {
"keystore": "F:/xxx.keystore",
"storePassword": "123",
"alias": "budi",
"password": "12345"
}
}
}
Set path keystore dengan benar, begitu juga storePassword, alias dan password sesuai milikmu.
Lalu build app bundle
cordova build android --release
Kalau kamu mau versi apk nya juga, jalankan perintah ini:
cordova build android --release -- --packageType=apk
Biasanya nanti file apk nya ada di sini:
platforms/android/app/build/outputs/apk/release/app-release.apk
File aab juga tidak jauh-jauh dari situ, pastinya di dalam folder outputs.
Semoga bermanfaat 😀