Android GCM相关和私有IP

Android GCM相关和私有IP,android,google-cloud-messaging,Android,Google Cloud Messaging,我正在使用私有IP,如192.168.20.39和测试GCM android项目,我需要RegId: com.google.android.gcm.server.InvalidRequestException: HTTP Status Code: 401 error. 我怎样才能解决这个问题?我可以用这种私有IP进行测试吗?这个问题还不清楚,根据你的提问,我假设有两件事 您正在尝试使用GCM为Android实现推送通知,并希望在本地对其进行测试 您正在设备(不是模拟器)上测试它,并且您的设备

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

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

我怎样才能解决这个问题?我可以用这种私有IP进行测试吗?

这个问题还不清楚,根据你的提问,我假设有两件事

  • 您正在尝试使用GCM为Android实现推送通知,并希望在本地对其进行测试
  • 您正在设备(不是模拟器)上测试它,并且您的设备和开发机器都连接到同一个本地网络
  • 如果是,请确保已将此代码添加到注册码块中

    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();
    
    Registration regService=new Registration.Builder(AndroidHttp.newCompatibleTransport(),new AndroidJsonFactory(),null)
    .setRootUrl(“http://192.168.20.39:8080/_ah/api/")
    .setGoogleClientRequestInitializer(新的GoogleClientRequestInitializer(){
    @凌驾
    public void initialize(AbstractGoogleClientRequest AbstractGoogleClientRequest)引发IOException{
    abstractGoogleClientRequest.setDisablegzip内容(true);
    }
    }).build();
    
    其中,
    192.168.20.39
    必须是您的开发PC的IP(如果不是,请相应更改)


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

    发布相关代码。