0

我有2個應用程序。一個是來自AWS Mobile Hub的示例應用程序,另一個是用於測試AWS SNS推送通知的測試項目。我將來自示例應用程序的推送服務集成到了我的測試應用程序中,但出於某種原因,它無法正常工作,它不會從AWS SNS獲取任何推送通知。Android應用程序無法從AWS SNS獲取任何推送通知

我複製的東西是:
com.amazonaws.mobile及其所有文件。
來自模塊的build.gradle文件的庫。
清單文件中的權限,接收者和服務屬性。
PushListenerService class。

由於某種原因,我仍然沒有得到任何推送通知。你有什麼想法做什麼?

+0

有你遵循AWS Mobile Hub進行嘗試新的集成指令? http://imgur.com/a/s9BaW – donkon

回答

-1

您是否試過遵循AWS Mobile Hub的新集成指令? imgur.com/a/s9BaW

剛上市,似乎是從你的列表中丟失了一些東西:

您需要添加搖籃依賴性build.gradle(版本可能會有所不同)

compile 'com.google.android.gms:play-services-plus:7.8.0' 
compile 'com.amazonaws:aws-android-sdk-sns:2.2.18' 

指定谷歌服務版本到AndroidManifest.xml中

<meta-data android:value="@integer/google_play_services_version" /> 
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

註冊一個意向接收器GCM聽GCM notfications

<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()); 
+0

我做了以上所有的工作,但我仍然沒有收到任何來自應用程序的推送通知......順便說一句,當我添加庫「play-services-加'而不是我已經在我的應用中使用的'play-services'庫,它說它找不到'com.google.android.gms.gcm.GcmReceiver'。你知不知道爲什麼是這樣? –

+0

嘗試添加: compile'c​​om.google.android.gms:play-services-gcm:10.0.1' compile'c​​om.google.android.gms:play-services:10.0.1' 這些庫適用於我沒有問題! @IdoNaveh – Fer

相關問題