2016-06-20 19 views

Antwort

1

Es muss überhaupt nicht ausgeführt werden, deshalb fügen Sie einen Broadcast-Empfänger (GCMReceiver, der auch dann ausgeführt wird, wenn Ihre App nicht aktiv ist) zum Manifest hinzu. Wenn das System eine Downstream-Nachricht empfängt, löst dieser Receiver eine Komponente aus (häufig ein Dienst, der den eingehenden Stream verarbeitet).

<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" /> 
     <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 
     <category android:name="YOUR_PACKAGE_NAME" /> 
    </intent-filter> 
</receiver> 
1

Keine

Ihre App muss nur für eine Übertragung registrieren. Dies funktioniert normalerweise folgendermaßen:

Es besteht eine Socket-Verbindung zwischen dem Google-Server und dem in Ihrer App ausgeführten GCM-Dienst. Wenn Sie also eine Push-Benachrichtigung an Ihre App senden möchten, bitten Sie den Google Push-Server, die Nachricht an den Client zu senden. Der Server schreibt die Nachricht in den Socket und der Dienst am Client sendet einfach eine Broadcast-Nachricht. Ihr empfangender Broadcast-Empfänger wird aufgerufen und Ihre App wird gestartet.

Vorteil ist, dass nicht jede App eine konstante Socket-Verbindung mit ihrem Server für Echtzeit-Updates halten muss.

Betrachten Sie das Lesen über Wake Locks, wenn Sie vorhaben, GCM zu verwenden und einige schwere Operationen im Hintergrund auszuführen, nachdem Sie Push erhalten haben.

Verwandte Themen