4

Ich habe eine App mit Firebase Auth und Messaging erstellt. Ich sende weiterhin Benachrichtigungen über Firebase Console an die App. Das Problem ist, dass ich die Benachrichtigung nicht erweitern kann, wenn sie groß ist. Wie mache ich es? Help MeKann Firebase-Benachrichtigungen nicht erweitern

public class FirebaseNots extends FirebaseMessagingService { 


private static final String TAG = "MyFirebaseMsgService"; 

/** 
* Called when message is received. 
* 
* @param remoteMessage Object representing the message received from Firebase Cloud Messaging. 
*/ 
// [START receive_message] 
@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 
    // [START_EXCLUDE] 
    // There are two types of messages data messages and notification messages. Data messages are handled 
    // here in onMessageReceived whether the app is in the foreground or background. Data messages are the type 
    // traditionally used with GCM. Notification messages are only received here in onMessageReceived when the app 
    // is in the foreground. When the app is in the background an automatically generated notification is displayed. 
    // When the user taps on the notification they are returned to the app. Messages containing both notification 
    // and data payloads are treated as notification messages. The Firebase console always sends notification 
    // messages. For more see: https://firebase.google.com/docs/cloud-messaging/concept-options 
    // [END_EXCLUDE] 

    // TODO(developer): Handle FCM messages here. 
    // Not getting messages here? See why this may be: 
    Log.d(TAG, "From: " + remoteMessage.getFrom()); 

    // Check if message contains a data payload. 
    if (remoteMessage.getData().size() > 0) { 
     Log.d(TAG, "Message data payload: " + remoteMessage.getData()); 
    } 

    // Check if message contains a notification payload. 
    if (remoteMessage.getNotification() != null) { 
     Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody()); 
    } 

    // Also if you intend on generating your own notifications as a result of a received FCM 
    // message, here is where that should be initiated. See sendNotification method below. 
} 
// [END receive_message] 

/** 
* Create and show a simple notification containing the received FCM message. 
* 
* @param messageBody FCM message body received. 
*/ 
private void sendNotification(String messageBody) { 
    Intent intent = new Intent(this, MainActivity.class); 
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent, 
      PendingIntent.FLAG_ONE_SHOT); 

    Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 
      .setSmallIcon(R.drawable.ic) 
      .setContentTitle("FCM Message") 
      .setContentText(messageBody) 
      .setAutoCancel(true) 
      .setSound(defaultSoundUri) 
      .setContentIntent(pendingIntent); 

    NotificationManager notificationManager = 
      (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

    notificationManager.notify(0 /* ID of notification */, notificationBuilder.build()); 
} 
    } 

Image Please Take A Look

Dank

Antwort

6

Sie benötigen einen BigTextStyle zu Ihrer Benachrichtigung hinzufügen, wenn Sie es erweiterbar sein wollen mehrere Zeilen zu zeigen:

notificationBuilder.setStyle(new NotificationCompat.BigTextStyle() 
    .bigText(messageBody)); 
+0

Ich habe dies getan, aber immer noch nicht funktioniert :( –

+0

Ihr Code ruft nicht wirklich Ihre 'sendNotification()' Methode - wo nennst du es eigentlich? – ianhanniballake

+0

Wo muss ich es nennen? –

0

Benachrichtigungen von der Firebase Konsole unterstützt BigStyle-Benachrichtigungen noch nicht. Dies ist ein bekanntes Problem und sie arbeiten an einer Fehlerbehebung. Um Workarounds zu vermeiden, senden Sie Ihre Benachrichtigungen mithilfe der REST-API mithilfe von Datennachrichten. Wenn die Nachricht empfangen wurde, generieren Sie die Benachrichtigung wie @ianhanniballake.

+0

danke Mann! Ich bin neu in diesen Dingen, hast du Tutorial oder irgendetwas, was ich weiter gehen kann? –

+0

Siehe FCM-Dokumente: https://firebase.google.com/docs/cloud-messaging/downstream und Android-Benachrichtigungsdokumente: https://developer.android.com/guide/topics/ui/notifiers/notifications.html. –

1

Dieses Verhalten wird in der nächsten Version von FCM behoben, die in Kürze veröffentlicht wird.

Halten Sie ein Auge auf https://firebase.google.com/support/releases für die nächste Android-Release und aktualisieren Sie die Version der Bibliothek in Sie app :)