Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 翻翻git之簡單的配置達到產品在應用市場的評價跳轉功能

翻翻git之簡單的配置達到產品在應用市場的評價跳轉功能

編輯:關於Android編程

最近軟文的東西寫的比較少,家裡的小寶寶(麥麥)咬毛了,在細心照料。外加最近玩WOW比較上頭,所以沒花大時間在寫文章上,今天看到個實現APP內提示跳轉應用市場的庫覺得還不錯,推薦給大家


先來看看運行效果

這裡寫圖片描述

用戶點進去他會問是否評級,稍後評價等等等,原作者對這一系列功能封的比較徹底,方便大家使用,我們來看一下一個簡單的提示頁面如何配置。

在Activity初始化階段把一些需要配置的東西設置好<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwcmUgY2xhc3M9"brush:java;"> AppRate.with(this) .setStoreType(StoreType.GOOGLEPLAY) //默認Google, 還有個是亞馬遜 .setInstallDays(0) // 默認10,這裡為了演示效果,設置裝的時候就演示 .setLaunchTimes(3) // 設置啟動的時間 .setRemindInterval(2) // 提醒的間隔 .setShowLaterButton(true) // 是否顯示推遲按鈕 .setDebug(false) // 是否Debug狀態,默認false .setMessage("分享我們好嗎")//設置說明文字 .setOnClickButtonListener(new OnClickButtonListener() { //按鈕監聽事件 @Override public void onClickButton(int which) { Log.d(MainActivity.class.getName(), Integer.toString(which)); } }) .monitor();

在需要展現的地方把他SHOW出來即可

 // 顯示對話框
  AppRate.showRateDialogIfMeetsConditions(this);

當然你還可以設置Title之類的,像這樣

setTitle()//設置標題

setNeutralText()//設置按鈕文字內容

當然,你覺得這個 UI你不喜歡,你要符合你公司美工制定的畫面,也OK

調用setView方法,像這樣

LayoutInflater inflater = (LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.custom_dialog, (ViewGroup)findViewById(R.id.layout_root));
AppRate.with(this).setView(view).monitor();

以上是基礎設置,接下來是比較蛋疼的地方,作者一定不是國人,所以沒有那麼繁雜的市場發布問題,而且我們無法Goolgle Play,所以默認的模式我們不能用,所以這也就是之前我為什麼沒貼下載地址的原因,因為我們必須加以修改。

OK接下來講下改什麼地方

源碼長這樣
這裡寫圖片描述

用於分享URL操作的是

UriHelper

IntentHelper

StoreType

DialogManager

StoreType是枚舉類型,用於區分我們到底是哪個市場,如果你是要到小米,要到豌豆莢,就在裡面加吧

public enum StoreType {
    GOOGLEPLAY,
    AMAZON//, 你要的內容
}

IntentHelper 是你具體傳遞Intent的地方

final class IntentHelper {

    private static final String GOOGLE_PLAY_PACKAGE_NAME = "com.android.vending";

    private IntentHelper() {
    }

    static Intent createIntentForGooglePlay(Context context) {
        String packageName = context.getPackageName();
        Intent intent = new Intent(Intent.ACTION_VIEW, getGooglePlay(packageName));
        if (isPackageExists(context, GOOGLE_PLAY_PACKAGE_NAME)) {
            intent.setPackage(GOOGLE_PLAY_PACKAGE_NAME);
        }
        return intent;
    }

    static Intent createIntentForAmazonAppstore(Context context) {
        String packageName = context.getPackageName();
        return new Intent(Intent.ACTION_VIEW, getAmazonAppstore(packageName));
    }

}

UriHelper 做一些URL拼接處理


final class UriHelper {

    private static final String GOOGLE_PLAY = "https://play.google.com/store/apps/details?id=";

    private static final String AMAZON_APPSTORE = "amzn://apps/android?p=";

    private UriHelper() {
    }

    static Uri getGooglePlay(String packageName) {
        return packageName == null ? null : Uri.parse(GOOGLE_PLAY + packageName);
    }

    static Uri getAmazonAppstore(String packageName) {
        return packageName == null ? null : Uri.parse(AMAZON_APPSTORE + packageName);
    }

    static boolean isPackageExists(Context context, String targetPackage) {
        PackageManager pm = context.getPackageManager();
        List packages = pm.getInstalledApplications(0);
        for (ApplicationInfo packageInfo : packages) {
            if (packageInfo.packageName.equals(targetPackage)) return true;
        }
        return false;
    }
}

這些都處理完了 在DialogManager加判斷的代碼就好

  builder.setPositiveButton(options.getPositiveText(context), new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                final Intent intentToAppstore = options.getStoreType() == StoreType.GOOGLEPLAY ?
                createIntentForGooglePlay(context) : createIntentForAmazonAppstore(context);
                context.startActivity(intentToAppstore);
                setAgreeShowDialog(context, false);
                if (listener != null) listener.onClickButton(which);
            }
        });

默認的在你點擊評價之後會去判斷你是哪個應用商店,你加在onClick方法內就好了

這個控件已加入大套餐,安利如下:Android/blob/master/README.md">https://github.com/ddwhan0123/Useful-Open-Source-Android/blob/master/README.md

Git:https://github.com/hotchemi/Android-Rate

下載地址:https://github.com/hotchemi/Android-Rate/archive/master.zip

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved