Google рдХреНрд▓рд╛рдЙрдб рдореИрд╕реЗрдЬрд┐рдВрдЧ: рдХреЛрдбрд╛рдЗрдирд╛рдЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ Google рдХреНрд▓рд╛рдЙрдб рдореИрд╕реЗрдЬрд┐рдВрдЧ рдФрд░ рдРрдкреНрдкрд▓ рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рдмреАрдЪ рдХреБрдЫ рдЕрдВрддрд░

рд╢реБрдн рджреЛрдкрд╣рд░ рджреЛрд╕реНрддреЛрдВ

рдЕрднреА рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдЦреЛрдЬрдХрд░реНрддрд╛ рдиреЗ Google рд╕реЗ Google рдХреНрд▓рд╛рдЙрдб рдореИрд╕реЗрдЬрд┐рдВрдЧ рдирд╛рдордХ рдПрдХ рдирдИ-рдкреБрд░рд╛рдиреА рд╕реЗрд╡рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ред
рдЕрдкрдиреЗ рдШрдВрдЯреА рдЯреЙрд╡рд░ рд╕реЗ, рдореИрдВ рдРрдкреНрдкрд▓ рдкреБрд╢ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рдЖрдВрдЦ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд┐рд╖рдп рдХреЛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред



рдирдИ рд╕реЗрд╡рд╛ рдХреЛ Google рдХреНрд▓рд╛рдЙрдб рдореИрд╕реЗрдЬрд┐рдВрдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ (рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдиреЗ 06/27/12 рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдХреНрд▓рд╛рдЙрдб рдЯреВ рдбрд┐рд╡рд╛рдЗрд╕ рдореИрд╕реЗрдЬрд┐рдВрдЧ (c2dm) рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рдкрд╣рд▓реЗ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдЕрдВрддрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкреНрд░реЗрд╖рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╡рд┐рдзрд┐ рд╣реИред GCM API рдХреБрдВрдЬреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ C2DM рдХреЛ ClientLogin рдпрд╛ OAuth рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЖрдк рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╣реА API рдХреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - code.google.com/apis/console :
  1. рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ
  2. рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ "Android рдХреЗ рд▓рд┐рдП Google рдХреНрд▓рд╛рдЙрдб рдореИрд╕реЗрдЬрд┐рдВрдЧ" рдЪреБрдиреЗрдВ
  3. рдПрдкреАрдЖрдИ рдПрдХреНрд╕реЗрд╕ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдПрдХ рдирдИ рд╕рд░реНрд╡рд░ рдХреБрдВрдЬреА рдмрдирд╛рдПрдВ


рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдЦреЛрдЬрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреИрд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЖрдк рдбреЙрдХ рдореЗрдВ рднреА рдЬрд╛рдирдХрд╛рд░реА рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ - developer.android.com/guide/google/gcm/gs.html

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдкреАрдПрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕рдХреА рдкрдВрдЬреАрдХрд░рдг рдЖрдИрдбреА (рдЬреЛ рдХрд┐ рдПрдХ iOS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдЯреЛрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рднреВрдорд┐рдХрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИ) рдХреЛ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрд╡реЗрджрди рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

APN рдХреЗ рд╡рд┐рдкрд░реАрдд, Google рдХреНрд▓рд╛рдЙрдб рдореИрд╕реЗрдЬрд┐рдВрдЧ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдкрддрд╛ рд╣реИ: android.googleapis.com/gcm/send
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдВрдЬреА API рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЙрддреНрдкрд╛рджрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдИ рдЕрд▓рдЧрд╛рд╡ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЦреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдордд рдЖрдИрдкреА рдкрддреЗ рдХрдареЛрд░рддрд╛ рд╕реЗ рдкрдВрдЬреАрдХреГрдд рд╣реИрдВред

рд╕рд░реНрд╡рд░ рдкрд░ рдкрдВрдЬреАрдХрд░рдг рдЖрдИрдбреА рдФрд░ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

APN рдХреЛ рдлрд┐рд░ рд╕реЗ рдпрд╛рдж рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП Google рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдХрд╣рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред JSON рдпрд╛ рд╕рд╛рджреЗ рдкрд╛рда рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╛рджреЗ рдкрд╛рда рдореЗрдВ POST рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ APN рдореЗрдВ рд╕рд░рд▓ рдФрд░ рд╕рдВрд╡рд░реНрдзрд┐рдд рд╕реНрд╡рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рдирд╣реАрдВ рд╣реИ, GCM рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реЗрд╡рд╛ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рдЙрддреНрддрд░ рджреЗрдЧреА)ред рдмреЗрд╢рдХ, рдореИрдВ JSON рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдирд╛ рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдорджрдж рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЙрдирдХреЗ рдкрдВрдЬреАрдХрд░рдг рдЖрдИрдбреА рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВред рд╕рдВрджреЗрд╢ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

