Cara Membuat Push Notifikasi Android dengan Firebase Cloud Messaging

Bagi kalian yang belum tahu apa itu Firebase silakan baca disini. Fitur ini sangat berguna buat kita yang ingin memberi notikasi ke semua user aplikasi yang kita buat maupun aplikasi yang kita buat itu memerlukan notifikasi anta user.

kita akan meng-custom aplikasi tersebut sehingga memiliki fungsi registrasi/mendaftarkan user Android ke server (php + mysql).

penggunaan firebase notification untuk first time atau hanya untuk perkenalan saja. Langkah-langkahnya sebagai berikut:

Pada tutorial ini, saya menggunakan android studio v. 2.2.2 dimana tools firebasenya sudah include dalam aplikasi.

1# Silakan buka android studio, pilih template empty/blank activity. Beri nama aplikasi karena ini akan menjadi nama project firebase nantinya. Pada tutorial ini saya menggunakan nama aplikasi "Firebase"

2# Login akun gmail kalian di android studio agar bisa akses website firebase dengan akun yang di masukkan di android studio.

3# Jika login sudah berhasil, pada menu android studio klik tools->firebase, tampilannya akan seperti ini.

Cara Berga Membuat Push Notifikasi Android dengan Firebase Cloud Messaging

 sudah ditampilkan fitur-fitur apa saja yang disediakan oleh firebase. Silakan klik fitur Notifications. Maka akan muncul seperti di bawah ini

Cara Berga Membuat Push Notifikasi Android dengan Firebase Cloud Messaging

pertama koneksikan firebase ke app kemudian klik Add Notifications to your app.

4# sampai disini kalian sudah berhasil menambahkan firebase ke aplikasi kalian. Untuk memastikan lagi silakan cek AndroidManifest apakah sudah ada permissions internetnya. Jika sudah silakan kalian run aplikasinya di emulator atau di gadget langsung.

5# Langkah selanjutnya kita akan kirim notifikasi ke aplikasi dari web firebase. Silakan masuk ke web console firebase silakan login dengan akun gmail yang sama dengan yang di Android Studio.

6# Jika berhasil login, maka nama project kalian akan tampil di web console firebase.

Cara Berga Membuat Push Notifikasi Android dengan Firebase Cloud Messaging


7# silakan klik project yang di web console maka tampilannya akan seperti di bawah ini.

Cara Berga Membuat Push Notifikasi Android dengan Firebase Cloud Messaging

8# Setelah itu, maka akan masuk ke panel notifikasi. Silakan kalian isi pesan, label kemudian target aplikasi yang akan kalian kirimkan notifikasi.

Jika notifikasi tidak masuk, silakan kalian check kembali mungkin masih ada yang salah. Tutorial di atas saya buat berdasarkan apa yang sudah saya buat dan itu work 100%. Bagi kalian yang menggunakan Android Studio yang lama silakan tambahkan manual di build.gradle defendecies firebase notifications.

 selanjutnya mendaftarkan name package ke Firebase Console, silakan masuk ke firebase kemudian add app dan masukan nama package untuk mendownload file google-services.json (lihat gambar). Letakan file tersebut di dalam folder /app project, lalu lakukan sync atau build pada Android Studio.

Cara Berga Membuat Push Notifikasi Android dengan Firebase Cloud Messaging

Selanjutnya kita akan menambahkan perubahan pada project tersebut. Pertama-tama yang akan kita buat adalah sebuah class Constant, isi dari file tersebut adalah untuk menyimpan alamat server.


package com.google.firebase.custom.fcm;
public class Constants {
    //register.php address in your server
    public static final String REGISTER_URL = "http://yourdomain.com/fcm_server/register.php";
}

kita buat file class activity bernama RegisterActivity.java. Pada class ini kita akan menambahkan fungsi untuk mengirimkan parameter berupa token dan input email dari user ke server php.

Important Noted : Dalam class ini saya menggunakan library Volley untuk proses kirim data ke server.

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:24.0.0'
    compile 'com.google.firebase:firebase-messaging:9.4.0'
    compile 'com.mcxiaoke.volley:library:1.0.19'
}

