class MemfaultCloud
The Memfault SDK entrypoint.
We recommend creating only one instance of MemfaultCloud and using it across your entire application. Use the Builder to create an instance.
Kotlin:
val memfault = MemfaultCloud.Builder()
.setApiKey(PROJECT_KEY)
.build()
Java:
final Memfault memfault = new Memfault.Builder()
.setApiKey(PROJECT_KEY)
.build();
To find your PROJECT_KEY
, log in to https://app.memfault.com/ and navigate to Settings.
You can check to see whether there's a new update for a particular device with MemfaultCloud.getLatestRelease:
Kotlin:
memfaultCloud.getLatestRelease(deviceInfo, callback = object : GetLatestReleaseCallback {
override fun onUpdateAvailable(otaPackage: MemfaultOtaPackage) {
// There's a new software package
}
override fun onUpToDate() {
// Device is up to date, nothing to do!
}
override fun onError(e: Exception) {
// There was an error; handle it here
}
})
Java:
final GetLatestReleaseCallback callback = new GetLatestReleaseCallback() {
@Override
public void onUpdateAvailable(@NonNull MemfaultOtaPackage otaPackage) {
// There's a new software package
}
@Override
public void onUpToDate() {
// Device is up to date, nothing to do!
}
@Override
public void onError(@NonNull Exception e) {
// There was an error; handle it here
}
};
memfaultCloud.getLatestRelease(callback);
The SDK requires several permissions in order to implement all functionality. Callers should check for these permissions and, if necessary, request them from the user.
Builder |
Build a new MemfaultCloud instance. class Builder |
LogLevel |
enum class LogLevel |
deinit |
Stop and clean up any active tasks. fun deinit(): Unit |
getLatestRelease |
Queries Memfault's services to find if a new update is available. fun getLatestRelease(deviceInfo: MemfaultDeviceInfo, callback: GetLatestReleaseCallback): Unit |
setMinLogLevel |
Logs at fun setMinLogLevel(level: LogLevel): Unit |