How To Send FCM Notification From Android Using Retrofit?
I am want send fcm notification from android device to another device , using retrofit . I try this but, public interface ApiInterface { @Headers('Authorization : key=AAAA4Ubio
Solution 1:
Finally solved problem !
It was mistake in header
, actually it is like this
@Headers({"Authorization: key=AAAA4Ubio1Q:APA91bGWkw84b1XX2nnnOKn8MO25U2giLRXXXTUkXidojFluZk_qKXXXlS27oMZZV5goTQdwRtpdmvI1iAPRZZDNKz6c-mpU6nvHZJ-Jg9f1fQ5NdttftqUpqwAkObLEEX26VFDDbXN8",
"Content-Type:application/json"})
Full code of how to send fcm notification
from android using retrofit
:-
public interface ApiInterface {
@Headers({"Authorization: key=AAAA4Ubio1Q:APA91bGWkw84b1Pw2nnnOKn8MO25U2giLRtv5TUkXidojFluZk_qKOGllS27oMZZV5goTQdwRtpdmvI1iAPRZZDNKz6c-mpU6nvHZJ-Jg9f1fQ5NdttftqUpqwAkObLEED26VFDDbXN8",
"Content-Type:application/json"})
@POST("fcm/send")
Call<ResponseBody> sendChatNotification(@Body RequestNotificaton requestNotificaton);
}
ApiClient class :-
public static final String BASE_URL = "https://fcm.googleapis.com/";
private static Retrofit retrofit = null;
public static Retrofit getClient() {
if (retrofit==null) {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
Model class :- RequestNotificaton.class
public class RequestNotificaton {
@SerializedName("token") // "to" changed to token
private String token;
@SerializedName("notification")
private SendNotificationModel sendNotificationModel;
public SendNotificationModel getSendNotificationModel() {
return sendNotificationModel;
}
public void setSendNotificationModel(SendNotificationModel sendNotificationModel) {
this.sendNotificationModel = sendNotificationModel;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
}
Model class :-SendNotificationModel.class
public class SendNotificationModel {
private String body,title;
public SendNotificationModel(String body, String title) {
this.body = body;
this.title = title;
}
public String getBody() {
return body;
}
public void setBody(String body) {
this.body = body;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
Main Code:-
private void sendNotificationToPatner() {
SendNotificationModel sendNotificationModel = new SendNotificationModel("check", "i miss you");
RequestNotificaton requestNotificaton = new RequestNotificaton();
requestNotificaton.setSendNotificationModel(sendNotificationModel);
//token is id , whom you want to send notification ,
requestNotificaton.setToken(token);
apiService = ApiClient.getClient().create(ApiInterface.class);
retrofit2.Call<ResponseBody> responseBodyCall = apiService.sendChatNotification(requestNotificaton);
responseBodyCall.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(retrofit2.Call<ResponseBody> call, retrofit2.Response<ResponseBody> response) {
Log.d("kkkk","done");
}
@Override
public void onFailure(retrofit2.Call<ResponseBody> call, Throwable t) {
}
});
}
I hope its help You!
Note
Dependencies are :-
// retrofit, gson
implementation 'com.google.code.gson:gson:2.8.0'
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
Post a Comment for "How To Send FCM Notification From Android Using Retrofit?"