title: Firebase push notification not working
body: <p>I developed an android applicaiton. I used firebase for notification. I read firebase documentation then I made them respectively. I could send a push notification to one device by using InstanceID token. But I could not send push notification to all devices. Please help me.</p>
  
  <p>MyFirebaseMessagingService.java</p>
  
  <pre><code>public class MyFirebaseMessagingService 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) {
          // TODO(developer): Handle FCM messages here.
          // If the application is in the foreground handle both data and notification messages here.
          // 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.
          Log.d(TAG, "From: " + remoteMessage.getFrom());
          Log.d(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody());
      }
      // [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_stat_ic_notification)
                  .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());
      }
  }
  </code></pre>
  
  <p>MyFirebaseInstanceIDService.java</p>
  
  <pre><code>public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
  
      private static final String TAG = "MyFirebaseIIDService";
  
      /**
       * Called if InstanceID token is updated. This may occur if the security of
       * the previous token had been compromised. Note that this is called when the InstanceID token
       * is initially generated so this is where you would retrieve the token.
       */
      // [START refresh_token]
      @Override
      public void onTokenRefresh() {
          // Get updated InstanceID token.
          String refreshedToken = FirebaseInstanceId.getInstance().getToken();
          Log.d(TAG, "Refreshed token: " + refreshedToken);
  
          // TODO: Implement this method to send any registration to your app's servers.
          sendRegistrationToServer(refreshedToken);
      }
      // [END refresh_token]
  
      /**
       * Persist token to third-party servers.
       *
       * Modify this method to associate the user's FCM InstanceID token with any server-side account
       * maintained by your application.
       *
       * @param token The new token.
       */
      private void sendRegistrationToServer(String token) {
          // Add custom implementation, as needed.
      }
  }
  </code></pre>
  
  <p>MainActivity.java</p>
  
  <pre><code>public class MainActivity extends AppCompatActivity {
  
      private static final String TAG = "MainActivity";
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_main);
  
          if (getIntent().getExtras() != null) {
              for (String key : getIntent().getExtras().keySet()) {
                  String value = getIntent().getExtras().getString(key);
                  Log.d(TAG, "Key: " + key + " Value: " + value);
              }
          }
  
          Button subscribeButton = (Button) findViewById(R.id.subscribeButton);
          subscribeButton.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  // [START subscribe_topics]
                  FirebaseMessaging.getInstance().subscribeToTopic("news");
                  Log.d(TAG, "Subscribed to news topic");
                  // [END subscribe_topics]
              }
          });
  
          Button logTokenButton = (Button) findViewById(R.id.logTokenButton);
          logTokenButton.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View v) {
                  Log.d(TAG, "InstanceID token: " + FirebaseInstanceId.getInstance().getToken());
              }
          });
      }
  
  }
  </code></pre>
  
  <p>Manifest.xml</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.muhammed.firebasepush"&gt;
  
      &lt;application
          android:allowBackup="true"
          android:icon="@mipmap/ic_launcher"
          android:label="@string/app_name"
          android:supportsRtl="true"
          android:theme="@style/AppTheme"&gt;
          &lt;activity android:name=".MainActivity"&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
  
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt;
          &lt;/activity&gt;
  
          &lt;service
              android:name=".MyFirebaseMessagingService"&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="com.google.firebase.MESSAGING_EVENT"/&gt;
              &lt;/intent-filter&gt;
          &lt;/service&gt;
  
          &lt;service
              android:name=".MyFirebaseInstanceIDService"&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="com.google.firebase.INSTANCE_ID_EVENT"/&gt;
              &lt;/intent-filter&gt;
          &lt;/service&gt;
  
      &lt;/application&gt;
  
  &lt;/manifest&gt;
  </code></pre>