Вопрос по android, google-cloud-messaging – Android GCM не работает

8

Я использую пример, предоставленный goole, и я создал клиентское приложение для получения уведомлений, а на стороне сервера оба приложения (код) - это те, которые предоставляются Google.

Я запускаю приложение на стороне клиента и получаю регистрационный идентификатор. какая-то огромная строка в следующем формате:

APA91bEgguwt98xLbivrXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXLxDalNoEktCSVbOkT0-uFH2FaRnfpkRME2tzuvr0BycMNEhX_Ix1PV_XXXXXXXXXXXXXXXXXXXXXN5hcseY_wA.

Это доказывает мне, что клиентское приложение работает. Теперь сервер (Java, пример Google):

public static void main(String[] args) {

        Sender sender = new Sender("AIzaSXXXXXXXXXX_XXXXXXXXXXXXXXXrQOnoGZw");      
        Message message = new Message.Builder()
        .collapseKey("1")
        .timeToLive(3)
        .delayWhileIdle(true)
        .addData("message",
          "this text will be seen in notification bar!!")
        .build();

        try {
            Result result = sender.send(message, "APA91bEgguwt98xLbivrXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXLxDalNoEktCSVbOkT0-uFH2FaRnfpkRME2tzuvr0BycMNEhX_Ix1PV_XXXXXXXXXXXXXXXXXXXXXN5hcseY_wA", 3);
            System.out.println(result.toString());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
}

Это сервер. Когда я запускаю сервер, я получаю в результате что-то вроде этого: [ messageId=0:1341907115903155%921c249a00000031 ] но нет сообщений на клиенте, и я не понимаю, почему. В чем смысл ответа, который я получил от сервера? Это ответ успеха?

Мне нужна помощь, чтобы понять, что не так?

Ваш Ответ

6   ответов
4

Документация GCM:

When a 3rd-party server posts a message to GCM and receives a message ID back, it does not mean that the message was already delivered to the device. Rather, it means that it was accepted for delivery. What happens to the message after it is accepted depends on many factors.

In the best-case scenario, if the device is connected to GCM, the screen is on, and there are no throttling restrictions (see Throttling), the message will be delivered right away.

поэтому, когда мы будем получать тезисы сообщений на устройстве
@GauravPandey - Это очень зависит от службы GCM. Если вы пойдете и посмотрите документацию GCM, они скажут, что сообщения будут доставлены сервером как можно быстрее.
6

http://developer.android.com/guide/google/gcm/gcm.html

Примечание. Если в вашей организации есть брандмауэр, который ограничивает трафик в Интернет или из Интернета, вам необходимо настроить его для обеспечения возможности подключения к GCM. Порты, которые нужно открыть: 5228, 5229 и 5230. Обычно GCM использует только 5228, но иногда использует 5229 и 5230. GCM не предоставляет конкретные IP-адреса. Это часто меняет IP-адреса.

3

чтобы понять GCM. Следующая ссылка работала для меня: http://android.amolgupta.in/2012/07/google-cloud-messaging-gcm-tutorial.html

2
0

в GCM, попробуйте это решение.

Я знаю, что это не правильное решение, но этоWORKS Установите это приложение, оно действительно работает для меняВОТ

Похожие вопросы