Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Strategie: Wie konfiguriere ich eine mobile Anwendung? (https://www.delphipraxis.net/189219-strategie-wie-konfiguriere-ich-eine-mobile-anwendung.html)

Der schöne Günther 18. Mai 2016 16:21

Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Null Erfahrung in der Entwicklung für iOS und Android. Was liegt da näher als sich irgendwas im RAD Studio zusammenzuklicken :-)

Die Anwendung wird später eine Konfiguration brauchen, beispielsweise IP-Adressen und Ports von mehreren Servern. Weder will ich dafür Eingabemasken bauen, noch kann man dem normalen Kunden zutrauen, das selbst alles fehlerfrei einzutragen. Ich möchte eine "Konfiguration" vorbereiten die von der Anwendung einfach eingeladen werden kann.

Bei einer Windows-Kiosk-Anwendung hätte ich per TeamViewer ein paar .ini-Dateien ins entsprechende Verzeichnis geworfen und gut ist. Aber wie macht man das auf einem iOS und Android-Gerät?

Ich habe da zwei Ideen:

Möglichkeit 1: Registrierung von eigener Datei-Erweiterung
Die Anwendung registriert bei Installation eine eigene Datei-Erweiterung wie z.B. ".güntherSettings". Der Kunde kann sich die nun die Config-Datei als Email oder sonstwie schicken, beim drauftippen wird es direkt mit meiner Anwendung geöffnet. Hier kann ich alles auslesen, mir weglegen, gut ist.

Meine Befürchtung wäre, dass es mit den Embarcadero-Tools nicht ginge. Wenn ich StackOverflow richtig interpretiere (iOS und Android), dann sollte es gehen. Hat jemand Erfahrungen aus erster Hand?


Möglichkeit 2: Eingeben einer Short-URL
Um die Anwendung beim ersten Start einzurichten muss der Nutzer einen "Code" eingeben, beispielsweise "XR420KBF". Die Anwendung versucht daraufhin per HTTP eine Datei http://config.günthersoft.org/fancyApp/XR420KBF.zip einzuladen und zu verwerten.

Nachteil ist natürlich dass statisches Einbacken des URL-Musters nicht sonderlich elegant ist und der Kunde zu dem Zeitpunkt Internet-Zugriff haben muss.


Das wären meine zwei Ideen. Sind beide Quatsch? Welche bietet die geringeren Übel? Wie macht ihr es? Wie gesagt, im Idealfall läuft alles natürlich "automatisch" und bei Bedarf kann der Nutzer etwas anpassen. Aber bei der Zielgruppe ist die Erwartungshaltung eher "Macht dass es läuft, ich will damit nichts am Hut haben".

BUG 18. Mai 2016 17:38

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Ich denke Möglichkeit 2 ist nicht schlecht. Wenn man zu viel Zeit ist, packt man den Code zusätzlich noch in einen QR-Code.
Wenn du eine globale Benutzerverwaltung (Kundenkonto) hast, könntest du den Kunden auch damit einloggen lassen und dir die passende Daten darüber heraussuchen. Mit der Zuordnung (Kunde+Gerät -> Konfiguration) kannst dann eventuell sogar aus der Ferne umkonfigurieren, falls es Beschwerden gibt.

mquadrat 18. Mai 2016 17:51

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Wenn es wirklich von den Usern nicht angetatscht werden soll, dann würde ich die Konfiguration in einen Web-Service packen. Damm braucht der User nur noch "Aktualisieren" klicken, wenn er die neuen Daten haben will.

Aber was da genau am Besten ist, hängt denke ich ganz stark vom Use-Case ab. Bei einer Consumer-"Immer online"-Anwendung würde man das sicher anders lösen, als bei einer "Mein-Gerät-hat-gar-keine-SIM-und-das-WLAN-ist-dauernd-weg"-Logistikanwendung.

Der schöne Günther 20. Mai 2016 16:43

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Bevor es ins Wochenende geht hole ich das Thema noch einmal nach oben.

