App soll nur 12 Stunden an einem bestimmten Tag funktionieren..geht das ?

  • Antworten:11
Hans Klawun
  • Forum-Beiträge: 23

21.04.2019, 16:38:42 via Website

App soll nur 12 Stunden an einem bestimmten Tag funktionieren..geht das ?

Für eine Veranstaltung an bestimmten Tagen soll eine App nur diesen Tag von 20:00 bis Morgens um 08:00 Uhr funktionieren...also wie eine zeitlich begrenzte Demo eigentlich.

Ich finde diesbezüglich keine richtigen Informtionen im Netz.

Unter Win habe ich damit keine Probleme etwas zu veröffentlichen, was nur 1 Tag funktioniert.

Würde mich über einen Such-Tipp freuen

Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

21.04.2019, 16:59:09 via App

Hallo Hans,

du kannst in der App natürlich eine Überprüfung einbauen und wenn die App außerhalb der passenden Zeit geöffnet wird, kommt eine "Gesperrt" Meldung oder ein Dialog dass die App gesperrt ist.

Das sollte dann reichen.
Die App musst du dann vorher veröffentlichen und die App tut nur an dem Tag.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Hans Klawun
  • Forum-Beiträge: 23

22.04.2019, 08:26:51 via Website

Ja, Danke erst einmal aber das war mir schon klar:D

Ich versuche über Google etwas mehr darüber zu erfahren, finde aber immer nur etwas über Apps welche man am Gerät selber zeitlich einschränken kann oder wie das Datum/Uhrzeit eingestellt wird.

Deswegen war die eigentliche Frage, nach was muss ich direkt suchen?

Ich bin ja noch nicht so fit mit Android Studio und muss mich da erst reinarbeiten.

Danke

— geändert am 22.04.2019, 08:27:18

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.04.2019, 08:52:39 via Website

Hallo Hans,

vermutlich findest du direkt nichts, weil das ein spezieller Anwendungsfall ist, dessen Ansatz nicht sehr oft in eigenen Apps eingesetzt wird.

Im Prinzip in deiner MainActivity direkt nach AppStart:

SimpleDateFormat format = new SimpleDateFormat("dd.MM.yy HH:mm:ss"); //Datumsformat

Date   appStartDate = format.parse( "22.04.19 9:00:00" ); // Untere Schranke ab wann die App benutzbar ist
Date   appEndDate = format.parse( "23.04.19 9:00:00" ); // Obere Schranke bis wann die App benutzbar ist
Date currentDate = new Date(); //aktuelles Datum + uhrzeit

if(currentDate.after(appEndDate) || currentDate.before(appStartDate)){
  //Wenn nach Enddatum oder vor Startdatum
  //Reagiere auf die "Sperre" d.h. Starte eine Sperr Acvitity oder zeige einen Dialog und beende die  App.
  // je nachdem was du hier machen magst
}
//Ansonsten starte die App mit der MainActivity

Der Code ist nur aus dem Kopf geschrieben und kann Fehler enthalten.
Aber ich hoffe das Prinzip ist klar geworden.

Je nachdem wie wichtig die Einhaltung der Zeit ist, musst du auch noch prüfen, ob nicht jemand im Android die Uhr umstellt. D.h. dann am besten direkt die Zeit bei einem Zeitserver abragen und mit UTC arbeiten.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Jokel
Kommentieren
Hans Klawun
  • Forum-Beiträge: 23

22.04.2019, 15:58:53 via Website

Danke für den Ansatz meiner Idee.

Ist auch sehr ungewöhlich was ich da versuche. (silly)

Im Augenblick behelfe ich mir mit einem Passwort, was dann schnell geändert werden kann.

Ich muss mal sehen was dauerhaft am schnellsten funktioniert.
Eine schöne Woche wünsche ich

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.04.2019, 19:57:10 via App

Für was soll die Funktion denn gut sein?
Vielleicht gibt es alternativen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Hans Klawun
  • Forum-Beiträge: 23

22.04.2019, 21:47:38 via Website

Es ist für einen DJ und soll für Musikwünsche während einer Veranstaltung sein.

Ich hatte das vorher mit Win und einem Touchscreen gelöst und war soweit eigentlich in Ordnung.
Man hat kein Internet benötigt und alle Daten blieben intern auf dem Rechner/n
Der Musikwunsch wurde einfach in eine TXT abgelegt und bei jeder Änderung konnte der DJ das auf dem anderen PC / Notebook automatisch sehen.

Jetzt wollen wir das ganze ein wenig moderner machen.
Nachteil ist halt, das Internet benötigt wird.
Vorteil ist aber auch das der Rechner mit dem Touchcreen heil bleibt:D

Ich habe das jetzt mit ( unschön ) WebView gelöst.
Die App ist auf dem Phone und wird innerhalb ( bei Klick auf den Button "Musikwunsch" ) auf eine Passwortgeschützte Webseite innerhalb der App geleitet.
Nach Veranstaltungsende wird einfach das PW geändert und vor der nächten VA neu gesetzt.

