La finestra di dialogo Api di Android Play Core InAppReview non viene visualizzata
Aug 21 2020
Sto cercando di utilizzare l'API Review (Play Core library 1.8.0) di Google che è stata appena rilasciata oggi. Vederehttps://developer.android.com/guide/playcore/in-app-review. Attualmente lo sto utilizzando utilizzando il seguente codice:
public void inAppReview() {
ReviewManager reviewManager = ReviewManagerFactory.create(getActivity());
Task<ReviewInfo> request = reviewManager.requestReviewFlow();
request.addOnCompleteListener(new OnCompleteListener<ReviewInfo>() {
@Override
public void onComplete(@NonNull Task<ReviewInfo> task) {
if (task.isSuccessful()) {
ReviewInfo reviewInfo = task.getResult();
Task<Void> flow = reviewManager.launchReviewFlow(getActivity(), reviewInfo);
flow.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
Log.e("task<void>", task.isComplete() + "");
Log.e("task<void>", task.isSuccessful() + "");
}
}).addOnFailureListener(new com.google.android.play.core.tasks.OnFailureListener() {
@Override
public void onFailure(Exception e) {
}
});
} else {
Log.e("Review error", "Review error");
}
}
}).addOnFailureListener(new com.google.android.play.core.tasks.OnFailureListener() {
@Override
public void onFailure(Exception e) {
Log.e("Review error", "Review error");
}
});
}
Ho eseguito il test utilizzando il tracciato di test interno nella Console per gli sviluppatori di Google Play, ma sfortunatamente non ricevo la finestra di dialogo di revisione sul mio account di prova. Che cosa sto facendo di sbagliato?
Risposte
PhantomLord Aug 30 2020 at 01:03
Sto cercando di indagare anche su questo. Forse proguard offusca alcune classi di Play Core. Cerca di mantenere tutte le classi in Play core, Parcelable e Serializable Tuttavia nel logcat ci sono errori
-keep class * implements com.google.android.play { *; }
-keep class com.google.android.play.** { *; }
-keep interface com.google.android.play.** { *; }
-keepclassmembers class * implements android.os.Parcelable {
static *** CREATOR;
}
-keepclassmembers class * implements java.io.Serializable {
static final long serialVersionUID;
static final java.io.ObjectStreamField[] serialPersistentFields;
private void writeObject(java.io.ObjectOutputStream);
private void readObject(java.io.ObjectInputStream);
java.lang.Object writeReplace();
java.lang.Object readResolve();
}