GCM相关和私有IP

时间:2014-07-02 08:56:01

标签: android google-cloud-messaging

我正在使用私有IP,例如192.168.20.39和测试GCM android项目,我需要RegId

com.google.android.gcm.server.InvalidRequestException: HTTP Status Code: 401  error.

我该如何解决这个问题?我可以使用这种私有IP进行测试吗?

1 个答案:

答案 0 :(得分:0)

问题尚不清楚,从你提出的问题我假设了几件事。

  1. 您正尝试使用GCM为Android实施推送通知,并且您希望在本地进行测试
  2. 您正在设备(非仿真器)上进行测试,并且您的设备和开发计算机都连接到同一本地网络。
  3. 如果是,请确保已将此代码添加到注册码块

    Registration regService = new Registration.Builder(AndroidHttp.newCompatibleTransport(), new AndroidJsonFactory(), null)
                    .setRootUrl("http://192.168.20.39:8080/_ah/api/")
                    .setGoogleClientRequestInitializer(new GoogleClientRequestInitializer() {
                        @Override
                        public void initialize(AbstractGoogleClientRequest<?> abstractGoogleClientRequest) throws IOException {
                            abstractGoogleClientRequest.setDisableGZipContent(true);
                        }
                    }).build();
    

    其中,192.168.20.39必须是您的开发PC的IP(如果不是,请相应更改)。

    在PC中,确保使用参数--address=0.0.0.0启动GCM后端服务器。添加此项将确保本地网络中服务器的可用性。