Code nachladen in Javascript, für Google Unternehmens Store App

  • Hallo Leute


    Wir haben vor eine Datenauswertungsapp zu erstellen die speziell für unsere Businesskunden gedacht ist. Der Kunde lädt Messtabellen auf das Gerät und unsere App wandelt die Tabellen je nach Kundenwunsch um und erzeugt Berichte. Dazu soll dann für jeden Kunden individuell ein Javascriptcode nachgeladen werden können, der diese Umwandlung je nach Kundenwunsch durchführt. Die App soll als ein Kernprogramm veröffentlicht werden und Konfigurations- bzw. Pluginerweiterungen lassen sich dann direkt vom Server nachladen.


    Jetzt habe ich mitbekommen, dass Google in seinen Entwickler Guidlines unter dem Punkt SC-E1 Execution schreibt, Apps dürfen keinen Code dynamisch von außerhalb nachladen. Meine Überlegung war, da die App ja eh nicht generell verteilt werden soll, dass ich diese dann in als Private App einstelle oder gleich den Weg mit Apps für Unternehmen bereitstellen nutze. Leider steht nirgendwo, ob dort so ein nachladen von Plugins aus anderen Quellen zulässig ist, bzw. ob ich dafür dann trotzdem das Android Gerät für unbekannte Quellen entsperren muss, was ich ja nicht will.


    Beim Google Play Store ist dazu keine Telefonnummer oder Emailansprechpartner zu finden. Die Hilfen beziehen sich hingegen nur auf Probleme nach dem hochladen der App. Aber ich habe nicht vor Zeit in eine App Entwicklung zu stecken nur um im Nachhinein testen und herausfinden zu müssen, dass ich die App in der Form gar nicht hochladen könnte. :(


    Kennst sich jemand damit von euch aus oder hat Links mit Hinweisen zu Business Apps oder Javscript Code nachladen. :?:


    Grüße Cornflake

  • Wenn Du eine App mit einem WebView verwendest, kannst Du auf jeden Fall ohne Problem JavaScript, CSS und auch HTML dynamisch nachladen.
    Alternativ kannst Du auch den Code in der App veröffentlichen und nur eine Konfiguration (z.B. in XML) nachladen. Diese Konfiguration könnte dann die Ausführung des Codes steuern.

  • Hi kenne mich da zwar nicht allzugut aus .


    Nur was willst du mit Javascript Android läuft unter Java . Javascript läuft in einen Browser.
    Das sind verschiedene Dinge.



    Wenn du im Webbrowser Javascript nutzt wird doch die Seite vom Server geladen und auch im Browser oder der Webview verarbeitet. Denke du musst sowieso den meisten Teil auf dem Server machen .



    Javascript ist kein Code im sinne von Java Code was Google meint. Dynamisch nach laden würde bedeuten das du zB .eine Activity aus dem Netz lädst.



    Du kannst aber Programm Pakete erstellen die nach installiert werden können und auf die du dann auch zugreifen kannst. Eine App die zB einen Broadcast-Receiver zur Verfügung stellt in dem du dann deine Firmen spezifischen Sachen machst.

  • Cordova Apps z.B. arbeiten intern mit Javascript. Im Endeffekt ist die App der apk Datei eine Webseite die nicht im Standardbrowser aber mit erweiterten Rechten läuft. Eval() wäre z.B. eine Javascriptfunktion in der sich Javascript Code in Form eines Strings ausführen lassen lässt. Wenn in dem String dann z.B. steht, dass eine weitere Datei geladen werden soll und dann in dem String ein Algorithmus mit den geladenen Werten ausgeführt wird und dann das Ergebnis des Algos wieder in einem bestimmten Control angezeigt wird, wäre das so ein nachladen des Codes.


    Aber soweit ich verstanden habe darf eine App das nicht, da ja theoretisch genauso auf dem Gerät Virencode ausgeführt werden könnte (siehe Link oben zu genannter Google Guideline).


    Dabei ist das Nachladen von js Dateien der in der apk enthaltenen Dateien kein Problem, da dies Google beim Freigeben prüfen kann. Aber wenn das Nachladen von einem für Google fremden Server z.B: per REST kommt, geht das nicht. Eine Steuerdatei in den z.B. der Json String mit Algo 1 bis 10 steht ist kein Problem, aber ausführbarer Javscriptcode nachladen ist was anderes.


    Ich verstehe die Frage ist etwas speziell, aber zu Google kenne ich da leider keine direkte Nachfragemöglichkeit.

  • Hi,


    habe gestern abend noch ein wenig gelesen und bin dabei auf ein neues Feature von Android gestoßen.


    https://developer.android.com/…rm/technology/app-bundle/




    Enable modules to run instantly, without install
    You will soon be able to “instant enable” the Android App Bundle, so that users can launch modules instantly, from any link, and without installation. Regardless of whether you start by building an app bundle or Android Instant App, you'll be ready for instant-enabled Android App Bundles when we roll this feature out to all developers.


    Ich finde das klingt sehr interessant und ich werde mich ganz sicher in Kürze mal damit befassen. Allerdings hat das Ganze im Moment noch einen Haken ... "COMING SOON" :(

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!