Cara Implementasi Rate dan Share Action di Apliaksi Android


Assalamualaikum Warahmatullahi Wabarakatuh.

Pada kesempatan kali ini, saya akan mengajarkan bagaimana cara membuat dan Implementasi Rate dan Share Action, Untuk membuat fungsi Rate Action, kita akan menggunakan class Intent yang akan bekerja layaknya browser, Link atau URL aplikasi kita akan dimasukan pada Intent tersebut, yang terhubung langsung denganw aplikasi kita di PlayStore.

Cara Implementasi Rate dan Share Action di Apliaksi Android

Dan selanjutnya adalah Share Action, untuk membuat share action, sebenarnya kita juga dapat menggunakan class Intent, tapi disini kita tidak akan menggunakan class Intent untuk membuat Share Action, tetapi pada tutorial ini kita akan menggunakan ShareActionProvider.

Materi lainnya yang direkomendasikan:

A.Membuat dan Implementasi Rate Action

Buka aplikasi Android Studio kalian, Buat Project Baru.

Rate ataupun Share Action, biasanya di implementasikan pada ActionBar/Toolbar, Pengaturan, Menu Navigation atau saat user ingin keluan dari aplikasi.

Tapi pada tutorial ini, kita akan implementasikan Rate Action tersebut pada ActionBar, dengan mengunakan Icon tertentu, yang bisa kita buat pada Android Studio.

1) Pertama kita dapat menyiapkan iconnya terlebih dahulu, untuk membuat icon di Android Studio, caranya klik kanan pada direktori res > New > Image Asset. Untuk icon Rate, pada Umumnya bergambar seperti Bintang, atau kalian tentukan sendiri.

2) Selanjutnya kita akan membuat MenuBar untuk kita terapkan pada ActionBar, caranya klik kanan pada direktori res > New > Android resurce directori, lalu kalian ubah Resource typenya menjadi Menu.

3) Buat file menu .xmlnya, klik kanan pada Direkotri menu yang sudah kalian buat tadi New > Menu resource file. berinama file tersebut, misalnya "menu_bar" buka file tersebut, buat menunya seperti berikut ini:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item android:id="@+id/rate"
          android:icon="@drawable/ic_rate"
          android:title="Rate"
          app:showAsAction="always"/>

</menu>

4) Berikutnya buka file MainActivity.java pada project kalian, masukan source code beriktu ini:

package android.cianjur.developer.net.basicandroid;

/*
 Dibuat Oleh WILDAN M ATHOILLAH
 */

import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

public class MainActivity extends AppCompatActivity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //Menginisialisasi MenuBar yang akan ditampilkan pada ActionBar/Toolbar
        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.menu.menu_bar, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.rate:
                //Menangani kejadian saat Tombol Rate Diklik
                try{
                    //Jika Terdapat Google PlayStore pada Perangkat Android
                    //Maka akan langsung terhubung dengan PlayStore Tersebut
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" +
                            "indonesia.cianjur.developer.net.mobile_cbt_smk&hl=in")));
                }catch (ActivityNotFoundException ex){
                    //Jika tidak, maka akan terhubung dengan Browser
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com" +
                            "/store/apps/details?id=indonesia.cianjur.developer.net.mobile_cbt_smk&hl=in")));
                }
                break;
        }
        return true;
    }
}

Agar terbubung dengan Aplikasi PlayStore, pada link Aplikasi kalian, harus menghapus https:// sampai apps, lalu menggantinya dengan market://, seperti pada contoh diatas.

B.Membuat dan Implementasi Share Action

Disini kita akan menggunakan ShareActionProvider untuk membuat Share Action, Pertmana buat Icon untuk Share Action tersebut, caranya seperti yang sudah saya jelaskan tadi sebelumnya, karena kita akan Implemenasikan pada ActionBar.

1) Buka file menu_bar.xml yang sudah kalian buat tadi, lalu tambahkan menu item, seperti berikut ini:

<item
    android:id="@+id/share"
    app:showAsAction="ifRoom"
    android:title="Share"
    android:icon="@drawable/ic_share"
    app:actionProviderClass="android.support.v7.widget.ShareActionProvider" />

2) Selanjutnya buka file MainActivity.java kalian, ubah source codenya menjadi seperti ini:

package android.cianjur.developer.net.basicandroid;

/*
 Dibuat Oleh WILDAN M ATHOILLAH
 */

import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.net.Uri;
import android.support.v4.view.MenuItemCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.support.v7.widget.ShareActionProvider;

import java.io.File;

public class MainActivity extends AppCompatActivity{

    //Membuat Variable ShareAction Provider
    private ShareActionProvider shareActionProvider;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //Menginisialisasi MenuBar yang akan ditampilkan pada ActionBar/Toolbar
        MenuInflater menuInflater = getMenuInflater();
        menuInflater.inflate(R.menu.menu_bar, menu);

        //MenuItem yang akan dijadikan ShareActionProvider
        MenuItem item = menu.findItem(R.id.share);

        //Ambil dan Simpan ShareActionProvider
        shareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(item);
        setShare();
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.rate:
                //Menangani kejadian saat Tombol Rate Diklik
                try{
                    //Jika Terdapat Google PlayStore pada Perangkat Android
                    //Maka akan langsung terhubung dengan PlayStore Tersebut
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" +
                            "indonesia.cianjur.developer.net.mobile_cbt_smk&hl=in")));
                }catch (ActivityNotFoundException ex){
                    //Jika tidak, maka akan terhubung dengan Browser
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com" +
                            "/store/apps/details?id=indonesia.cianjur.developer.net.mobile_cbt_smk&hl=in")));
                }
                break;
            case R.id.share:
                setShare();
                break;
        }
        return true;
    }

    private void setShare(){
        ApplicationInfo appInfo = getApplicationContext().getApplicationInfo();
        String apkPath = appInfo.sourceDir;
        Intent Share = new Intent();
        Share.setAction(Intent.ACTION_SEND);
        Share.setType("application/vnd.android.package-archive");
        Share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(apkPath)));
        shareActionProvider.setShareIntent(Share);
    }
}

Pada coding tersebut terdapat variable ShareActionProvider, didalam method setOnCreateOptionsMenu, kita menginisialisasi ShareActionProvider serta menu item yang ingin dijadikan ShareActionProvider.

Coba kalian perhatikan method setShare(), didalamnya terdapat source code untuk mengshare file apk pada aplikasi, jadi nanti yang akan kita share bukan link PlayStore aplikasi kita, tapi file apk dari Aplikasi yang kita buat.

Demo:

Screenshot_Share and Rate Action Example

Terimakasih atas kunjungannya, semoga tutorial yang saya berikan bisa bermanfaat untuk kalian semua, selebihnya, mohon maaf bila ada kesalahan.

Wassalamualaikum Warahmatullahi Wabarakatuh.