Je suis en train de créer une application de chat et j'utilise l'autorisation de téléphone de Firebase et l'api de chat de Quickblox.
Mon code est :
private void signInWithPhoneAuthCredential(PhoneAuthCredential credential) {
mAuth.signInWithCredential(credential)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
// Sign in success, update UI with the signed-in user's information
Log.d("test", "signInWithCredential:success");
FirebaseUser mUser = FirebaseAuth.getInstance().getCurrentUser();
mUser.getToken(false).addOnCompleteListener(new OnCompleteListener<GetTokenResult>() {
@Override
public void onComplete(@NonNull Task<GetTokenResult> task) {
if(task.isSuccessful()){
String m=task.getResult().getToken();
signIn(m);
}
}
});
public void signIn(String token){
QBUsers.signInUsingFirebase(projectId, token).performAsync( new QBEntityCallback<QBUser>() {
@Override
public void onSuccess(QBUser user, Bundle args) {
messenger.com.nowchat.helper.DataHolder.getInstance().setSignInQbUser(user);
Intent intent = new Intent(Registration.this, WelcomeProfile.class);
startActivity(intent);
finish();
}
}
Mais le problème est que mon jeton expire après 4 à 5 heures. Lorsque je vide le cache ou que je réinstalle l'application, elle fonctionne à nouveau pendant 5 heures.