Jemand noch eine Idee? Etwas exotisches, gewagtes vielleicht? Jede Idee ist willkommen. Die besten Einsendungen nehmen an einer Verlosung teil werden von mir dankend entgegengenommen.

franktron 20. Mai 2016 16:51

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Warum nicht die ganze config in den QRCode packen
Ein QRCode kann jeder bedienen.

bcvs 20. Mai 2016 16:51

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Ich mache so etwas ähnliches über ein PHP-Script, dass auf meinem Webspace liegt, die Anforderungen der Anwendung auswertet und die gewünschte Info per Echo zurückgibt.

BUG 20. Mai 2016 17:42

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Zitat:

Zitat von franktron (Beitrag 1338562)
Warum nicht die ganze config in den QRCode packen

Besser nicht ... dann hat jemand vielleicht ein Telefon ohne Kamera (z.B. wegen Sicherheitsrichtlinien), hat gerade kein passendes Licht oder kriegt das Bild mit dem Code nicht angezeigt :wink:

mm1256 20. Mai 2016 19:22

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1338397)
Möglichkeit 2: Eingeben einer Short-URL
Um die Anwendung beim ersten Start einzurichten muss der Nutzer einen "Code" eingeben, beispielsweise "XR420KBF". Die Anwendung versucht daraufhin per HTTP eine Datei http://config.günthersoft.org/fancyApp/XR420KBF.zip einzuladen und zu verwerten.

Nachteil ist natürlich dass statisches Einbacken des URL-Musters nicht sonderlich elegant ist und der Kunde zu dem Zeitpunkt Internet-Zugriff haben muss.

So würde ich es machen, mit der kleinen Änderung, dass zuerst eine kleine html geladen wird, wo dann der Link für die eigentliche Konfiguration drin steht, welchem dann auch die kundenspezifischen Parameter übergeben werden. Somit wäre das "statisches Einbacken des URL-Musters" nicht mehr von Nachteil. Im Gegenteil, man könnte sehr flexibel z.B. auf Serverumzug reagieren, oder einem Kunden den Zugriff temporär verweigern, oder was auch immer...

Mavarik 21. Mai 2016 10:02

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Ich würde einen REST Server aus der App ansprechen.

Mavarik

Der schöne Günther 21. Mai 2016 13:10

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Danke für die Antworten.

Ich glaube mit einem dummen ZIP-Paket hätte ich es einfacher: Da muss ich nicht erst einen Server aufsetzen. Einfach das HTTP-Ding auf welchem auch unsere simple Homepage liegt reicht dann schon :-)

Da kann ich dann auch einfach Dinge wie das Kundenlogo in die Anwendung einbauen, die Leute stehen auf so etwas 8-)

BUG 21. Mai 2016 15:18

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Ich finde die statische URL nicht schlimm. Nimm eine Domain die du (nicht dein Hoster) kontrollierst und nimm dort eine Subdomain nur dafür (z.B. appname.config.example.com/<code>.json). Was soll da schiefgehen? In den Situationen wo du eine einzeln registrierte Domain verliehrst ist dir deine App vermutlich auch egal.

Mavarik 21. Mai 2016 15:27

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1338623)
Danke für die Antworten.

Ich glaube mit einem dummen ZIP-Paket hätte ich es einfacher: Da muss ich nicht erst einen Server aufsetzen. Einfach das HTTP-Ding auf welchem auch unsere simple Homepage liegt reicht dann schon :-)

Da kann ich dann auch einfach Dinge wie das Kundenlogo in die Anwendung einbauen, die Leute stehen auf so etwas 8-)

Oder Du machst es wie Apple...

Du hast doch bestimmt eine passende Desktop Anwendung, oder?

Beim 1. Mal muss die App über den Desktop App aktiviert werden.

(App-Tethering)

Mavarik

