【问题标题】:GCM Demo on Android DeviceAndroid 设备上的 GCM 演示
【发布时间】:2013-03-06 13:23:35
【问题描述】:

我正在关注 Android GCM 演示教程 (http://developer.android.com/google/gcm/demo.html),我正在尝试让该应用程序在我的 Android 手机上运行,​​但是每当我在手机上运行该应用程序时,我都会收到以下消息: 尝试(尝试 1/5)在演示服务器上注册设备

然后在 5 次尝试失败后,我收到错误消息: 尝试 5 次后无法在演示服务器上注册设备

在尝试运行应用程序之前,我正在运行 GCM 服务器,而 GCM 服务器正在我的本地笔记本电脑上运行。以下服务器值已在 GCM-Demo-Client 项目的“app”文件夹中的“CommonUtilities”文件中设置。

SERVER_URL = "http://192.168.1.100:8080/gcm-demo";
SENDER_ID = "245619476079";

我知道这是一个内部 IP 地址,但是我在尝试在我的外部 IP 地址上运行服务器时遇到了其他问题,并且我的 Android 设备已连接到同一个 WI-FI 网络,所以我'我不确定为什么这不起作用。

请帮忙:)。

附:如果有人对如何让 GCM-Demo-Server 在我的外部 IP 地址上运行有任何建议,那就太好了!目前,我能为我的机器找到的唯一外部 IP 地址是无线调制解调器/路由器的 IP,它只允许我访问调制解调器/路由器选项(即使我让 GCM-Demo-Server 在该外部IP 地址)。

【问题讨论】:

  • 我猜你正在使用 Tomcat 作为你的网络服务器,所以如果你从手机的浏览器中输入 192.168.1.100:8080,你会看到 Tomcat 的欢迎页面吗?
  • 要使用外部 IP 地址,您需要将路由器设置为从端口 xxxx 到端口 8080 的“端口转发”在您的演示服务器上。您将以 your_address_or_hostname:xxxx 身份访问服务器。
  • 感谢 Nick 的回复,我实际上是使用在标准 Windows8 笔记本电脑上运行的 Java AppEngine 作为我的“Webserver”,仅用于开发和测试目的。是否可以在非服务器机器上运行 Tomcat?另外,感谢您提供有关路由器的信息,我回家后一定会尝试使用路由器设置。
  • 刚刚想到,我还没有用GCM权限设置调整Android清单文件,这会导致手机无法成功联系GCM服务器吗?我正在使用 GCM-Demo 提供的项目,所以我假设正确的设置已经在清单文件中,但我必须检查一下。
  • 使用内部 IP 地址应该可以正常工作,我一直这样做。修复 GCM 权限,看看是否有帮助。另外,有趣的是,我已经为您创建了一个包含测试服务器的 maven 插件:code.google.com/p/gcmutils/wiki/MavenPlugin

标签: java android google-cloud-messaging


【解决方案1】:
SERVER_URL = "http://192.168.1.10:8080";

使用这个网址,它将在页面上注册: http://192.168.1.10:8080/home, 不是页面 http://192.168.1.10:8080/gcm-demo , 并且无法发送消息。

【讨论】:

    【解决方案2】:

    终于解决了这个问题。不知道为什么,但在从 URL 末尾删除“/gcm-demo”后,我的设备能够成功连接到 GCM 服务器并接收消息。所以“CommonUtilities.java”文件中设置的最终“SERVER_URL”显示为:

    SERVER_URL = "http://192.168.1.100:8080";
    

    也感谢 Nick 的提示,设法通过端口转发使其工作在我的外部 IP 地址上,使最终的 SERVER_URL 看起来像:

    SERVER_URL = "http://<external_ip>:8080";
    

    谢谢你们的帮助:)

    【讨论】:

      【解决方案3】:

      确保 curl 在 php 中启用。它对我有用。

      例如,使用 Ubuntu/Debian 服务器,您需要运行以下命令:

      sudo apt-get install php5-curl
      

      之后,重启 Apache 服务器:

      sudo /etc/init.d/apache2 restart
      

      使用 Windows 尝试从 wamp 设置启用。

      有关启用 curl 的更多信息,请参阅this

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-10-12
        相关资源
        最近更新 更多