Bismillaahirrohmaanirrohiim…
Notifications di aplikasi android sudah sangat umum kita dengar.
Hampir semua aplikasi terkenal yang kita install mengirimkan notifikasi ke HP kita.
Tujuannya macam-macam, sanggup untuk memberitahu ada pelengkap fitur, ada pesan baru, ada info penting, dsb.
Nah kini mari kita mencar ilmu menciptakan push notifications di android studio dengan gampang dan cepat memakai onesignal dan firebase.
Kenapa kita memakai onesignal? kok tidak memakai service internal jadwal yang berulang-ulang cek server untuk mendapat notifikasi.
Semua tergantung kebutuhan masing-masing, namun kelebihan onesignal berdasarkan saya yaitu sebagai berikut:
- Free, alias gratis dan unlimited.
- Mudah, bagi pemula sekalipun memakai onesignal terasa mudah.
- Powerfull, realtime, cepat dan akurat.
- Dapat mengetahui dikirim ke berapa device dan sanggup mendeteksi notifikasi diklik atau tidak.
- Dapat di schedule notifikasinya.
- Fleksibel, sanggup dipakai dibermacam platform.
- Tersedia API yang gampang dengan parameter yang lengkap.
Oke, pribadi saja kita praktekkan. Step by Step, praktekkan sambil lihat urutannya dan kita akan tahu apa yang harus dilakukan.
- Buat akun onesignal di https://onesignal.com/
- Buat akun di firebase https://firebase.google.com/
- Setelah login di onesignal, tekan tombol “ADD APP“
- Isikan nama app pada “coba onesignal” tanpa tanda petik
- Pilih platform “Google Android“, kemudian Next
- Disitu akan muncul form untuk input “Firebase Server Key” dan “Firebase Sender ID“
- Login di firebase, tekan tombol “Add project“
- Isikan nama project “CobaPushNotifications“, centang persetujuan kemudian klik “Create project“
- Sekarang cari “Firebase Server Key” dan “Firebase Sender ID“, lokasinya ada di:
- Klik tombol gear di kiri atas, kemudian klik “project setting“
- Klik tab “Cloud messaging“
- Disitu kita akan menemukan “Firebase Server Key” dan “Firebase Sender ID”
- Copy “Firebase Server Key” dan “Firebase Sender ID” ke dalam website onesignal tadi.
- Lalu klik save
- Pilih sasaran SDK “Native Android” kemudian next
- Setelah selesai, anda akan mendapat “Your App ID: abmcasdsa-asdasda-as23s2-dsdsgdsg-3423423“, simpan baik-baik.
- Klik tombol “Check Subscribed Users“, nanti balasannya akan error, alasannya yaitu kita belum menciptakan aplikasinya.
- Klik tombol done. Btw, ga sanggup di klik ya, alasannya yaitu di cek saja belum berhasil kok…
- Jangan diclose dulu halaman web ini, kita ikuti dulu kodingan dibawah.
Yuk kini buka android studio nya, buat project gres aja ya…
- Isikan nama “Coba Push Notifications” kemudian next
- Pilih minimum SDK API 17, Android 4.2 Jelly bean ato versi berapa aja sesuai keinginan, kemudian next
- Pilih empty activity kemudian next
- Biarkan nilai default “MainActivity” kemudian finish
- Tunggu hingga simpulan menyiapkan project untuk kita
- Buka file build.gradle (Module: app), tambahkan isyarat dibawah ini, sehingga balasannya kurang lebih menyerupai dibawah ini
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/' }
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.11.0, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
repositories {
maven { url 'https://maven.google.com' }
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.rasupe.cobapushnotifications"
minSdkVersion 17
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
manifestPlaceholders = [
onesignal_app_id : 'abmcasdsa-asdasda-as23s2-dsdsgdsg-3423423',
// Project number pulled from dashboard, local value is ignored.
onesignal_google_project_number: 'REMOTE'
]
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.onesignal:OneSignal:[3.9.1, 3.99.99]'
implementation 'com.google.android.gms:play-services-gcm:10.2.1'
implementation 'com.google.android.gms:play-services-analytics:10.2.1'
implementation 'com.google.android.gms:play-services-location:10.2.1'
}
onesignal_app_id diisi dengan App ID di onesignal yang tadi error belum sanggup dicheck (poin no 13).
- Kemudian “Sync Gradle” ada di link kanan atas.
- Edit file MainActivity.j4va
package com.rasupe.cobapushnotifications;
import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.onesignal.OSNotificationAction;
import com.onesignal.OSNotificationOpenResult;
import com.onesignal.OneSignal;
import org.json.JSONObject;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//OneSignal.setLogLevel(OneSignal.LOG_LEVEL.DEBUG, OneSignal.LOG_LEVEL.DEBUG);
// OneSignal Initialization
OneSignal.startInit(this)
.inFocusDisplaying(OneSignal.OSInFocusDisplayOption.Notification)
.unsubscribeWhenNotificationsAreDisabled(true)
.setNotificationOpenedHandler(new FirebaseNotificationOpenedHandler(this))
.init();
setContentView(R.layout.activity_main);
}
public class FirebaseNotificationOpenedHandler implements OneSignal.NotificationOpenedHandler {
Context ctx;
FirebaseNotificationOpenedHandler(Context context) {
ctx = context;
}
// This fires when a notification is opened by tapping on it.
@Override
public void notificationOpened(OSNotificationOpenResult result) {
OSNotificationAction.ActionType actionType = result.action.type;
JSONObject data = result.notification.payload.additionalData;
Toast.makeText(ctx, "Halo, saya klik notifikasi ya", Toast.LENGTH_SHORT).show();
if (data != null) {
String customKey = data.optString("customkey", null);
String lagikey = data.optString("lagikey", null);
if (customKey != null)
Log.i("OneSignalExample", "customkey set with value: " + customKey);
if (lagikey != null)
Log.i("OneSignalExample", "lagikey set with value: " + lagikey);
}
if (actionType == OSNotificationAction.ActionType.ActionTaken)
Log.i("OneSignalExample", "Button pressed with id: " + result.action.actionID);
Intent intent = new Intent(getApplicationContext(), PenerimaActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(intent);
}
}
}
- Edit activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Coba Firebase Push Notification"
android:textAlignment="center"
android:textSize="24sp" />
</LinearLayout>
- Tambahkan isyarat dibawah ini di AndroidManifest.xml
<meta-data android:name="com.onesignal.NotificationOpened.DEFAULT" android:value="DISABLE" />
Sehingga menjadi menyerupai ini
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.rasupe.cobapushnotifications">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data android:name="com.onesignal.NotificationOpened.DEFAULT" android:value="DISABLE" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".PenerimaActivity"></activity>
</application>
</manifest>
- Buat blank activity dengan nama PenerimaActivity
gunanya semoga sanggup dibuka ketika user klik notifikasi.
PenerimaActivity.j4va
package com.rasupe.cobapushnotifications;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class PenerimaActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_penerima);
}
}
activity_penerima.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".PenerimaActivity">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Penerima" />
</LinearLayout>
Saat mengetik atau copas isyarat di atas tentu akan ada error, alasannya yaitu file belum lengkap.
Namun sesudah semua isyarat dari atas hingga bawah ditulis atau dicopas sampai selesai, harusnya sudah tidak ada error dan siap di run.
Nah, untuk mencobanya silahkan di Run di HP atau emulator.
- Setelah berhasil diinstall di HP, coba kembali ke halaman onesignal, klik “Check Subscribed Users” (poin no 14)
harusnya sudah tidak error dan tombol “Done” sudah sanggup diklik. - Klik tombol done, kemudian klik hidangan “Messages“
- Klik tombol “new push”
Pada bab “Message” Isikan form “title” dan “message” sesuai dengan keinginan, abaikan isian form yang lain. - Scroll hingga ke bawah, temukan tombol “CONFIRM” kemudian klik.
- Taraaaa…. notifikasi akan muncul di HP ketika itu juga…
Akhirnya simpulan juga ya…
Cukup mudah dan simple, tinggal di custom sesuai kebutuhan ya gan…
Demikian tutorial menciptakan push notifications dengan onesignal dan firebase di android studio dengan mudah.
Jika ada yang ingin disampaikan, silahkan tinggalkan di kolom komentar.
Terimakasih
Sumber https://rasupe.com
Mari berteman dengan saya
Follow my Instagram _yudha58
0 Response to "Cara Menciptakan Push Notifications Di Android Dengan Onesignal – Mudah"
Posting Komentar