MyRealName 25. Jun 2016 16:48

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Ich würde auch einfach ein XML auf einen server packen und über statischen Namen/IP oder dyndns mich mit dem Server verbinden und diese Datei laden. Internet hat doch heut irgendwie jeder.

jobo 26. Jun 2016 07:55

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1338397)

Möglichkeit 2: Eingeben einer Short-URL
Um die Anwendung beim ersten Start einzurichten muss der Nutzer einen "Code" eingeben, beispielsweise "XR420KBF". Die Anwendung versucht daraufhin per HTTP eine Datei http://config.günthersoft.org/fancyApp/XR420KBF.zip einzuladen und zu verwerten.

Nachteil ist natürlich dass statisches Einbacken des URL-Musters nicht sonderlich elegant ist und der Kunde zu dem Zeitpunkt Internet-Zugriff haben muss.

Ich vote für 2.
Zum Thema Internetzugriff:
Wie kommt der Nutzer an die Anwendung selbst? Mglw. über den Store? Sieht jedenfalls danach aus, als gäbe es sowieso Internet Zugriff, also kein Problem oder?
Zu der URL /Übertragung:
Ich würde einen Fallback für die URL einbauen. Etwas, das Alternativ URL beschreiben kann sowie default Codes für Standardeinstellungen (die z.B. andere, zusätzliche Konfig URL laden, die bei nicht Erreichbarkeit angesurft werden können).
Im Zweifel gleich noch einen Test für Diagnose/Support, der feststellt, ob WLAN an ist und darüber auch bestimmte Internet Adressen erreichbar sind (WLAN!=Internet Access)

Rollo62 26. Jun 2016 09:00

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Hallo Günther,

ich verstehe den Zweck noch nicht ganz.
Du schreibst das INI Dateien auch eine Option für dich wären.

Wenn es nur darum geht den ersten Start zu konfigurieren, und möglicherweise bei Änderungen der Server (sehr selten)
das mal upzudaten kann man auch solche INI Dateien im Deployment mit dazupacken.
Bei änderungen kann die App dann in den Store geladen werden, mit angepassten INI Files.

Wenn du natürlich andauernd Server oder andere Änderungen erwartest ist ein ServerLösung sicher besser.

Rollo

Der schöne Günther 26. Jun 2016 09:27

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
"Server" und alle Komponenten sind in Kundenhand und auch Produkte von uns. Die Konfiguration ist bei jedem Kunden komplett anders. Ich weiß nicht wie schnell die Veröffentlichungszeiten in den B2B-Stores von Apple und Google sind, aber die Größenordnung von 48 Stunden Reaktionszeit wenn der Kunde mal eine IP umstellt wird keiner akzeptieren ;-)

Sir Rufo 26. Jun 2016 09:38

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Darum nimmt man auch keine IP Adresse sondern einen Domainnamen der dann per DNS in die richtige IP Adresse umgesetzt wird.

mjustin 26. Jun 2016 10:12

AW: Strategie: Wie konfiguriere ich eine mobile Anwendung?
 
Zur Option 1: in einem Android Projekt verwende ich die Verknüpfung zu bestimmten Datei-Typen:

Code:
            <intent-filter
                android:icon="@drawable/logo"
                android:label="@string/app_label" >
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />
                <data
                    android:host="*"
                    android:pathPattern=".*\\.rtf"
                    android:scheme="file" />
                <data android:mimeType="application/rtf" />
                <data android:mimeType="text/rtf" />
                <data android:mimeType="text/richtext" />
            </intent-filter>
Damit wird beim Auswählen von lokalen RTF Dokumenten meine App angezeigt.

Innerhalb der App ist dann natürlich noch etwas Logik erforderlich, um die übergebenen Dateinamen mit Dateioperationen anzusprechen. Wie gesagt, es ist eine Android / Java App, daher bin ich nicht sicher wie hilfreich ess wäre den Java Quellttext hier zu veröffentlichen.

Siehe auch Stackoverflow: http://stackoverflow.com/questions/1...file-extension


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz