title: FCM "data" payload not received in one app but is in the other
body: <p><strong>tl;dr</strong> - onMessageReceived not called in one app, but is called in another within the same Firebase project. Message is sent successfully but ("data" object) never received by device. Both apps extend same base services.</p>
  
  <p>Hey guys,</p>
  
  <p>I can't get my SDK Sample app to work with FCM the way my Main app does.</p>
  
  <p>i.e., I get a successful post response, but <strong>nothing at all</strong> occurs on the device if it's a data notification, but notification notifications appear to get through - which implies it's not something big</p>
  
  <pre><code>{
  "multicast_id": 5418976075057112952,
  "success": 1,
  "failure": 0,
  "canonical_ids": 0,
  "results": [
      {
          "message_id": "0:1526059128643443%14258072f9fd7ecd"
      }
  ]}
  </code></pre>
  
  <p>To integrate, I basically just added my sample app to the Firebase App we use for my iOS/Android Main apps on the console, and when I tested it with the console, everything was "fine", i.e., 'notification' notifications worked. All the values look correct in <code>google-services.json</code> too.</p>
  
  <p>Both my Main and Sample apps extend firebase InstanceID/Messagaging objects from my library (is that possibly problematic? I suspect not).</p>
  
  <p>Am I missing something specific to my scenario here? It's almost identical to the tutorials as far as configuration goes. Is anyone aware of problems when you try to add two android apps to the same firebase project? </p>
  
  <p>There's also the chance I have to wait for a while to let google refresh, but I was at this most of today, and like I say, the FCM Console/'Notification' Notifications work </p>
  
  <p>I'm concerned that there could be something lower level that I am missing. Please give me some help! </p>
  
  <p>Thanks guys!</p>
  
  <hr>
  
  <p>Roughly what I'm sending (this works on the Main app as expected):</p>
  
  <pre><code>{
  "registration_ids": [&lt;DEVICE&gt;],
  "data": 
      {"field1": "data1", ... },
   "content_available": true,
   "priority": "high"
  }
  </code></pre>
  
  <hr>
  
  <p>The (boilerplate) Messaging Service code </p>
  
  <pre><code>public class AppFirebaseMessagingService extends BaseFirebaseMessagingService {
     private static final String TAG = "AppFirebaseMessaging";
     public AppFirebaseMessagingService() {
         super();
     }
  
     @Override
     public void onMessageReceived(RemoteMessage remoteMessage) {
         //this isn't called in SAMPLE
     }
  }
  </code></pre>
  
  <hr>
  
  <p>The manifest declarations:</p>
  
  <pre><code>&lt;service android:name=".firebase.AppFirebaseMessagingService"
     android:enabled="true"
     android: permission = "android.permission.INTERNET" &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=".firebase.AppFirebaseInstanceIDService"
     android:enabled="true"
     android:permission="android.permission.INTERNET" &gt;
     &lt;intent-filter&gt;
         &lt;action android:name="com.google.firebase.INSTANCE_ID_EVENT"/&gt;
     &lt;/intent-filter&gt;
  &lt;/service&gt;
  </code></pre>