Наладзьце абодва ўваходы транспарту, калі HTTP-выклікі Firebase і абнаўленне ўліковых даных павінны выкарыстоўваць адзін проксі. Публічная HTTP-кропка, выбраная з спісу HTTP-проксі, патрабуе тых жа двух перадач:

var proxy = new java.net.Proxy(
    java.net.Proxy.Type.HTTP,
    new java.net.InetSocketAddress("proxy.example.net", 8080));

var transport =
    new com.google.api.client.http.javanet.NetHttpTransport.Builder()
        .setProxy(proxy)
        .build();

var credentials = com.google.auth.oauth2.GoogleCredentials.fromStream(
    serviceAccountStream, () -> transport);

var options = com.google.firebase.FirebaseOptions.builder()
    .setCredentials(credentials)
    .setHttpTransport(transport)
    .build();

var app = com.google.firebase.FirebaseApp.initializeApp(options);

Дзве важныя перадачы — fromStream(serviceAccountStream, () -> transport) і setHttpTransport(transport). Першая дае HTTP-транспарт для атрымання токенаў доступу; другая дае HTTP-транспарт праграмы Firebase. Калі задаць толькі адну, другая можа застацца на стандартным маршруце.

serviceAccountStream — гэта давераны паток уліковых даных сэрвіснага акаўнта праграмы. Пакіньце праграму для яе работы і вызваліце праз звычайны жыццёвы цыкл Firebase. Наладка проксі не кранае імя хоста прызначэння для праверкі TLS; яна не патрабуе ні замены класаў SDK, ні SSL-фабрыкі, што давярае ўсім.

Абсяг тут — паказаныя HTTP-інтэрфейсы. Праца, што выкарыстоўвае WebSocket Realtime Database ці іншы транспарт сэрвісу, патрабуе асобнай праверкі падтрымкі маршрутызацыі гэтага транспарту.

Падобныя артыкулы