package com.google.firebase.custom.fcm;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.google.firebase.iid.FirebaseInstanceId;
import java.util.HashMap;
import java.util.Map;
public class RegisterActivity extends AppCompatActivity {
    private EditText editTextEmail;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.register_layout);
        Button regBtn = (Button) findViewById(R.id.buttonRegister);
        editTextEmail = (EditText) findViewById(R.id.editTextEmail);
        regBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                // Get token
                String token = FirebaseInstanceId.getInstance().getToken();
                //Finally we need to implement a method to store this unique id to our server
                sendIdToServer(token);
            }
        });
    }
    private void sendIdToServer(final String token) {
        //Creating a progress dialog to show while it is storing the data on server
        final ProgressDialog progressDialog = new ProgressDialog(this);
        progressDialog.setMessage("Registering device...");
        progressDialog.show();
        //getting the email entered
        final String email = editTextEmail.getText().toString().trim();
        //Creating a string request
        StringRequest req = new StringRequest(Request.Method.POST, Constants.REGISTER_URL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        //dismissing the progress dialog
                        progressDialog.dismiss();
                        //if the server returned the string success
                        if (response.trim().equalsIgnoreCase("success")) {
                            //Displaying a success toast
                            Toast.makeText(RegisterActivity.this, "Registered successfully", Toast.LENGTH_SHORT).show();
                        } else {
                            Toast.makeText(RegisterActivity.this, "Choose a different email", Toast.LENGTH_SHORT).show();
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                    }
                }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String, String> params = new HashMap<>();
                //adding parameters to post request as we need to send firebase id and email
                params.put("token", token);
                params.put("email", email);
                return params;
            }
        };
        //Adding the request to the queue
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(req);
    }
}

Selanjutnya kita buat file layout untuk class diatas. Layout ini kita beri nama register_layout.xml . Pada layout ini kita tambahkan input berupa email dan tombol register untuk aksi mengirim data ke server.

<activity
 android:name="com.google.firebase.custom.fcm.RegisterActivity"
 android:label="@string/app_name">
 <intent-filter>
     <action android:name="android.intent.action.MAIN"/>
     <category android:name="android.intent.category.LAUNCHER"/>
 </intent-filter>
</activity>

selanjutnya silakan build project. Pastikan tidak ada error yang muncul disana. Jika masih ada error maka silakan diperbaiki, error yang muncul biasanya soal library.

Cara Berga Membuat Push Notifikasi Android dengan Firebase Cloud Messaging

Jika semua sudah tak ada error, maka kita sudah bisa menjalankannya. Silakan run di emulator atau pada device, Jangan buru-buru untuk mencoba aplikasi ini, fungsi register belum bisa berjalan karena kita belum membuat server side (php) untuk penyimpanan data tersebut ke database (mysql).

Server Side (PHP + MYSQL)

Selanjutnya kita akan membuat database dan file server (php) untuk menerima proses register dari aplikasi Android. Pertama-tama buat database -nya.

CREATE DATABASE /*!32312 IF NOT EXISTS*/`fcm` /*!40100 DEFAULT CHARACTER SET latin1 */;
/*Table structure for table `users` */
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` int(20) NOT NULL AUTO_INCREMENT,
  `token` varchar(200) NOT NULL,
  `email` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `Token` (`token`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

selanjutnya membuat file php untuk menerima kiriman data dari aplikasi Android. File ini bernama register.php :

<?php 
 if (isset($_POST["token"])) {
    $_token=$_POST["token"];
    $_email=$_POST["email"];
    $conn = mysqli_connect("localhost","root","","fcm") or die("Error connecting");
    $sql="INSERT INTO users (token,email) VALUES ( '$_token','$_email') ON DUPLICATE KEY UPDATE token = '$_token';";
           
 //executing the query to the database 
 if(mysqli_query($conn,$sql)){
 echo 'success';
 }else{
 echo 'failure';
 }
      mysqli_close($conn);
 }
 ?>



Incoming search terms:


Cara Membuat Custom Notifikasi.  Cara Membuat Firebase Push Notifikasi.  Notifikasi Clount.  Upload Di Firebase Dengan Php.  Cara Ganti Notivikasi Pup Pada Android.  Tips Mengatur Notif Android Marshmallow.  Proses Pemanggilan Notifikasi Di Android Studio.  Pembuatan Program Untuk Notif Pada Aplikasi Android Untuk Video Realtime.  Notifikasi Masuk Android Studio.  Notifikasi Firebase Untuk Website.  Membuat Push Notifikasi Aplikasi Webview.  Membuat Push Notifikasi Android.  Membuat Notifikasi Pengumuman Android Studio.  Membuat Notifikasi Android Marsmelloe.  Membaca Mysql Untuk Notifikasi Ke Android 2016.  Kegunaan Firebase. 

Komentar

Postingan populer dari blog ini

Cara Membuat Halaman Login Hotspot Berbeda pada 1 Mikrotik

UltraISO Premium Edition v9.5.3

Arti OSAKMJ