Version 2.5.2 fixes a bunch of bugs and adds ApolloAndroidLogger and AppSyncOperationMessageSerializer. Huge thanks to @AdamMc331 and @ansman for their respective work on the logger and serializer 🙌 !
Note: version 2.5.2 is released from Github actions and that took a few iterations to get right. As a result, version 2.5.0 and 2.5.1 were not published and will never be.
ApolloAndroidLogger is a logger that will send its output to Logcat. Use it to display debug information on Android devices:
ApolloClient.builder()
.logger(ApolloAndroidLogger())
[...]
.build
AppSyncOperationMessageSerializer is a serializer that can understand the AWS AppSync message format. Pass it to your WebSocketSubscriptionTransport.Factory:
// This example uses an API key. See the AppSync documentation for information on what to pass
val authorization = mapOf(
"host" to "example1234567890000.appsync-api.us-east-1.amazonaws.com",
"x-api-key" to "da2-12345678901234567890123456"
)
val webSocketUrl = AppSyncOperationMessageSerializer.buildWebSocketUrl(
baseWebSocketUrl = "wss://example1234567890000.appsync-realtime-api.us-east-1.amazonaws.com/graphql",
authorization = authorization
)
val subscriptionTransportFactory = WebSocketSubscriptionTransport.Factory(
webSocketUrl = webSocketUrl,
webSocketConnectionFactory = okHttpClient,
serializer = AppSyncOperationMessageSerializer(authorization)
)
apolloClient.builder()
.subscriptionTransportFactory(subscriptionTransportFactory)
.build()
Fetched April 11, 2026