Feedback (7.x Beta)
This page documents the 7.x beta of the Bugsee Android SDK. Starting with 7.x, the in-app feedback messenger is no longer part of the core AAR — it ships as its own extension module, bugsee-android-feedback. Add the dependency explicitly if you want the feedback UI.
Bugsee provides a built-in single-threaded messenger that lets your users talk to your support and developers. In 7.x this feature is packaged as an extension so that apps which don't need it don't pay for it.
Installation
Add the feedback extension alongside the core SDK. The extension auto-registers at app startup via its own init ContentProvider — no manual wiring or registerExtension(...) call is required from your code.
- Kotlin DSL (build.gradle.kts)
- Groovy (build.gradle)
dependencies {
implementation("com.bugsee:bugsee-android:7.x.x")
implementation("com.bugsee:bugsee-android-feedback:7.x.x")
}
dependencies {
implementation 'com.bugsee:bugsee-android:7.x.x'
implementation 'com.bugsee:bugsee-android-feedback:7.x.x'
}
Retrieving the extension
All feedback APIs live on the Feedback contract interface, which you retrieve from the SDK through Bugsee.ext(...). The call returns null when the bugsee-android-feedback module is not on the classpath, so always null-check the result — your code keeps compiling even if a downstream consumer drops the extension.
- Java
- Kotlin
import com.bugsee.library.Bugsee;
import com.bugsee.library.contracts.extensions.Feedback;
Feedback feedback = Bugsee.ext(Feedback.class);
if (feedback != null) {
feedback.showFeedbackActivity();
}
import com.bugsee.library.Bugsee
import com.bugsee.library.contracts.extensions.Feedback
val feedback = Bugsee.ext(Feedback::class.java)
feedback?.showFeedbackActivity()
For an overview of how the extension framework works in 7.x (registration, lifecycle, Bugsee.ext(...) lookup), see the Extensions page.
API
The Feedback contract exposes the following methods:
fun showFeedbackActivity()
fun setDefaultFeedbackGreeting(greeting: String?)
fun setOnNewFeedbackListener(listener: FeedbackListener?)
Showing the feedback activity
- Java
- Kotlin
Feedback feedback = Bugsee.ext(Feedback.class);
if (feedback != null) {
feedback.showFeedbackActivity();
}
Bugsee.ext(Feedback::class.java)?.showFeedbackActivity()
New message notifications
Register a FeedbackListener to be notified when new feedback messages arrive from the server.
- Java
- Kotlin
import com.bugsee.library.contracts.feedback.FeedbackListener;
Feedback feedback = Bugsee.ext(Feedback.class);
if (feedback != null) {
feedback.setOnNewFeedbackListener(newMessages -> {
// Handle received messages.
});
}
import com.bugsee.library.contracts.feedback.FeedbackListener
Bugsee.ext(Feedback::class.java)?.setOnNewFeedbackListener { newMessages ->
// Handle received messages.
}
Default greeting
A default greeting can be set on the server in your application settings. For cases when the network is not available, you can also set a client-side fallback:
- Java
- Kotlin
Feedback feedback = Bugsee.ext(Feedback.class);
if (feedback != null) {
feedback.setDefaultFeedbackGreeting("Hi! How can we help?");
}
Bugsee.ext(Feedback::class.java)?.setDefaultFeedbackGreeting("Hi! How can we help?")
Appearance
The feedback chat UI is themed through the FeedbackAppearance contract interface, which ships inside bugsee-android-feedback and is only on the classpath when the extension is installed. It exposes constants such as FeedbackAppearance.ActionBarColor, FeedbackAppearance.IncomingBubbleColor, FeedbackAppearance.OutgoingBubbleColor, FeedbackAppearance.InputTextColor and friends, which you pass to the unified appearance API:
Appearance appearance = Bugsee.getAppearance();
appearance.setColor(FeedbackAppearance.OutgoingBubbleColor, Color.BLUE);
See the Appearance page for the full list of FeedbackAppearance keys and the rest of the appearance API.
Migrating from 6.x
In 6.x the feedback methods lived directly on the core Bugsee facade. In 7.x they move onto the Feedback extension:
// 6.x
Bugsee.showFeedbackActivity(context);
Bugsee.setOnNewFeedbackListener(listener);
Bugsee.setDefaultFeedbackGreeting("Hi!");
// 7.x
Feedback feedback = Bugsee.ext(Feedback.class);
if (feedback != null) {
feedback.showFeedbackActivity();
feedback.setOnNewFeedbackListener(listener);
feedback.setDefaultFeedbackGreeting("Hi!");
}
The full migration walkthrough (including appearance key renames) is in the 6.x to 7.x migration guide, section "Feedback moved to its own module".