Я пытался использовать Postman и тестировать с тем же объектом JSON, и он работает совершенно нормально, но он не работает, когда я использую библиотеку модернизации.
Я пытался поместить объект JSON в класс Pojo, ноэто все еще не работает.
КЛАСС УВЕДОМЛЕНИЙ ОБСЛУЖИВАНИЯ
public interface NotificationService {
@Headers({
"Content-Type:"+ApiConstants.CONTENT_TYPE,
"Authorization:"+ApiConstants.SERVER_KEY
})
@POST(ApiConstants.SEND)
Call<ResponseBody> sendNotification(@Body String body);
}
КЛАСС АПИКОНСТАНЦОВ
public class ApiConstants {
public static final String SERVER_KEY = "key=mykey";
public static final String SEND = "send";
public static final String BASE_URL = "https://fcm.googleapis.com/fcm/";
public static final String CONTENT_TYPE = "application/json";
public static final String NOTIFICATION = "{\n" +
" \"to\": \"/topics/MISSING\",\n" +
" \"data\": {\n" +
" \"extra_information\": \"This is some extra information\"\n" +
" },\n" +
" \"notification\": {\n" +
" \"title\": \"She pressed the button\",\n" +
" \"text\": \"She misses you\",\n" +
" \"click_action\": \"MAINACTIVITY\"\n" +
" }\n" +
"}";
}
ОСНОВНАЯ ДЕЯТЕЛЬНОСТЬ
private void buttonIsPressed() {
RetrofitClient retrofitClient;
retrofitClient = RetrofitClient.getInstance();
Call<ResponseBody> call = retrofitClient.getNotificationService().sendNotification(ApiConstants.NOTIFICATION);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
ResponseBody result = response.body();
String gs = new Gson().toJson(result);
Log.d("MainActivity", "response = " + gs);
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.d(TAG, "//onFailure");
}
});
}
Я пытаюсьотправлять уведомления некоторым конкретным пользователям при нажатии кнопки.Из того, что я могу сказать, единственное, что не работает, это то, что я даю неправильный ввод для тела при использовании Call<ResponseBody> sendNotification(@Body String body)