mirror of
https://github.com/ethauvin/android-about-box.git
synced 2025-04-25 10:47:10 -07:00
106 lines
3.8 KiB
Markdown
106 lines
3.8 KiB
Markdown
[](https://circleci.com/gh/eggheadgames/android-about-box)
|
|
[](https://jitpack.io/#eggheadgames/android-about-box)
|
|
|
|
# About Box
|
|
A modern About Box for an Android App built on the [daniel-stoneuk/material-about-library](https://github.com/daniel-stoneuk/material-about-library).
|
|
|
|
### Easily display the common items of an About Box in a modern Android friendly way
|
|
|
|
## About
|
|
|
|
Android About Box is configured with a set of (mostly) strings for the company name, twitter and Facebook accounts, website, and filenames to html files for help files, privacy policy etc.
|
|
|
|
When triggered from a menu item, it will display the app name, icon and version, provide links to contact support, leave a review, share the app, go to other apps by the same company in the app store -- as well as links to Facebook etc.
|
|
|
|
## Installation Instructions
|
|
|
|
Add the JitPack.io repository to your root `build.gradle`:
|
|
|
|
```gradle
|
|
allprojects {
|
|
repositories {
|
|
maven { url "https://jitpack.io" }
|
|
}
|
|
}
|
|
```
|
|
|
|
Add a dependency to your application related `build.gradle`
|
|
|
|
```gradle
|
|
dependencies {
|
|
compile 'com.github.eggheadgames:android-about-box:<actual version>'
|
|
}
|
|
```
|
|
|
|
## Example
|
|
### Setup Branch.io
|
|
|
|
Branch.io integration can be found [here](https://github.com/BranchMetrics/android-branch-deep-linking)
|
|
|
|
### Setup AboutBox
|
|
|
|
Add AboutBox configuration to your Application class
|
|
|
|
```java
|
|
AboutConfig aboutConfig = AboutConfig.getInstance();
|
|
aboutConfig.appName = getString(R.string.app_name);
|
|
aboutConfig.appIcon = R.mipmap.ic_launcher;
|
|
aboutConfig.version = "1.0.0";
|
|
aboutConfig.aboutLabelTitle = "About App";
|
|
aboutConfig.packageName = getApplicationContext().getPackageName();
|
|
aboutConfig.buildType = google ? AboutConfig.BuildType.GOOGLE : AboutConfig.BuildType.AMAZON;
|
|
|
|
aboutConfig.facebookUserName = FACEBOOK_USER_NAME;
|
|
aboutConfig.twitterUserName = TWITTER_USER_NAME;
|
|
aboutConfig.webHomePage = WEB_HOME_PAGE;
|
|
|
|
// app publisher for "Try Other Apps" item
|
|
aboutConfig.appPublisher = APP_PUBLISHER;
|
|
|
|
// if pages are stored locally, then you need to override aboutConfig.dialog to be able use custom WebView
|
|
aboutConfig.companyHtmlPath = COMPANY_HTML_PATH;
|
|
aboutConfig.privacyHtmlPath = PRIVACY_HTML_PATH;
|
|
aboutConfig.acknowledgmentHtmlPath = ACKNOWLEDGMENT_HTML_PATH;
|
|
|
|
aboutConfig.dialog = new IDialog() {
|
|
@Override
|
|
public void open(AppCompatActivity appCompatActivity, String url, String tag) {
|
|
// handle custom implementations of WebView. It will be called when user click to web items. (Example: "Privacy", "Acknowledgments" and "About")
|
|
}
|
|
};
|
|
|
|
aboutConfig.analytics = new IAnalytic() {
|
|
@Override
|
|
public void logUiEvent(String s, String s1) {
|
|
// handle log events.
|
|
}
|
|
|
|
@Override
|
|
public void logException(Exception e, boolean b) {
|
|
// handle exception events.
|
|
}
|
|
};
|
|
// set it only if aboutConfig.analytics is defined.
|
|
aboutConfig.logUiEventName = "Log";
|
|
|
|
// Contact Support email details
|
|
aboutConfig.emailAddress = EMAIL_ADDRESS;
|
|
aboutConfig.emailSubject = EMAIL_SUBJECT;
|
|
aboutConfig.emailBody = EMAIL_BODY;
|
|
|
|
// Branch.io labels.
|
|
aboutConfig.shareMessageTitle = getString(R.string.share_message_title);
|
|
aboutConfig.shareMessage = getString(R.string.share_message);
|
|
aboutConfig.sharingTitle = getString(R.string.sharing_title);
|
|
```
|
|
|
|
Open AboutBox screen
|
|
|
|
```java
|
|
AboutActivity.launch(activity);
|
|
```
|
|
|
|
## Screenshot
|
|
|
|
<img src="extras/example.png?raw=true">
|
|
|