Ich verwende Firebase-Speicher, um Bilder/Videos/und Audios zu speichern. Ich habe beide API-Schlüssel: debuggen und freigeben. Wenn ich die Anwendung auf dem Telefon starte, funktioniert alles gut. Allerdings, wenn ich die Release-APK erzeuge, funktioniert es manchmal gut und manchmal nicht.Firebase-Speicher zeigt keine Daten an
Irgendwelche Ideen, was könnte das verursachen?
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReferenceFromUrl("gs://manager-plus.appspot.com");
StorageReference riversRef = storageRef.child("media/" + mediaDataList.get(i).name+SystemClock.elapsedRealtime());
Uri uri;
if (mediaDataList.get(i).type == 1)
uri = Uri.fromFile(LoadBitmaps.saveBitmap(LoadBitmaps.decodeSampledBitmap(new File(mediaDataList.get(i).url), 100, 100)));
else uri = Uri.fromFile(new File(mediaDataList.get(i).url));
uploadTask = riversRef.putFile(uri);
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Long size = Long.parseLong(mediaDataList.get(i).size) + Prefs.getInstance(getApplicationContext()).getSize();
if (Double.parseDouble(formatSize(size)) <= 2.0) {
Prefs.getInstance(getApplicationContext()).setSize(Long.parseLong(mediaDataList.get(i).size) + Prefs.getInstance(getApplicationContext()).getSize());
DataOnline dataOnline = new DataOnline();
dataOnline.link = String.valueOf(taskSnapshot.getDownloadUrl());
dataOnline.type = mediaDataList.get(i).type;
dataOnline.name= mediaDataList.get(i).name;
dataOnline.save();
} else {
Toast.makeText(getApplicationContext(), "Please subscribe to the paid version", Toast.LENGTH_SHORT).show();
}
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
Toast.makeText(getApplicationContext(), exception.getMessage(), Toast.LENGTH_LONG).show();
}
})
.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
@Override
public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
//calculating progress percentage
double progress = (100.0 * taskSnapshot.getBytesTransferred())/taskSnapshot.getTotalByteCount();
build.setProgress(100, (int) progress, false);
notificationManager.notify(101, build.build());
}
});
Danke,
Sie sollten mehr Informationen zu Ihrer Aussage liefern „manchmal funktioniert es gut und andermal es einfach nicht“, welche Ausnahmen erhalten Sie? – riggaroo
Ich bekomme keine Ausnahmen. Ich benutze die Anwendung von Android Studio funktioniert alles perfekt. Ich kann alles in der Cloud hochladen und in der Vorschau anzeigen. Wenn ich jedoch die signierte Apk erzeuge, wenn ich etwas in die Cloud hochlade, wird es hochgeladen und ich kann es im Speicherbereich sehen. Aber wenn ich versuche, eine Vorschau über die App zu sehen, wird es nicht angezeigt. –
Zeigen Sie Ihren Code, wie Sie Knoten zum Abrufen von Daten verwalten – Rahul