Du bist nicht angemeldet.

Werbeanzeige

1

20.04.2017, 16:34

Unity App, permissions deaktivieren

Hallo,

Ich habe In meinem Umfeld viele Bekannte, die meine App nicht testen würden, wenn bei der Installation steht:

Zitat

Möchten Sie diese App installieren?
Sie erhält dann Zugriff auf:
(((● Voller Netzzugriff


Ich möchte den Netzugriff deaktivieren. und habe die AndroidManifest.xml etwas verändert. Es hat aber nichts gebracht. Die Datei liegt im Asset/Plugins/.Android Ordner.
Ich habe die Zeilen hinzugefügt

C#-Quelltext

1
2
  <meta-data android:name="unityplayer.INTERNET" android:value="false" />
    <meta-data android:name="unityplayer.ACCESS_NETWORK_STATE" android:value="false" />


vielleicht an der falschen stelle:


Ich brauche die funktionen vielleicht, wenn ich die app später im stor mit werbung versorgen möchte, aber vorerst möchte ich nicht, dass Die Benutzer denken dass, die app sich mit dem internet verbindet, auch für andere private apps fände ich das besser.

Kann mir jemad sagen wie ich das mache?

Nox

Supermoderator

Beiträge: 5 196

Beruf: Student

  • Private Nachricht senden

2

20.04.2017, 17:29

Schonmal im Unityforum nachgeschaut/google bemüht zu dem Thema? Vermute du bist nicht der erste dem es so geht.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy

BlueCobold

Community-Fossil

Beiträge: 10 213

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

3

20.04.2017, 17:37

Ich glaube eher da stimmt was nicht mit deinen Bekannten und nicht mit den Settings der App.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

4

20.04.2017, 18:22

Zitat

Ich glaube eher da stimmt was nicht mit deinen Bekannten und nicht mit den Settings der App.

:D jo, so könnte ich das vielleicht auch mal sehen, ich glaube, es gibt bei mir im Ort echt niemand wer sich mit Games beschäftigt.

Zitat

Schonmal im Unityforum nachgeschaut/google bemüht zu dem Thema? Vermute du bist nicht der erste dem es so geht.

Ich habe schon gesucht, aber nur die einzufügenden Code Zeilen gefunden und Fragmente mit der Permission. wo in die xml datei ich das einfügen soll ist mir unklar, und wo sie eingespielt wird, ist das eine datei für den preprozessor?
oder für die sdk?
oder für jdk?
Und warum ist das nicht in unity imNetworkManeger, da stehen nur 2 Werte:
Debug Level 0
Sendrate = 15

Ich glaube das lasse ich erstmal, oder brauche ich die xml für die shop einbindung später sowieso?

Nox

Supermoderator

Beiträge: 5 196

Beruf: Student

  • Private Nachricht senden

5

20.04.2017, 18:52

googlen brauchte mich auf diese Antwort: http://answers.unity3d.com/questions/120…ccess-your.html
Also musst du vmtl nur die entsprechenden Zeilen komplett entfernen.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy

6

20.04.2017, 20:10

Das hat auch nichts gebracht.

es kommt immer noch die Netzwerk Meldung.

und als ich

Quellcode

1
<category android:name="android.intent.category.LAUNCHER" />

entfernt habe, habe ich eine Compiler Warnung bekommen:

Zitat

No activity found in the manifest with action MAIN and category LAUNCHER.
Your application may not start correctly.
UnityEditor.HostView:OnGUI()

[irony]Unity braucht echt das Netzwerk[/irony]

Zu answers.unity3d.com: habe dabei bemerkt dass, da 78 Leute das Thema abonniert haben, ich muss mal öfter dahin und mich da mal einlesen.

Außerdem habe ich jetzt eine Einladung von einer Gaming Community vom letztem Jahr aus 20 km Entfernung wahrgenommen :) dann kenn ich vielleicht jemand persönlich, der Computer nicht als Alibi Hobby nimmt

Renegade

Treue Seele

Beiträge: 361

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

7

20.04.2017, 20:41

Zuerst einmal: Edit->Project Settings->Player->(Android Tab)->Internet Access->[Require] auf [Auto]. Development Builds sind IMMER auf Require. Unity erkennt dadurch automatisch ob es Funktionalität in den Skripten gibt die Internet voraussetzen.https://docs.unity3d.com/Manual/class-Pl…ngsAndroid.html
Desweiteren: Im Assets-Ordner Android das hinterlegte Manifest wird mit dem von Unity gemergt. In dem Fall würde Unity entdecken, dass es Internet benötigt und deine Extra-Einstellung einfach überspringen.
Außerdem: Wenn du die Category für das Intent für LAUNCHER entfernst, weiß Android nicht mehr welche Activity er ansteuern soll um die App zu starten. Es muss in jeder App eine Activity geben für die Category LAUNCHER und Aktion MAIN. Das hat mit dem Internet überhaupt nichts zu tun. (...ansonsten gäbe es kein App Symbol auf dem Telefon) https://developer.android.com/guide/comp…ts-filters.html


Zu guter Letzt: Seit Unity 5.5.x kannst du beim Build unter File->Build Settings->Build System-> Gradle (new) stellen. Das Resultat ist dabei ein Android Studio Projekt. Dieses kannst du mit der IDE öffnen, das Manifest ggf. händisch anpassen und dann mittels Android Studio builden. Im übrigen verwendet Unity als Template für das Manifest folgende Datei: [UnityInstallFolder]\Editor\Data\PlaybackEngines\AndroidPlayer\Apk\AndroidManifest.xml und wendet darauf die Einstellungen aus den Player Settings an. Solltest du jedoch in irgendeiner Weise doch Internet verwenden und auf Android die Rechte nicht haben, wird dir eine SecurityException: Permission denied um die Ohren fliegen. Solltest du keine Ahnung haben was du da tust, empfehle ich diese Einstellungen lieber nicht anzufassen und alles weitere stets über die Player Settings zu handhaben - Unity übernimmt dann den Rest für dich.

PS: Das AndroidManifest.xml ist ein wichtiger Bestandteil des gesamten Android Konzepts wie das System und Apps miteinander kommunizieren können. Du wirst es nicht nur bei irgendwelchen Shop Anbindungen benötigen, sondern es eine zwingende Grundvoraussetzung für überhaupt alles. https://developer.android.com/guide/topi…fest-intro.html
Liebe Grüße,
René

Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »Renegade« (20.04.2017, 21:04)


8

20.04.2017, 21:27

sind denn jetzt die Zeiten vorbei, in denen User noch hoffen Konten dass, es apps geben wird, die keinen Zugriff auf alles mögliche wie das Netzwerk haben.
"keine Rechte auf Android" . mit was kann man das vergleichen. Du meinst nicht wenn der touchscreen gesperrt ist oder?

Renegade

Treue Seele

Beiträge: 361

Wohnort: Berlin

Beruf: Certified Unity Developer

  • Private Nachricht senden

9

20.04.2017, 21:30

sind denn jetzt die Zeiten vorbei, in denen User noch hoffen Konten dass, es apps geben wird, die keinen Zugriff auf alles mögliche wie das Netzwerk haben.
"keine Rechte auf Android" . mit was kann man das vergleichen. Du meinst nicht wenn der touchscreen gesperrt ist oder?


Wie bitte, was meinst du? Ich glaube du verstehst hier etwas falsch. Wenn deine App nicht die notwendigen Rechte vom System erhält (durch das Manifest), wird das System eine SecurityException werfen, weil die App versucht auf Dienste zuzugreifen bei der der User nicht sein Einverständnis gegeben hat. Das ist ein wichtiger Sicherheitsmechanismus der genau das was du ansprichst verhindert.
Liebe Grüße,
René

10

20.04.2017, 21:53

jetzt verstehe, ich habe im Satz irgendwie den Faden verloren.Ich dachte kein Netzwerk Permission in der App wäre von Android schon ein Verstoß.
Es geht also um die Warnung, wenn z.B. der Mechanismus für die Permission Abfrage weg ist aber die App dennoch versucht diese Dienste zu erreichen, gibt es eine Wahrung.
OK, Danke.

Vielleicht finde ich ja irgendwann wie man das lösen kann, einfach so ^^

Werbeanzeige