So bleibt die App immer gleich aber der Besucher hat nur diesen Tag die Gelegenheit einen Musikwunsch zur jeweiligen Veranstaltung zu stellen.

Auch wenn sich jemand die App genau ansehen würde, könnte man nur den Weblink aber nicht das Passwort rausfinden.

Ist erst einmal ein Lösung und schnell umgesetzt.
Da ja dauernd das Passwort verändert wird, kann ich das offiziell im Playstore hochladen damit der unbedarfte das auch installiert bekommt.
Ist zwar signiert aber Android meckert doch dauernd rum das es ein unbekannter Entwickler ist wenn man es auf dem eigenen Server hostet.

Naja....wir sind noch am "Basteln"

Mist morgen wieder arbeiten...Ostern ist viel zu kurz(laughing)

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.04.2019, 23:11:58 via Website

Wieso brauchst du überhaupt eine App und ein Passwort.
Baue das ganze doch wirklich als komplette WebApp (d.h. als mobile Webseite).

Jede VA hat einen eigenen Link (eindeutige ID oder irgend ein x-Stelligen Code o.ä.) der via QR Code im Raum oder beim DJ verteilt werden kann.
Das Backend kennt die Zeiten der VA und lässt nur während dieser Musikwünsche zu.
Diese lassen sich dann per Textfeld oder vorauswahl (je nach Wunsch) übermitteln.
Damit müsste jeder Besucher nur den Code Scannen und auf die Webseite gehen und kann dort alles machen.
Hierfür brauchst du keine App, das ist reine Webentwicklung.

Wenn du dann noch eine App willst, baust du ins Backend der Seite eine API ein, die eine Liste der aktiven VAs zurückliefert. In der App lassen sich dann nur für "für den Server aktive" VAs Musikwünsche übermitteln.

Dafür brauchst du zwar Webenwickler Kenntnisse, ist aber für dein Vorhaben sehr viel einfacher als das mit einer App und änderten PWs zu machen.

Und es funktioniert für alle Plattformen egal ob Android oder IOS etc.

— geändert am 22.04.2019, 23:14:07

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Hans Klawun
  • Forum-Beiträge: 23

23.04.2019, 07:01:45 via Website

Damit habe ich auch schon experimentiert.
QR-Code abscannen und dann über die WebApp den Musikwunsch eingeben.
Das Formular für den Musikwunsch wird nur zeitlich angezeigt z.B. Freitag bis samstag oder auch mit Uhrzeit.
Funktioniert auch alles soweit.

Ich will aber verhindern, das dann an einem anderen Wochenende jemand einen Wunsch abgeben kann, der nix mit der Veranstaltung zu tun hat.
Deswegen habe ich die Lösung mit dem Passwort gewählt.

Ich habe ja auch keine genauen Zeiten wann, welche VA ist.

Jetzt werde ich mal versuchen die jeweils gültigen Passwörter für jedes Wochenende in einer DB zu hinterlegen und auszulesen.
Wir wollen ja nicht, das irgendeiner einen Wunsch abgibt der nicht für die laufende Veranstaltung gedacht ist, und deswegen halt immer ein anderes Passwort.

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

23.04.2019, 07:49:38 via Website

So kannst du es natürlich machen, das macht es aber für die Nutzer immer umständlich.

Nimm eine lange ID (GUID) oder sonst irgendwas als identifier, das ist zwar keine "Sicherheit" aber wenn das jemand erraten/brute force will, macht der auch brute force fürs PW.

Oder du tust das PW gleich in den QR Link integrieren, dann erfüllt das die Anforderungen meiner genannten ID.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Hans Klawun
  • Forum-Beiträge: 23

23.04.2019, 12:29:05 via Website

Oder du tust das PW gleich in den QR Link integrieren
Da geht ja nicht da die App immer die gleich bleiben soll, sonst müsste ich immer ein Update der App erstellen oder den Link auf eine extra Seite zeigen lassen wo dann das Passwort und der Link zum PlayStore steht....auch umständlich.

Komme gerade vom DJ und wir haben uns für die Lösung mit den Kennwort entschieden.

QR und Kennwort wird auf der jeweiligen VA veröffentlicht und ist nur für diese VA gültig.

Dann erstelle ich noch ein Script was auf Knopfruck ein neues PW erstellt und auf den Server lädt.

Da bin ich gerade am Testen.

wird Zeit, die Open-Air Saison beginnt bald.

Schöne Woche noch

Hilfreich?
Kommentieren
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

23.04.2019, 12:53:55 via App

Wenn du alles in der App machst ja, aber wenn alles auf einem Server ist, und du eine richtige Webseite hast, dann wird die App immer gleich bleiben.
Wenn du das für die beste Lösung hälst ist das deine Sache, aber ich als Nutzer finde ich umständlich extra ein PW einzugeben, wenn ich als Entwicker weiss dass es auch anders geht.

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren