Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Android 12/13 Push Permission Fehler (https://www.delphipraxis.net/211738-android-12-13-push-permission-fehler.html)

braunbaer 28. Okt 2022 10:00

Android 12/13 Push Permission Fehler
 
Hallo Zusammen,
ich habe ein Problem mit meinen Apps, welche Push-Benachrichtigungen empfangen können (und das schon seit 2016!).
Wenn ich diese neu kompiliere und auf Android 12 oder 13 neu installiere, bleibt die App mit dem Splashscreen stehen.
Sobald ich in die App-Settings gehe und bei den Berechtigungen bei Telefon zulassen einstelle, funktioniert es.
Ich habe einige Tests gemacht, auch mit leeren BeispielApps. Sobald Pushbenachrichtigungen aktiviert werden, kommt das Problem.

Kennt jemand das Thema. Gibt es zusätzliche Permissions, die gesetzt oder abgefragt werden müssen?

Schon mal Danke für jeden Hinweis.

MyRealName 28. Okt 2022 12:59

AW: Android 12/13 Push Permission Fehler
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich habe gerade an meinem s22 Ultra mit Android 13 (gestern installiert) probiert und die Nachricht kommt an, man muss aber da mehr Sachen in die Manifest reinknallen. Ich hänge Dir meine mal an.
Als Beispiel habe ich dieses Repository angesehen

braunbaer 28. Okt 2022 14:01

AW: Android 12/13 Push Permission Fehler
 
Zitat:

Zitat von MyRealName (Beitrag 1514010)
Also ich habe gerade an meinem s22 Ultra mit Android 13 (gestern installiert) probiert und die Nachricht kommt an, man muss aber da mehr Sachen in die Manifest reinknallen. Ich hänge Dir meine mal an.
Als Beispiel habe ich dieses Repository angesehen

Das schaue ich mir gerne an - vielen Dank.
Ich habe jetzt mal kurzfristig die targetSdkVersion fix auf 30 gesetzt.
Damit funktioniert es.
Wenn ich es richtig nachgelesen habe, bringt Android 13 zwingend die Permission-Abfrage, ob Pushes erlaubt werden sollen.
Bei Android 12 wurde noch standardmässig einfach zugesagt.
Ich denke, da muss emba noch nachbessern.

Übrigens ist das Problem nur bei Neuinstallationen, nicht bei Updates.

MyRealName 28. Okt 2022 14:38

AW: Android 12/13 Push Permission Fehler
 
Komisch, weil ich habe ja ein komplett neues Projekt gemacht und sogar eine neue App registriert... hat alles funktioniert, musste mich nur etwas rummachen weil ich für das Senden von PushNachrichten (was übrigends auch geht) bisher immer RealThinClient nutzte (10 Zeilen mit dem "end") gegenüber 32 Zeilen bei TRestClient...
Aber Push-Nachricht kommt ohne Probleme auch an.

MyRealName 28. Okt 2022 14:52

AW: Android 12/13 Push Permission Fehler
 
Zitat:

Zitat von braunbaer (Beitrag 1514012)
Zitat:

Zitat von MyRealName (Beitrag 1514010)
Wenn ich es richtig nachgelesen habe, bringt Android 13 zwingend die Permission-Abfrage, ob Pushes erlaubt werden sollen.
...
Übrigens ist das Problem nur bei Neuinstallationen, nicht bei Updates.


Geht es da nicht eher um das Senden von mobilen Apps aus ? Siehe Notification runtime permission

Zitat:

Android 13 (API level 33) and higher supports a runtime permission for sending non-exempt (including Foreground Services (FGS)) notifications from an app: POST_NOTIFICATIONS.
Zitat:

Effects on newly-installed apps
If a user installs your app on a device that runs Android 13 or higher, your app's notifications are off by default. Your app must wait to send notifications until after you request the new permission and the user grants that permission to your app.
Oder meinst Du, dass Du sie nicht zum NotificationCenter senden kannst? Sie aber schon in Deinem OnReceiveNotificationEvent akommen ?

MyRealName 28. Okt 2022 18:41

AW: Android 12/13 Push Permission Fehler
 
Ich konnte Dein Problem jetzt nachvollziehen.
Leider habe ich noch keine Lösung, ich habe versucht, die Permission zu bekommen

Code:
  FPushPermission := 'android.permission.POST_NOTIFICATIONS';
  PermissionsService.RequestPermissions([FPushPermission],
  procedure(const APermissions: TClassicStringDynArray; const AGrantResults: TClassicPermissionStatusDynArray)
    begin
      if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then
        Toast('User granted permission', TJToast.JavaClass.LENGTH_SHORT)
      else
        Toast('User denied permission', TJToast.JavaClass.LENGTH_SHORT);
    end
Man muss sie natürlich im Manifest anmelden...

Code:
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
Leider bleibt er bei mir hängen, wenn die Permission nicht gesetzt ist. Ist sie schon da, sagt er im Toast "User granted permission".
:oops:
Hab es erstmal nicht hinbekommen

Rollo62 29. Okt 2022 08:57

AW: Android 12/13 Push Permission Fehler
 
Nur überflogen: Die Entitlements habt Ihr auch gesetzt ?

MyRealName 29. Okt 2022 09:32

AW: Android 12/13 Push Permission Fehler
 
Die haben bei Delphi 11 noch kein Android 13 Support drin, aber technisch gesehen ist es nur ein "String", den man da sendet welches derselbe ist, den man in die Manifest einträgt. Das habe ich auch direkt von der Googleapi Seite runterkopiert und geht auch, wenn das Recht gesetzt ist, aber wnen nicht, die OP auch sagt, dann geht es nicht, den Abfrage DIalog aufzurufen.
Ich habe auch ein DisplayRationale Dialog aufgesetzt in dem Event, geht trotzdem nicht... Bleibt irgendwo im Code von Delphi hängen

braunbaer 29. Okt 2022 10:58

AW: Android 12/13 Push Permission Fehler
 
Delphi 11.2 macht zwar SDK 32 aber leider nicht kompatibel für Android 13.
Deshalb habe ich im Manifest targetSdkVersion="30" fix eingetragen.
Damit funktioniert es und ist auch problemlos durch die Play-Store Prüfung gelaufen.
Ich habe das auch so gelesen, dass die Permission für das Push empfangen abgefragt werden muss.
Ich hoffe mal, das die bald nachgebessert wird.

Rollo62 29. Okt 2022 11:27

AW: Android 12/13 Push Permission Fehler
 
Das kann aber sein dass ab 01.11.22 die Apps im PlayStore nicht mehr upgedated werden können mit SDK 30, auch für Android 12.
https://support.google.com/googlepla...11926878?hl=en


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:08 Uhr.
Seite 1 von 2  1 2      

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