1
0
Fork 0
mirror of https://github.com/ethauvin/android-about-box.git synced 2025-04-25 02:37:11 -07:00
Modern About Box for an Android App
Find a file
2017-02-09 22:00:03 +02:00
extras Added example image 2017-02-07 21:02:32 +02:00
gradle/wrapper Added AboutBox library source code. Implemented IAnalytic and IDialog interfaces for custom usage. 2017-02-05 20:27:38 +02:00
library Added egab to all strings keys 2017-02-09 22:00:03 +02:00
.gitignore Added idea folder to git ignore 2017-02-06 23:02:10 +02:00
build.gradle Added AboutBox library source code. Implemented IAnalytic and IDialog interfaces for custom usage. 2017-02-05 20:27:38 +02:00
circle.yml Added AboutBox library source code. Implemented IAnalytic and IDialog interfaces for custom usage. 2017-02-05 20:27:38 +02:00
gradle.properties Added AboutBox library source code. Implemented IAnalytic and IDialog interfaces for custom usage. 2017-02-05 20:27:38 +02:00
gradlew Make gradlew executable 2017-02-06 09:55:12 -08:00
gradlew.bat Added AboutBox library source code. Implemented IAnalytic and IDialog interfaces for custom usage. 2017-02-05 20:27:38 +02:00
LICENSE Initial commit 2017-02-03 07:10:53 -08:00
README.md Make image path relative instead of absolute 2017-02-07 17:05:32 -08:00
settings.gradle Added AboutBox library source code. Implemented IAnalytic and IDialog interfaces for custom usage. 2017-02-05 20:27:38 +02:00

Circle CI Release

About Box

A modern About Box for an Android App built on the 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:

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
    }
}

Add a dependency to your application related build.gradle

dependencies {
    compile 'com.github.eggheadgames:android-about-box:<actual version>'
}

Example

Setup Branch.io

Branch.io integration can be found here

Setup AboutBox

Add AboutBox configuration to your Application class

        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

        AboutActivity.launch(activity);

Screenshot