Releases: qiscus/qiscus-sdk-android
Releases · qiscus/qiscus-sdk-android
Qiscus Chat SDK (core) v1.6.6
Changelog :
- Prevent Crash when connecting realtime
- Fix Issue Refresh token in some case
Note :
**Please add this proguard when use this version
# With R8 full mode generic signatures are stripped for classes that are not
# kept. Suspend functions are wrapped in continuations where the type argument
# is used.
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation
-keep,allowobfuscation,allowshrinking interface retrofit2.Call
-keep,allowobfuscation,allowshrinking class retrofit2.Response
# R8 full mode strips generic signatures from return types if not kept.
-if interface * { @retrofit2.http.* public *** *(...); }
-keep,allowoptimization,allowshrinking,allowobfuscation class <3>
Qiscus Chat SDK (core) v1.6.5
Changelog :
- Prevent crash ANR when failing to connect to realtime lib
***Note:
- please add this maven for support lib retrofit if get an error when sync gradle
maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
- and add this proguard
# With R8 full mode generic signatures are stripped for classes that are not
# kept. Suspend functions are wrapped in continuations where the type argument
# is used.
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation
-keep,allowobfuscation,allowshrinking interface retrofit2.Call
-keep,allowobfuscation,allowshrinking class retrofit2.Response
# R8 full mode strips generic signatures from return types if not kept.
-if interface * { @retrofit2.http.* public *** *(...); }
-keep,allowoptimization,allowshrinking,allowobfuscation class <3>
Qiscus Chat SDK (core) v1.6.4
Changelog :
- Support Android Studio Latest (Flamingo) & AGP 8
- Improve ActivityLifeCircle
- Improve Realtime
***Note:
- If you get a crash after building apk with Proguard in Android Studio Latest (Flamingo) & AGP 8, you can use this version. ( root problem crash is from library retrofit in the version before not supporting AGP 8 )
- please add this maven for support lib retrofit if get an error when sync gradle
maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
Qiscus Chat SDK (core) v1.6.3
Changelog :
- Support enableJetifier = false
Qiscus Chat SDK (core) v1.6.2
Changelog :
- Improve library realtime, and remove permission SCHEDULE_EXACT_ALARM.
Note :
- in this version you don't need to set permission SCHEDULE_EXACT_ALARM to support realtime, if you was set this permission, you can remove this permission from your code
Qiscus Chat SDK (core) v1.6.1
Changelog :
- Prevent crash when accessing lib jupukData in some device
Qiscus Chat SDK (core) v1.6.0
Changelog :
- New Flow expired token
implementation call API refresh token if the auto-refresh token is false from BE (by default is true), request contact us for setting auto-refresh false
for implementation manually calling the API refresh token, can use this code.
@Subscribe
public void onRefreshToken(QiscusRefreshTokenEvent event) {
if (event.isTokenExpired()) {
if auto refresh token false from be, you need to call api refresh token manually
//callRefreshToken();
} else if (event.isUnauthorized()) {
//need to force logout
logoutUser();
} else {
// do somethings
}
}
private void callRefreshToken() {
QiscusCore.refreshToken(new QiscusCore.SetRefreshTokenListener() {
@Override
public void onSuccess(QiscusRefreshToken refreshToken) {
}
@Override
public void onError(Throwable throwable) {
}
});
}
private void logoutUser() {
if (QiscusCore.hasSetupUser()) {
Qiscus.clearUser();
}
}
***Note :
- Please contact us, if you want to implement the flow expired token and manually or automatic call the API refresh token
Qiscus Chat SDK (core) v1.5.1
Changelog :
- Try to Fix crash EncryptedSharedPreference
Qiscus Chat SDK (core) v1.5.0
Changelog :
- Support ExpiredToken
for example :
- if you get error when call API qiscusCore with error code 403, please call api refreshToken
QiscusAccount account = QiscusCore.getQiscusAccount();
QiscusApi.getInstance().refreshToken(account.getEmail(), account.getRefreshToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(QiscusCore::saveRefreshToken, throwable -> {
QiscusErrorLogger.print(throwable);
});
Qiscus Chat SDK (core) v1.4.4
Changelog :
- Prevent crash android.permission.SCHEDULE_EXACT_ALARM set false from user
Note:
- Please show the popup customer to enable SCHEDULE_EXACT_ALARM permission, because Qiscus Core SDK (Application) can't create a popup, only from activity can create the popup
- If SCHEDULE_EXACT_ALARM permission is set to false, new messages will be delayed (only from sync and PN for realtime new messages)
for example to show popup :
AlarmManager alarmMgr = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
if (!alarmMgr.canScheduleExactAlarms()) {
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(this);
alertBuilder.setCancelable(true);
alertBuilder.setTitle("Permission necessary");
alertBuilder.setMessage("Schedule Exact Alarm permission is necessary for realtime");
alertBuilder.setPositiveButton(android.R.string.yes, (dialog, which) -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
Intent intent = new Intent(
ACTION_REQUEST_SCHEDULE_EXACT_ALARM,
Uri.parse("package:" + this.getPackageName())
);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.getApplicationContext().startActivity(intent);
}
});
AlertDialog alert = alertBuilder.create();
alert.show();
}
}