com.yazantarifi:issuer.android

Report Technical Problem Screens in Android Apps


Keywords
android, issues, reporting, issue-tracker, kotlin-android, android-library, reporter, android-app, technical-problem
License
MIT

Documentation

Issuer-kt

Android Library Built To Create Report Screen In Android Apps

The Problem

The Problem is Each Time you want to Track Device Info you should Ask Users To Provide Their Device Info but In This Screen the Screen Will Collect Device, System Information without Asking Users Too Much Info About The Device

Installation

Gradle

dependencies {
    implementation "com.yazantarifi:issuer.android:1.0.1"
}

Kotlin DSL

dependencies {
    implementation("com.yazantarifi:issuer.android:1.0.1")
}

Usage Example

  1. Start The Screen
        findViewById<Button>(R.id.btnClick)?.setOnClickListener {
            IssuerScreen.startScreen(this) {
                IssuerIntent addDeviceInformationMode IssueInfoType.FULL
                IssuerIntent addPrivacyPolicyInfo "Information About Your Device, and Data Policy Will Be Included In This Report, Please Specify Full Info And STR's About The Problem"
                IssuerIntent addPrivacyPolicyLink "https://www.yazantarifi.com"
                IssuerIntent addScreenTitle "Report Technical Problem"
                IssuerIntent addScreensMode IssuesScreenMode.FULL
                IssuerIntent isCollectedInformationViewEnabled true
                IssuerIntent isEventsClickEnabled true
                IssuerIntent isImagesAttachmentEnabled true
                IssuerIntent isPrivacyPolicyEnabled true
                IssuerIntent isUserEmailSelectionEnabled true
                IssuerIntent textInputHint "Brefly Explain What is The problem also Provide Us With Steps To ReProduce if Possible"
                IssuerIntent addOptionsListInformation options
            }
        }
  1. Return Results
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (resultCode == IssuerConsts.RESULT_CODE) {
            val images: ArrayList<String>? = data?.getStringArrayListExtra(IssuerResultBundle.IMAGES_PATHS)
            val systemInfo: String? = data?.getStringExtra(IssuerResultBundle.APP_SYSTEM_INFO)
            val textIssue: String? = data?.getStringExtra(IssuerResultBundle.USER_INPUT_TEXT)

            findViewById<TextView>(R.id.textInput)?.text = "Text Input : $textIssue"
            findViewById<TextView>(R.id.imagesPaths)?.text = "Images : ${images.toString()}"
            findViewById<TextView>(R.id.systemInfo)?.text = "System Info : ${systemInfo}"
        }
    }

See Full Example Inside App Module

Light Mode Dark Mode
Screenshot_20210723-034805_Issuer-kt Screenshot_20210723-034738_Issuer-kt
Screenshot_20210723-034813_Issuer-kt Screenshot_20210723-034747_Issuer-kt
Screenshot_20210723-034817_Issuer-kt Screenshot_20210723-034751_Issuer-kt