Ich verwende Phonegap mit dem Build-Dienst von Adobe und frage mich, ob (und wenn ja, wie) ich meine Benachrichtigungen mit einem weißen Symbol versehen könnte (wie Google hier ). Ich verwende das PushPlugin , konnte jedoch keine Dokumentation dazu finden. Im Moment zeigt meine App nur das Launcher-Symbol neben dem Benachrichtigungsinhalt an.
Wer weiß also, ob es eine Möglichkeit gibt, ein alternatives Benachrichtigungssymbol mit dem PushPlugin zu aktivieren, stehe ich mit dem Launcher-Symbol fest oder gibt es ein anderes Plugin mit dieser Funktion?
Danke!
Ich verwende Phonegap mit dem Build-Dienst von Adobe und frage mich, ob (und wenn ja, wie) ich meine Benachrichtigungen mit einem weißen Symbol versehen könnte (wie Google hier ). Ich verwende das PushPlugin , konnte jedoch keine Dokumentation dazu finden. Im Moment zeigt meine App nur das Launcher-Symbol neben dem Benachrichtigungsinhalt an.
Wer weiß also, ob es eine Möglichkeit gibt, ein alternatives Benachrichtigungssymbol mit dem PushPlugin zu aktivieren, stehe ich mit dem Launcher-Symbol fest oder gibt es ein anderes Plugin mit dieser Funktion?
Danke!
Android API 21+ verwendet nur weiße Farbe für kleines Symbol. Wenn Sie die Ziel-SDK-Version ändern, verwendet Ihr Compiler das ältere SDK, sodass Sie in neue SDK-Funktionen einschneiden können. Der beste Weg besteht also darin, zwei Symbole zu haben: kleines und großes (wenn der Balken nach unten gezogen wird)
Ich habe noch nie Phonegap Build verwendet - ich erstelle den Build Prozess manuell auf meinem Rechner. Wie auch immer, ich denke, Sie sollten die Datei GCMIntentService.java unter src / com / plugin / gcm finden. Suchen Sie in dieser Datei nach der folgenden Codezeile:
%Vor%Dies kann durch das gewünschte Symbol ersetzt werden. Wenn Sie ein Symbol namens "notification.png" im Ordner / res / drawable platzieren, können Sie die Codezeile wie folgt ändern:
%Vor%Für eine Weile können Sie Ihre android-targetSdkVersion auf API 20 einstellen. Diese Version verwendet nicht die neuen Funktionen, die die alten Ressourcen zerstört haben.
Für mich funktioniert die Lösung, wenn zwei Antworten von hier kombiniert werden:
Zuerst habe ich die Ziel-SDK-Version
festgelegt %Vor%Und dann habe ich den Plugin-Code wie hier vorgeschlagen bearbeitet. In GCMInntentService Klasse habe ich die Methode setNotificationSmallIcon folgendermaßen geändert:
%Vor%oder wenn Sie ein benutzerdefiniertes Symbol festlegen möchten, verwenden Sie
%Vor%Dies ist für das neue Plugin - phonegap-plugin-push
Könnte auch für das alte PushPlugin funktionieren.
Android hat Richtlinien für das Benachrichtigungssymbol für Lollipop und höher festgelegt. Das Symbol muss rein weiß und transparent sein.
Was ich getan habe:
Erzeugt verschiedene Größen für mein Logo Bild (lasst es nennen "notif.png"), die transparente Rückseite hatte, mit dieser Werkzeug . Denken Sie daran, ein transparentes Hintergrundbild zu haben. Wenn Sie kein transparentes Bild haben, zeigt Android nur ein weißes Symbol an. Nehmen wir an, der Name des generierten Symbols lautet "ic_notif".
Kopieren Sie die entsprechenden Bilder in den Ordner res / drawables.
Geben Sie im Push-JS-Code den Wert "ic_notif" für die Eigenschaft "icon" ein. Und "grau" zu "iconColor" Eigenschaft wie folgt: %code%
Testen Sie Ihre Benachrichtigung mit diesem Tool .
Ich habe auch zu viele Probleme damit konfrontiert, aber nach der Suche im ganzen Internet habe ich verschiedene Lösungen für dieses Problem gefunden. Lassen Sie mich alle Lösungen zusammenfassen und erklären:
Hinweis: Diese Lösung ist für Phonegap cordova-Benutzer
vorgesehen%code%
Sie müssen Ihren android-targetSdkVersion-Wert auf <21 setzen. Nach dem Setzen dieses Wertes wird das Benachrichtigungssymbol bis Android 6 (Marshmallow) angezeigt. Es funktioniert nicht unter Android 7 (Nougat). Diese Lösung hat für mich funktioniert.
%code%
Aber diese Lösung funktioniert nur, wenn Ihre App geöffnet ist. Also, ich denke diese Lösung ist nicht die beste Lösung, aber sie hat für viele Benutzer funktioniert.
Und ich bin sicher, dass eine der obigen Lösungen für Ihr Problem funktionieren wird.
Sie müssen nur das
ändernandroid-targetSdkVersion
in Ihrer Datei config.xml.
%Vor%20 Android SDK-Version unterstützt das Logo in Android. Sie müssen also die Android-SDK-Version in Ihrem Code ändern.
Mit dem letzten Update von PhoneGap Builder auf Version 2 (und CLI v7.0.1) kann ich nun weiße Benachrichtigungssymbole korrekt mit cordova-plugin-push erscheinen lassen.
Ich habe zuerst meine .png-Icons (mit Transparenz) in GIMP erstellt. Ich habe sie dann in meinem Projekt bei %code%
abgelegtHier sind die relevanten Auszüge aus meiner Datei config.xml:
%Vor%Hier ist der Ort, an dem ich initialisiere:
%Vor%Legen Sie dies auf Ihrem PhoneGap oder Cordova config.xml
fest %Vor%Wenn Sie Builds verwenden PushPlugin ; lokale Änderungen an %code% # 100 wird verloren gehen.
Wenn Sie nicht lokal oder mit einem alternativen GCM-Plugin arbeiten, können Sie nur Folgendes ändern:
%Vor%Ich habe noch nie Phonegap Build verwendet - ich erstelle den Build Prozess manuell auf meinem Rechner. Wie auch immer, ich denke, Sie sollten die Datei GCMIntentService.java unter src / com / plugin / gcm finden. Suchen Sie in dieser Datei nach der folgenden Codezeile:
%Vor%Dies kann durch das gewünschte Symbol ersetzt werden. Wenn Sie ein Symbol namens "notification.png" im Ordner / res / drawable platzieren, können Sie die Codezeile wie folgt ändern:
%Vor%Legen Sie dies auf Ihrem PhoneGap oder Cordova config.xml
fest %Vor%Android API 21+ verwendet nur weiße Farbe für kleines Symbol. Wenn Sie die Ziel-SDK-Version ändern, verwendet Ihr Compiler das ältere SDK, sodass Sie in neue SDK-Funktionen einschneiden können. Der beste Weg besteht also darin, zwei Symbole zu haben: kleines und großes (wenn der Balken nach unten gezogen wird)
Dies ist für das neue Plugin - phonegap-plugin-push
Könnte auch für das alte PushPlugin funktionieren.
Android hat Richtlinien für das Benachrichtigungssymbol für Lollipop und höher festgelegt. Das Symbol muss rein weiß und transparent sein.
Was ich getan habe:
Erzeugt verschiedene Größen für mein Logo Bild (lasst es nennen "notif.png"), die transparente Rückseite hatte, mit dieser Werkzeug . Denken Sie daran, ein transparentes Hintergrundbild zu haben. Wenn Sie kein transparentes Bild haben, zeigt Android nur ein weißes Symbol an. Nehmen wir an, der Name des generierten Symbols lautet "ic_notif".
Kopieren Sie die entsprechenden Bilder in den Ordner res / drawables.
Geben Sie im Push-JS-Code den Wert "ic_notif" für die Eigenschaft "icon" ein. Und "grau" zu "iconColor" Eigenschaft wie folgt: PushNotification.init({"android":{"senderId":"XX","icon":"ic_notif","iconColor":"grey"}});
Testen Sie Ihre Benachrichtigung mit diesem Tool .
Für mich funktioniert die Lösung, wenn zwei Antworten von hier kombiniert werden:
Zuerst habe ich die Ziel-SDK-Version
festgelegt %Vor%Und dann habe ich den Plugin-Code wie hier vorgeschlagen bearbeitet. In GCMInntentService Klasse habe ich die Methode setNotificationSmallIcon folgendermaßen geändert:
%Vor%oder wenn Sie ein benutzerdefiniertes Symbol festlegen möchten, verwenden Sie
%Vor%Ich habe auch zu viele Probleme damit konfrontiert, aber nach der Suche im ganzen Internet habe ich verschiedene Lösungen für dieses Problem gefunden. Lassen Sie mich alle Lösungen zusammenfassen und erklären:
Hinweis: Diese Lösung ist für Phonegap cordova-Benutzer
vorgesehen <preference name="android-targetSdkVersion" value="20"/>
Sie müssen Ihren android-targetSdkVersion-Wert auf <21 setzen. Nach dem Setzen dieses Wertes wird das Benachrichtigungssymbol bis Android 6 (Marshmallow) angezeigt. Es funktioniert nicht unter Android 7 (Nougat). Diese Lösung hat für mich funktioniert.
<preference name="StatusBarStyle" value="lightcontent" />
Aber diese Lösung funktioniert nur, wenn Ihre App geöffnet ist. Also, ich denke diese Lösung ist nicht die beste Lösung, aber sie hat für viele Benutzer funktioniert.
Und ich bin sicher, dass eine der obigen Lösungen für Ihr Problem funktionieren wird.
Mit dem letzten Update von PhoneGap Builder auf Version 2 (und CLI v7.0.1) kann ich nun weiße Benachrichtigungssymbole korrekt mit cordova-plugin-push erscheinen lassen.
Ich habe zuerst meine .png-Icons (mit Transparenz) in GIMP erstellt. Ich habe sie dann in meinem Projekt bei /www/res/notify_icon/android/
Hier sind die relevanten Auszüge aus meiner Datei config.xml:
%Vor%Hier ist der Ort, an dem ich initialisiere:
%Vor% Wenn Sie Builds verwenden PushPlugin ; lokale Änderungen an .setSmallIcon()
# 100 wird verloren gehen.
Wenn Sie nicht lokal oder mit einem alternativen GCM-Plugin arbeiten, können Sie nur Folgendes ändern:
%Vor%Tags und Links android cordova build notifications icons