GCM - Google рдХреА рдирдИ рдкреБрд╢ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рд╕реЗрд╡рд╛

рдЫрд╡рд┐
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдПрдВрдбреНрд░реЙрдЗрдб рдиреЗ C2DM (рдХреНрд▓рд╛рдЙрдб рдЯреВ рдбрд┐рд╡рд╛рдЗрд╕ рдореИрд╕реЗрдЬрд┐рдВрдЧ) рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди 26 рдЬреВрди рдХреЛ, рдЗрд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ Google рджреНрд╡рд╛рд░рд╛ рд░рджреНрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдирдпрд╛ GCM (Google рдХреНрд▓рд╛рдЙрдб рдореИрд╕реЗрдЬрд┐рдВрдЧ) рдЖрдпрд╛ред

рдЗрд╕реА рддрд░рд╣ рдХреЗ рдирд╛рдоред рд╡рд╣реА рднреВрдорд┐рдХрд╛ред рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИ?



GCM рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рд╢реБрд░реБрдЖрдд рдХрд░рддреЗ рд╣реИрдВ рдПрдВрдбреНрд░реЙрдЗрдб рдореИрдирд┐рдлреЗрд╕реНрдЯ рд╕реЗ


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рджрд░реНрдЬ рдХрд░рдиреА рд╣реЛрдВрдЧреА:
 <uses-permission android:name="android.permission.WAKE_LOCK"/> <permission android:name="{package}.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="{package}.permission.C2D_MESSAGE" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 


рдлрд┐рд░ рд░рд┐рд╕реАрд╡рд░ рдФрд░ рд╕реЗрд╡рд╛:
 <receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" 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="{package}" /> </intent-filter> </receiver> <service android:name=".GCMIntentService" /> 


{{рдкреИрдХреЗрдЬ} рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рд╕реЗ рдмрджрд▓реЗрдВ (рдореЗрд░реЗ рдкрд╛рд╕ com.habrahabr.gcm рд╣реИ)

рдлрд┐рд░, рдкреИрдХреЗрдЬ рдХреА рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ GCMIaseIntentService рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА GCMIntentService рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдБ :

 package {package}; import android.app.Activity; import android.app.IntentService; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.Log; import com.google.android.gcm.GCMBaseIntentService; public class GCMIntentService extends GCMBaseIntentService { private static final String TAG = "GCMIntentService"; public GCMIntentService() { super(GCMConfig.SENDER_ID); } @Override protected void onRegistered(Context context, String registrationId) { Log.i(TAG, "Device registered"); //     registrationId   ,        } @Override protected void onUnregistered(Context context, String registrationId) { Log.i(TAG, "Device unregistered"); } @Override protected void onMessage(Context context, Intent intent) { Log.i(TAG, "Received new message"); } @Override protected void onDeletedMessages(Context context, int total) { Log.i(TAG, "Received deleted messages notification"); } @Override public void onError(Context context, String errorId) { Log.i(TAG, "Received error: " + errorId); } @Override protected boolean onRecoverableError(Context context, String errorId) { Log.i(TAG, "Received recoverable error: " + errorId); return super.onRecoverableError(context, errorId); } } 


рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣рдо рдореБрдЦреНрдп рдЧрддрд┐рд╡рд┐рдзрд┐ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

  //   GCMRegistrar.checkDevice(this); GCMRegistrar.checkManifest(this); //    final String regId = GCMRegistrar.getRegistrationId(this); if (regId.equals("")) { //  ,   GCMRegistrar.register(this, GCMConfig.SENDER_ID); } else { Log.v("GCM", "Already registered: " + regId); } 


рдЕрдм рд╕рд░реНрд╡рд░ рд╕реЗ рд╕реНрд╡рдпрдВ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрднреА рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдкрд░рд┐рдгрд╛рдореА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб
GCM рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдЕрд╡рд▓реЛрдХрди
Gcm рдЙрдиреНрдирдд рд╡рд┐рд╖рдп

Source: https://habr.com/ru/post/In147585/


All Articles