GcmListenerService client-Seite Benachrichtigung
Ich bin versucht, gcm für push-Benachrichtigungen auf android-Geräten. So weit ich mich registriert habe mit gcm und schickte meine back-end die notwendigen Informationen, um eine post-Anforderung an den gcm-Server, baut eine 200 Antwort. Alle Schritte zusammen gekommen sind, mit Ausnahme der client-Seite den Empfang der Nachricht. Ich bekomme nicht die Meldung. Angezeigt hier ist mein gcm-listener-Klasse:
import com.google.android.gms.gcm.GcmListenerService;
public class MyGcmListenerService extends GcmListenerService {
public static final int MESSAGE_NOTIFICATION_ID = 435345;
private static final String TAG = "MyGcmListenerService";
@Override
public void onMessageReceived(String from, Bundle data) {
String message = data.getString("message");
Log.d(TAG, "From: " + from);
Log.d(TAG, "Message: " + message);
sendNotification(from,message);
}
private void sendNotification(String title, String body) {
Context context = getBaseContext();
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.mipmap.ic_launcher).setContentTitle(title)
.setContentText(body);
NotificationManager mNotificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(MESSAGE_NOTIFICATION_ID, mBuilder.build());
}
}
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.google.android.c2dm.permission.RECEIVE"/>
<permission android:name="com.example.caesar.gcm.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.example.caesar.gcm.permission.C2D_MESSAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<recieve android:name = ".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.example.caesar.gcm" />
</intent-filter>
</recieve>
</application>
//neue manifest-Datei
<?xml version="1.0" encoding="utf-8"?>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.google.android.c2dm.permission.RECEIVE"/>
<permission android:name="com.example.caesar.gcm.permission.C2D_MESSAGE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.example.caesar.gcm.permission.C2D_MESSAGE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<reciever
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.example.caesar.gcm" />
</intent-filter>
</reciever>
<service
android:name="com.example.MyGcmListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
<service
android:name="com.example.MyInstanceIDListenerService"
android:exported="false">
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID"/>
</intent-filter>
</service>
</application>
Hinzufügen Sie können Ihrem manifest.
ya sicher konnte Sie sich auch erklären, warum das problem in der manifest
Naja, nicht vertraut mit GCMListenerService, haben bisher und derzeit verwenden eine Kombination von classses zu tun, was diese zu tun scheint. Aber ein Blick auf developers.google.com/cloud-messaging/android/client ich dachte, dass vielleicht Sie hatte nicht das setup der Receiver.
ya sicher konnte Sie sich auch erklären, warum das problem in der manifest
Naja, nicht vertraut mit GCMListenerService, haben bisher und derzeit verwenden eine Kombination von classses zu tun, was diese zu tun scheint. Aber ein Blick auf developers.google.com/cloud-messaging/android/client ich dachte, dass vielleicht Sie hatte nicht das setup der Receiver.
InformationsquelleAutor Caesar Krit | 2015-08-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigentlich bei dieser Suche weiter es sieht aus wie Sie nicht das setup der receiver einwandfrei. Scheint Sie zumindest.
Und für den rest Folgen Sie einfach diesem link.
InformationsquelleAutor Ashley Alvarado
Müssen Sie dann Ihre Registrierung Vorsatz service am Ende yout Manifest-Datei. Wie in diesem Beispiel:
Hoffe, dass Ihnen helfen, mehr Informationen, können Sie besuchen diese link und Sie können ein Beispiel von RegistrationIntentService hier.
InformationsquelleAutor Jota Freitas Jr