diff --git a/.gitignore b/.gitignore index f6b286c..81d4b50 100644 --- a/.gitignore +++ b/.gitignore @@ -34,7 +34,7 @@ captures/ # Intellij *.iml -.idea/workspace.xml +.idea/ # Keystore files *.jks diff --git a/README.md b/README.md index f4b8458..e1dc49b 100644 --- a/README.md +++ b/README.md @@ -12,3 +12,95 @@ Android About Box is configured with a set of (mostly) strings for the company n 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:' +} +``` + +## 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 + + + diff --git a/extras/example.png b/extras/example.png new file mode 100644 index 0000000..adb68b4 Binary files /dev/null and b/extras/example.png differ