2013-08-02 2 views
0

Я пытаюсь сделать GCM работу с моим Android-приложением. У меня есть несколько вопросов.GoogleCloudMessaging (GCM) Клиент Android

  1. В this article в разделе Шаг 3: Создать приложение Я не вижу никакой службы. Как я могу запустить свой BroadcastReceiver без обслуживания? Должен ли я начать? В этом разделе нет Сервиса.
  2. В разделе Написание кода сервера, в коде, есть две строки:

    USERNAME = ''

    PASSWORD = ''

    Какие значения следует использовать для них?

+0

создать пакет таким же именем, как ваш пакет приложений затем создать службу там, и дон Не забыл регистрировать свою трансляцию в манифесте, вы можете увидеть это http://stackoverflow.com/questions/14017176/i-cant-open-a-dialog-from-gcm-onmessage-in-android/14017645#14017645 –

+0

GCMBaseIntentService теперь устарела. – Tooto

ответ

0
  1. Там нет необходимости для обслуживания. Приемник радиовещания запускается Android, когда приходит сообщение GCM. В старой реализации была услуга намерения, которая была вызвана приемником широковещания, но это больше не требуется.

  2. Пользователь <your Google API project Id>@gcm.googleapis.com. Пароль - это ключ API. Однако приведенный вами пример кода предназначен для нового API на основе XMPP. Проще использовать API на основе HTTP, которому требуется только ключ API в заголовках запроса. Код в указанном разделе имеет ссылку на образец HTTP.

В HTTP API вы POST-запрос HTTP выглядит, как это https://android.googleapis.com:

Content-Type:application/json 
Authorization:key=AIzaSyB-1uEai2WiUapxCs2Q0GZYzPu7Udno5aA 

{ 
    "registration_ids" : ["APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx..."], 
    "data" : { 
    ... 
    }, 
} 
+0

Как насчет некоторых окончаний по умолчанию? Когда я могу найти его? – Tooto

+0

@Tooto Извините, я ответил на вопрос с мобильного устройства, поэтому было сложнее найти точный идентификатор пользователя. Я отредактировал ответ. Тем не менее, не рекомендуется использовать этот образец кода. Этот образец нужен только для Cloud Connection Server, который позволяет вашему приложению отправлять сообщения на ваш сервер (и требует заполнения специальной формы регистрации, которая должна быть одобрена Google). Если вам нужно только послать сообщения с вашего сервера на ваше приложение, решение HTTP намного проще. – Eran

0

@Tooto: Если вы смотрите в статье внимательно, то вы найдете в Manifest.xml запись класса обслуживания.

<service android:name=".MyIntentService" /> 

Для получения более подробной информации о том, как настроить GCM в андроид приложении вы можете сослаться на эту ссылку: http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

Смежные вопросы