Android应用程序没有从AWS SNS获得任何推送通知

Android应用程序没有从AWS SNS获得任何推送通知,android,amazon-web-services,push-notification,amazon-sns,Android,Amazon Web Services,Push Notification,Amazon Sns,我有两个应用程序。一个是来自AWS Mobile Hub的示例应用程序,另一个是用于测试AWS SNS推送通知的测试项目。我将示例应用程序中的推送服务集成到我的测试应用程序中,但由于某些原因,它无法工作,无法从AWS SNS获得任何推送通知 我复制的东西是: 包com.amazonaws.mobile及其所有文件。 来自模块的build.gradle文件的库。 清单文件中的权限、接收者和服务属性。 PushListenerService类 由于某些原因,我仍然没有收到任何推送通知。您知道怎么做吗

我有两个应用程序。一个是来自AWS Mobile Hub的示例应用程序,另一个是用于测试AWS SNS推送通知的测试项目。我将示例应用程序中的推送服务集成到我的测试应用程序中,但由于某些原因,它无法工作,无法从AWS SNS获得任何推送通知

我复制的东西是: 包com.amazonaws.mobile及其所有文件。 来自模块的build.gradle文件的库。 清单文件中的权限、接收者和服务属性。 PushListenerService类


由于某些原因,我仍然没有收到任何推送通知。您知道怎么做吗?

您是否尝试过遵循AWS Mobile Hub的新集成说明?imgur.com/a/s9BaW

仅列出您的列表中似乎缺少的一些内容:

您需要在build中添加渐变依赖项。渐变版本可能会有所不同

compile 'com.google.android.gms:play-services-plus:7.8.0'
compile 'com.amazonaws:aws-android-sdk-sns:2.2.18'
将Google服务版本指定为AndroidManifest.xml

<meta-data android:value="@integer/google_play_services_version" />
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
注册主题


您是否尝试过遵循AWS Mobile Hub的新集成说明?我做了以上所有的,但我仍然没有收到任何推送通知的应用程序。。。顺便说一句,当我添加了play services plus库而不是我应用程序中已有的play services库时,它说找不到com.google.android.gms.gcm.GcmReceiver。你知道为什么会这样吗?试着添加:compile'com.google.android.gms:play services gcm:10.0.1'compile'com.google.android.gms:play services:10.0.1'这些libs对我来说没有问题@伊多纳韦
<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.yourapp.package}" />
    </intent-filter>
</receiver>

<service
    android:name=".PushListenerService"
    android:exported="false" >
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    </intent-filter>
</service>
final PushManager pushManager = AWSMobileClient.defaultMobileClient()
    .getPushManager();

pushManager.registerDevice();

// if registration succeeded.
if (pushManager.isRegistered()) {
    pushManager.setPushEnabled(enabled);
} else {
    // ... handle error, likely due to no network available ...
}

final PushManager pushManager = AWSMobileClient.defaultMobileClient()
    .getPushManager();

pushManager.registerDevice();

// if registration succeeded.
if (pushManager.isRegistered()) {
    pushManager.setPushEnabled(enabled);
} else {
    // ... handle error, likely due to no network available ...
}
final PushManager pushManager = AWSMobileClient.defaultMobileClient()
    .getPushManager();

pushManager.subscribeToTopic(pushManager.getDefaultTopic());