0

Я пытаюсь интегрировать службы AWS SNS push с FCM в приложение для Android.
Когда я пытаюсь отправить сообщение через нажимной SNS онлайн консоли, я получаю этот журнал ошибок:Ошибка при доставке сообщения: ServiceIntent не найден

E/FirebaseInstanceId: Failed to resolve target intent service, skipping classname enforcement 
E/PushListenerService: From: ************ /* My Sender ID*/ 
E/PushListenerService: Message: hola 
E/FirebaseInstanceId: Error while delivering the message: ServiceIntent not found. 

Я искал немного в Интернете, и я нашел, казалось, очень популярный ответ , с 3 услугами с классами GcmIntentService, GcmIDListenerService, RegistrationIntentService. Я добавил эти классы и службы в свое приложение, но я до сих пор не получаю никаких push-уведомлений от SNS.
Я также не был уверен, что это подходящее решение для меня, поскольку я не только использую службы FCM, но и SNS Services.

Это мои существующие приемники и услуги в моем манифесте:

<receiver android:name="com.google.android.gms.gcm.GcmReceiver" 
     android:exported="true" 
     android:permission="com.google.android.c2dm.permission.SEND" > 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE"/> 
      <category android:name="com.intap.appme" /> 
     </intent-filter> 
    </receiver> 

    <service android:name=".PushListenerService" 
     android:exported="false" > 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE"/> 
     </intent-filter> 
    </service> 

О уведомления толчка. Когда я отправляю его через онлайн-консоль SNS, я получаю ошибку журнала выше, но когда я отправляю ее через онлайн-консоль Firebase, устройство получает push-уведомление, но я все еще получаю этот журнал, который является первым и последние строки выше журнала: зависимостей

E/FirebaseInstanceId: Failed to resolve target intent service, skipping classname enforcement 
E/FirebaseInstanceId: Error while delivering the message: ServiceIntent not found. 

build.gradle:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    wearApp project(':wear') 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:24.1.1' 
    compile 'com.android.support:design:24.1.1' 
    compile fileTree(dir: 'libs', include: ['activation.jar']) 
    compile fileTree(dir: 'libs', include: ['additionnal.jar']) 
    compile fileTree(dir: 'libs', include: ['mail.jar']) 
    compile 'com.amazonaws:aws-android-sdk-core:2.2.18' 
    compile 'com.amazonaws:aws-android-sdk-s3:2.2.18' 
    compile 'com.amazonaws:aws-android-sdk-ddb:2.2.18' 
    compile 'com.amazonaws:aws-android-sdk-ddb-mapper:2.2.18' 
    compile 'com.amazonaws:aws-android-sdk-ec2:2.2.18' 
    compile 'com.google.android.gms:play-services-plus:9.0.1' 
    compile 'com.amazonaws:aws-android-sdk-sns:2.2.18' 
    compile 'com.google.android.gms:play-services-gcm:9.0.1' 
    compile 'com.android.support:multidex:1.0.1' 
    apply plugin: 'com.google.gms.google-services' 
} 

Не могли бы вы помочь мне понять это и решить ее?

+0

Не могли бы вы добавить свои зависимости build.gradle к вопросу? –

+0

Я добавил зависимости build.gradle в вопрос –

ответ

1

Сначала вы должны применить плагин google-services после того, как блок зависимостей не находится в нем. Также я не вижу зависимости, которая добавляет FirebaseInstanceID, поэтому я не уверен, почему эта ошибка появляется. Кроме того, использование FCM и GCM не является хорошей идеей, поскольку у вас несколько приемников для одного и того же сообщения. Используйте один или другой. Возможно, поэтому сообщения sns не принимаются.