рдПрдкреАрдПрди рдХреЗ рд╕рд╛рде, рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛ рдХреЛ рдЬреАрд╕реАрдПрдо рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░ рдХреЗрд╡рд▓ рд╕рдВрдкреВрд░реНрдг рд╕реВрдЪрдирд╛ рдХреЗ рдЖрдХрд╛рд░ рддрдХ рд╕реАрдорд┐рдд рд╣реИ, рдЬреЛ 4096 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдЦреИрд░, рдЖрдЦрд┐рд░реА рдФрд░ рд╕рдмрд╕реЗ рд╕реБрдЦрдж рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдФрд░ рдкреВрд░реНрдг рдЙрддреНрддрд░ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬреАрд╕реАрдПрдо рдПрдкреНрдкрд▓ рдХреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрд╛рддреВрдиреА рд╣реИред рднреЗрдЬрдирд╛ рддреНрд░реБрдЯрд┐рдпрд╛рдВ http-headers рдореЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ / рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред

рдпреЗ рд╕рднреА рдбреЗрд╡рд▓рдкрд░ .android.com/guide/google/gcm/gcm.html рдЧреЛрджреА рдореЗрдВ рдХрд╛рдлреА рд╡рд┐рд╕реНрддреГрдд рд╣реИрдВред

рдФрд░ рдЕрдВрдд рдореЗрдВ рдореИрдВ рдХреЛрдбрд╛рдЗрдирд╛рдЗрдЯрд░ рдХреЗ рддрд╣рдд рдПрдХ рдЫреЛрдЯреА рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдХрд╛рдо рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ (рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ CI рдХреЗ рд╕рд╛рде рд╣реА рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП c2dm рдкреИрдХреЗрдЬ рдХреЛрдб, ┬й 2011 lytsing.org & 2012 thebub рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЗрд╕реЗ рдЕрд▓рдЧ php рд╡рд░реНрдЧ рдореЗрдВ рд▓реЗ рдЬрд╛рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛)ред GCM рдХреЗ рддрд╣рдд рд╢реБрджреНрдз рд╕рдВрд╢реЛрдзрд┐рдд:

//  public function send_gcm() { //  // API key    $this->load->library('gcm'); // .        setData(), //        setMessage,   setData(), //    setMessage()     $this->gcm->setMessage('Test message '.date('dmY H:s:i')); //     //           4 $this->gcm->addRecepient('RegistrationId'); $this->gcm->addRecepient('New reg id'); //      $this->gcm->setData(array( 'some_key' => 'some_val' )); //  TTL   : http://developer.android.com/guide/google/gcm/adv.html#lifetime //  TTL $this->gcm->setTtl(500); //  TTL     $this->gcm->setTtl(false); //    $this->gcm->setGroup('Test'); //      $this->gcm->setGroup(false); //  if ($this->gcm->send()) echo '   '; else echo '      '; //       print_r($this->gcm->status); //     print_r($this->gcm->messagesStatuses); die(' .'); } 


рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрд╡рдпрдВ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЬреАрдердм - рдХреЛрдбрд┐рдЧреНрдирд┐рдЯрд░-рдЬреАрд╕реАрдПрдо рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╕рднреА рдХрд╛ рдзрдиреНрдпрд╡рд╛рджред рд╕рдбрд╝реЗ рд╣реБрдП рдЯрдорд╛рдЯрд░ рдХрд╛ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕реНрд╡рд╛рдЧрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)

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


All Articles