2

これは完全に可能かどうかはわかりませんが、私は自分の要求を述べます。可能であれば、それをどうやって行うのかを親切に助けてください。グループfcm通知はwhatsappと似ていますが、複数のグループ通知を許可します

私はギャラリーの種類のアンドロイドアプリを持っているとしましょう。ユーザーは好きやギャラリーの写真にコメントをするとき、我々は、単一の一つに、我々はグループnotifcationsをすることができますInboxStyleを追加することにより

value++; 
    NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this) 
      .setSmallIcon(R.drawable.notification) 
      .setLargeIcon(rawBitmap) 
      .setContentTitle("MyApp") 
      .setContentText(ContentText) 
      .setAutoCancel(true) 
      .setSound(defaultSoundUri) 
      .setDefaults(Notification.DEFAULT_SOUND) 
      .setStyle(new NotificationCompat.BigTextStyle().bigText(ContentText)) 
      .setContentIntent(pendingIntent); 

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

    notificationManager.notify(value, notificationBuilder.build()); 

以下に示すコードを使用して、FCM通知をトリガし、ちょうど数を増やすと思います。(たとえば、あなたは5つの通知を持っています)

 NotificationCompat.InboxStyle inboxStyle = 
       new NotificationCompat.InboxStyle(); 
      // Sets a title for the Inbox in expanded layout 
      inboxStyle.setBigContentTitle("Title - Notification"); 
      inboxStyle.setSummaryText("You have "+value+" Notifications."); 
      notificationBuilder.setStyle(inboxStyle); 

しかし、私の要件は、別々の写真の別々のグループ分けのようなものです。ユーザーが3枚の写真についてそれぞれ2つのコメントを残している場合。私は3つのグループの通知が必要です。この写真に2件のコメントがあります。

写真のユニークなIDが表示されます。

How long will the id be retained? 

のは、ユーザーがIDを001と一緒に写真に2件のコメントを削除し、パートナーがグループとして通知を受けたと仮定しましょう。

What happens when the user drops another 2 comments on photo with id 002? 
Will there be 2 groups? 

ID 001と、通知のグループはそのまま残っているので。

+0

-ref#notification-payload-support)パラメータを指定し、写真の一意のIDを渡します。 –

+0

は '写真一意のID'を通知IDとして使用します。これは問題ありません。通知IDによってグループ化されます。 – Shark

+0

IDはどのくらい保持されますか? ユーザーがID 001の写真に2つのコメントを追加し、パートナーがグループとして通知を受け取ったとします。 ユーザーがid 002の写真にコメントを2つ追加した場合はどうなりますか? 2人のグループがありますか? id 001の通知グループは変更されていないためです。 –

答えて

0

私はTAGパラメータを使用します。メッセージのグループごとに異なるTAGを使用する必要があります。

例えば:

メッセージ1)

{ 
    "notification": { 
     "title": "PhotoApp: photo 123", 
     "body": "You have 1 notification", 
     "click_action" : "OPEN_MAINACTIVITY", 
     "icon": "ic_launcher", 
     "color": "#ffffff" 
     "tag": "photo123" 
    }, 
    "registration_ids":[ 
     "--your_id--" 
    ] 
} 

メッセージ2)

{ 
    "notification": { 
     "title": "PhotoApp: photo ABC", 
     "body": "You have 1 notification", 
     "click_action" : "OPEN_MAINACTIVITY", 
     "icon": "ic_launcher", 
     "color": "#ffffff" 
     "tag": "photoABC" 
    }, 
    "registration_ids":[ 
     "--your_id--" 
    ] 
} 

メッセージ3)

{ 
    "notification": { 
     "title": "PhotoApp: photo 123", 
     "body": "You have 2 notifications", 
     "click_action" : "OPEN_MAINACTIVITY", 
     "icon": "ic_launcher", 
     "color": "#ffffff" 
     "tag": "photo123" 
    }, 
    "registration_ids":[ 
     "--your_id--" 
    ] 
} 

これは2通知警告が表示されます。 1つはPhoto123用で、2つの通知(最後のメッセージ)があることを示し、もう1つはPhotoABC用で、通知が1つしかないことを示しています。

ここで最も重要なことは、TAGパラメータです。必要に応じて通知をグループ化します。

私は自分を助けてくれます。

いくつかの有用なリンク:あなたは[ `tag`](https://firebase.google.com/docs/cloud-messaging/http-serverを使用することができます

FCM Documentation

Similar SO question

+1

はい、私たちはタグを使用するか、ユニークなIDをパラメータとして使用することができます。 'notificationManager.notify(notifyid、notificationBuilder.build()); ' –

+1

問題は** Message1 - ** _ photo123._ **メッセージ3 ** - あなたの体を持っています - この写真にコメントされているユーザー123_ **結果のグループにはphoto123 **に "2"の通知がありますが、** Message2 - ** _は残っていますボディでの通知 - ユーザーは写真が好きです.ABC_ –

+0

私は参照してください。そのロジックはアプリケーションに属します。あなたの好きな数が1より大きい場合、あなたは「好き」を数えることができなければなりません。そして、「写真123に#件の通知があります」というメッセージを送信します。好きな数が1の場合は、「Photo123にコメントしたユーザー」を送信してください。正しいメッセージを送信するだけです。 –

関連する問題