Notification mit Firebase Notification anpassen

Sync

Mitglied
Hallo und frohe Ostern,
ich habe für meine App Notification eingerichtet über Firebase. Das läuft auch soweit.
Ich habe eine Klasse Service sowie eine für Instance ID angelegt.
Im Service ruft diese die onMessageReceived(..) auf, welche dann die Notification pusht.
Java:
public class FCM_Messaging_Service extends FirebaseMessagingService {

    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
       // super.onMessageReceived(remoteMessage);

        if (remoteMessage.getFrom().equals("/topics/" + FCM_Instance_ID_Service.infoTopicName)) {
            displayNoti(remoteMessage.getData().get("title"), remoteMessage.getData().get("content-text"));

die displayNoti sieht so aus:
Java:
private  void displayNoti(String title, String body){
        Uri uriUrl = Uri.parse(body);
        Intent intent = new Intent(Intent.ACTION_VIEW,uriUrl);
        PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,0);


        NotificationCompat.Builder notifi = (NotificationCompat.Builder) new NotificationCompat.Builder(this)
                .setContentTitle(title)
                .setContentText(body)
                .setVibrate(new long[]{0,300,300,300})
                .setLights(Color.WHITE,1000,5000)
                .setContentIntent(pendingIntent)
                .setAutoCancel(true)
                .setPriority(NotificationCompat.PRIORITY_HIGH)
                .setStyle(new NotificationCompat.BigTextStyle().bigText(body))
                ;

        NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        notificationManager.notify(14,notifi.build());
    }

Leider ist es irgendwie egal wie ich die Noti umbastel. Ich bekomme IMMER nur eine Notification mit Titel und Body in Standardansicht. Beim Klick öffnet sich standardmäßig die App. Ich wollte nun, dass er den Body (Link) nimmt und auf Klick den Browser mit dem Link öffnet.
Auch Virbationsseinstellungen usw gehen nicht. Lasse ich die Notification z.b. über einen Button in der App aufrufen klappt alles wunderbar..
Hat das was mit Firebase zu tun? Oder habe ich einfach Denkfehler drin..
 

Frithjof

Mitglied
Ja du kannst Deep Links verwenden um eine genaue stelle deiner App anzusprechen.
Ausserdem kannst du ein Key Value Pair mitsenden und auswerten.
Die Noti im Standard öffnet nur die App, oder vom Backstack die letzte Activity.
Der Code muss auch an der Richtigen stelle empfangen werden.
Da würde ich eh auf AppCompat v7 setzen. Denn damit kannst du dich wie in Andr. 7 Verhalten.
Also im Prinzip: Schau mal in den Quickstart unter Deep Links, und damit dann referenzieren.
Oder den Listener der die Notification erhällt laufen lassen.
 

Ähnliche Java Themen

Neue Themen


Oben