title: In Firebase Cloud Messaging, what is the Message ID and where do we use addData()
body: <p>The example provided by Firebase is:</p>
  <blockquote>
  <p>Your Android app can send an upstream message using <code>FirebaseMessaging.send</code>:</p>
  <pre><code>FirebaseMessaging fm = FirebaseMessaging.getInstance();
  fm.send(new RemoteMessage.Builder(SENDER_ID + &quot;@gcm.googleapis.com&quot;)
    .setMessageId(Integer.toString(msgId.incrementAndGet()))
    .addData(&quot;my_message&quot;, &quot;Hello World&quot;)
    .addData(&quot;my_action&quot;,&quot;SAY_HELLO&quot;)
    .build());
  </code></pre>
  </blockquote>
  <h3>1:</h3>
  <p>They've explained what the Message ID is:</p>
  <blockquote>
  <p>A message ID that should be unique for each sender ID.</p>
  </blockquote>
  <p>However, I didn't get what they mean <strong>in precise</strong>. So, every time I send a message, this number gets incremented? For what reason? And where do I store this value?</p>
  <hr />
  <h3>2:</h3>
  <p>They also have the method <code>addData()</code>, and I don't fully understand this what this does. A full, detailed explanation on this method will be accepted.</p>