--- id: protobuf-retrofit-plugin title: Protobut + Retrofit Setup sidebar_label: Protobut + Retrofit --- ## Gradle Dependencies Ensure that you already have an explicit dependency in your application's `build.gradle` including the plugin dependency, e.g. ```groovy dependencies { implementation "com.squareup.retrofit2:retrofit:2.9.0" implementation "com.squareup.retrofit2:converter-protobuf:2.9.0" // update version below to match latest Flipper client app debugImplementation "com.facebook.flipper:flipper:0.84.0" debugImplementation "com.facebook.flipper:flipper-network-plugin:0.84.0" debugImplementation "com.facebook.flipper:flipper-retrofit2-protobuf-plugin:0.84.0" } ``` ## Network Plugin Requirement Ensure that `NetworkFlipperPlugin` is added as shown in the [Network setup guide](https://fbflipper.com/docs/setup/network-plugin#android) ## Sending Retrofit Service Suppose you have a Retrofit service interface `PersonService` which has Protobuf body or return types. At the time you create your implementation, call the plugin with your `baseUrl` and service class: ``` import com.facebook.flipper.plugins.retrofit2protobuf.SendProtobufToFlipperFromRetrofit ... val personService = retrofit.create(PersonService::class.java) SendProtobufToFlipperFromRetrofit(baseUrl, PersonService::class.java) ```