- Forum-Beiträge: 51
20.04.2020, 22:27:45 via Website
20.04.2020 22:27:45 via Website
Gibt es eine möglickkeit das man über eine url die App version überprüfen kann und wenn ja wie geht das?
Mit freundlichen Grüßen
Roberto.
20.04.2020, 22:27:45 via Website
20.04.2020 22:27:45 via Website
Gibt es eine möglickkeit das man über eine url die App version überprüfen kann und wenn ja wie geht das?
Mit freundlichen Grüßen
Roberto.
21.04.2020, 08:32:34 via Website
21.04.2020 08:32:34 via Website
Hallo Roberto,
du kannst die Version der App in der App selbst auslesen:
https://developer.android.com/studio/publish/versioning
Die Frage ist was du machen willst und warum die App Version über eine URL abfragbar sein sollte?
Das passt nicht zusammen oder du hast dein Vorhaben nicht genau erklärt
LG Pascal //It's not a bug, it's a feature.
21.04.2020, 08:55:41 via Website
21.04.2020 08:55:41 via Website
Also ich meine das so das die App von selbst prüft ob es eine neuere version gibt als die ältere, quasie ob es ein Update gibt.
21.04.2020, 09:40:39 via App
21.04.2020 09:40:39 via App
Hallo Roberto,
wenn du einen Server hast, dann könnte ich dir das PHP Script hier posten und die entsprechende Anfrage.
Habe ich in meiner App eingebaut
Gruß Ludy (App Entwickler)
✴
Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺
✴
☕ Buy Me A Coffee ☕
✴
Lebensmittelwarnung-App
✴
✨Meine Wunschliste✨
✴
📲Telegram NextPit News📲
21.04.2020, 11:51:47 via Website
21.04.2020 11:51:47 via Website
Ja ich habe ein Server.
21.04.2020, 12:40:35 via Website
21.04.2020 12:40:35 via Website
Also auf Android Seite hab ich das so gemacht.
@Ludy ist dem noch was hinzuzufügen?
public class AutoUpdater {
/**
* Sucht den aktuellen Versionscode heraus
*
* @param context Applikationskontext
* @return App Versionscode
*/
public static int getVersionCode(Context context) {
PackageManager pm = context.getPackageManager();
try {
PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);
return pi.versionCode;
} catch (NameNotFoundException ex) {
}
return 0;
}
/**
* Pr?ft ob ein nues Update verfügbar ist und zeigt ein PopUp an, wenn vorhanden
*
* @param ctx Applikationskontext
* @return
*/
public static boolean checkForUpdates(final Context ctx) {
String Url = "http://api.example.com/app/info";//Hier mit deiner URL ersetzen.
Ion.with(ctx).load(Url).asJsonObject().setCallback(new FutureCallback<JsonObject>() {
@Override
public void onCompleted(Exception arg0, JsonObject os) {
try {
JsonObject o = os.getAsJsonObject("data");
int version = o.get("version").getAsInt();
String downloadUrl = o.get("url").getAsString();
String desc = "";
if (o.has("descr")) {
desc = o.get("desc").getAsString();
}
if (version > getVersionCode(ctx)) {
//Neue version can be downloaded on @url
final TextView message = new TextView(ctx);
final SpannableString s =
new SpannableString(Tools.getStringFromResources(ctx, R.string.newVersionText) + downloadUrl + "\n\n" + desc);
Linkify.addLinks(s, Linkify.WEB_URLS);
message.setText(s);
message.setMovementMethod(LinkMovementMethod.getInstance());
new AlertDialog.Builder(ctx)
.setTitle(Tools.getStringFromResources(ctx, R.string.newVersion))
.setCancelable(true)
.setIcon(android.R.drawable.ic_dialog_info)
.setView(message)
.setPositiveButton(Tools.getStringFromResources(ctx, R.string.OK), null)
.create().show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
return false;
}
Die Json dazu so:
{
"version": "1413",
"url": "http://app.example.com/app/myApp.apk"
}
Die PHP könnte dann die Version aus der neusten Datei auf dem Server auslesen und den Pfad für den Download mitgeben.
LG Pascal //It's not a bug, it's a feature.
21.04.2020, 14:52:04 via App
21.04.2020 14:52:04 via App
Jetzt ist die Frage, wenn sie im Playstore veröffentlicht ist, oder ist die App "privat"
Gruß Ludy (App Entwickler)
✴
Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺
✴
☕ Buy Me A Coffee ☕
✴
Lebensmittelwarnung-App
✴
✨Meine Wunschliste✨
✴
📲Telegram NextPit News📲
21.04.2020, 15:42:58 via Website
21.04.2020 15:42:58 via Website
Vorerst privat.
21.04.2020, 16:29:54 via Website
21.04.2020 16:29:54 via Website
Okay soweit so gut aber wie sieht dann die PHP aus.
21.04.2020, 18:47:41 via Website
21.04.2020 18:47:41 via Website
das kommt darauf an wie du die Stuktur haben willst und welche Information reichen soll.
Skizziert etwas so:
<?php
$files = scandir('.', SCANDIR_SORT_DESCENDING);
$apkFile = null;
for($file in $files){
if(strpos($file, '.apk') !== false){ //apk Datei gefunden
$apkFile = $file;
}
}
if($apkFile == null){
die(json_encode(array("version"=>0,"url"=>"")));//Leeres Ergebnis bzw error behandlung
}
echo json_encode(array("version"=>0,"url"=>"url to $apkFile));
?>
Dieses PHP Sktript liest alle Dateien im aktuellen Verzeichnis uns sucht sich die APK mit der höchsten Nummer raus.
Das setzt voraus dass du deine App bzw die APK Datei passend benennst und dann ablegst.
Version wird jetzt nicht mitgegeben, dass musst du ggf. noch machen,je nachdem wie der Dateiname aussieht.
Deployen der App via FTP etc. musst du dann natürlich auch machen.
Die Url to APK File musst du auch mit deiner Domain und dem Pfad zur Datei ersetzen.
PS: Nicht PHP7 style weil optionale PHP typisierung weggelassen aber das sollte dir erstmal egal sein
— geändert am 21.04.2020, 18:48:29
LG Pascal //It's not a bug, it's a feature.
22.04.2020, 10:32:18 via Website
22.04.2020 10:32:18 via Website
Ja ich nutze PHP 7 aber das ist ja auch erst mal egal. Ich werde das ganze mal testen.
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.