AndroidRate là một thư viện giúp bạn quảng bá ứng dụng Android của mình bằng cách nhắc người dùng xếp hạng ứng dụng sau khi sử dụng nó trong vài ngày.
Mô-đun Gradle:
dependencies {
implementation 'com.vorlonsoft:androidrate:1.0.8'
}
MainActivity.java:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AppRate.with(this)
.setStoreType(StoreType.GOOGLEPLAY) //default is GOOGLEPLAY (Google Play), other options are
// AMAZON (Amazon Appstore) and
// SAMSUNG (Samsung Galaxy Apps)
.setInstallDays((byte) 0) // default 10, 0 means install day
.setLaunchTimes((byte) 3) // default 10
.setRemindInterval((byte) 2) // default 1
.setRemindLaunchTimes((byte) 2) // default 1 (each launch)
.setShowLaterButton(true) // default true
.setDebug(false) // default false
//Java 8+: .setOnClickButtonListener(which -> Log.d(MainActivity.class.getName(), Byte.toString(which)))
.setOnClickButtonListener(new OnClickButtonListener() { // callback listener.
@Override
public void onClickButton(byte which) {
Log.d(MainActivity.class.getName(), Byte.toString(which));
}
})
.monitor();
if (AppRate.with(this).getStoreType() == StoreType.GOOGLEPLAY) {
//Check that Google Play is available
if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this) != ConnectionResult.SERVICE_MISSING) {
// Show a dialog if meets conditions
AppRate.showRateDialogIfMeetsConditions(this);
}
} else {
// Show a dialog if meets conditions
AppRate.showRateDialogIfMeetsConditions(this);
}
}
Các điều kiện mặc định để hiển thị hộp thoại tỷ lệ như sau:
- Ứng dụng được khởi chạy chậm hơn 10 ngày so với cài đặt. Thay đổi qua
AppRate#setInstallDays(byte)
.
- Ứng dụng được khởi chạy hơn 10 lần. Thay đổi qua
AppRate#setLaunchTimes(byte)
.
- Ứng dụng được khởi chạy hơn 1 ngày sau khi nhấp vào nút trung lập. Thay đổi qua
AppRate#setRemindInterval(byte)
.
- Ứng dụng được khởi chạy X lần và X% 1 = 0. Thay đổi qua
AppRate#setRemindLaunchTimes(byte)
.
- Ứng dụng hiển thị hộp thoại trung lập (Nhắc tôi sau) theo mặc định. Thay đổi qua
setShowLaterButton(boolean)
.
- Để chỉ định cuộc gọi lại khi nút được nhấn. Giá trị tương tự như đối số thứ hai của
DialogInterface.OnClickListener#onClick
sẽ được chuyển vào đối số củaonClickButton
.
- Cài đặt
AppRate#setDebug(boolean)
sẽ đảm bảo rằng yêu cầu xếp hạng được hiển thị mỗi khi ứng dụng được khởi chạy. Tính năng này chỉ dành cho sự phát triển! .
Yêu cầu sự kiện tùy chỉnh tùy chọn để hiển thị hộp thoại
Bạn có thể thêm các yêu cầu tùy chọn bổ sung để hiển thị hộp thoại. Mỗi yêu cầu có thể được thêm / tham chiếu dưới dạng một chuỗi duy nhất. Bạn có thể đặt số lượng tối thiểu cho mỗi sự kiện như vậy (ví dụ: "action_performed" 3 lần, "button_clicked" 5 lần, v.v.)
AppRate.with(this).setMinimumEventCount(String, short);
AppRate.with(this).incrementEventCount(String);
AppRate.with(this).setEventCountValue(String, short);
Xóa cờ hộp thoại hiển thị
Khi bạn muốn hiển thị lại hộp thoại, hãy gọi AppRate#clearAgreeShowDialog()
.
AppRate.with(this).clearAgreeShowDialog();
Khi nút nhấn vào
cuộc gọi AppRate#showRateDialog(Activity)
.
AppRate.with(this).showRateDialog(this);
Đặt chế độ xem tùy chỉnh
cuộc gọi AppRate#setView(View)
.
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();
Chủ đề cụ thể
Bạn có thể sử dụng một chủ đề cụ thể để thổi phồng hộp thoại.
AppRate.with(this).setThemeResId(int);
Hộp thoại tùy chỉnh
Nếu bạn muốn sử dụng nhãn hộp thoại của riêng mình, hãy ghi đè tài nguyên xml chuỗi trên ứng dụng của bạn.
<resources>
<string name="rate_dialog_title">Rate this app</string>
<string name="rate_dialog_message">If you enjoy playing this app, would you mind taking a moment to rate it? It won\'t take more than a minute. Thanks for your support!</string>
<string name="rate_dialog_ok">Rate It Now</string>
<string name="rate_dialog_cancel">Remind Me Later</string>
<string name="rate_dialog_no">No, Thanks</string>
</resources>
Kiểm tra xem Google Play có khả dụng không
if (GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this) != ConnectionResult.SERVICE_MISSING) {
}