Я имею в виду часть интерпретации сообщений в https://firebase.google.com/docs/cloud-messaging/ios/receive.
Где в моем коде я могу изменить текст уведомлений в Firebase?





Чтобы отправить push-уведомление на устройство, у вас должен быть сценарий (или фрагмент кода), идеально размещенный на сервере, который будет отправлять push-уведомление от вашего имени.
Там вы можете настроить сообщение и даже проиграть звук при получении уведомления.
Вот фрагмент кода в java, который можно использовать для отправки push-уведомления на устройство (или группу устройств).
private Map sendPush(String to, String from, String title, String message,
String sound) throws IOException {
sound = (sound != null) ? sound : "default"; // set default audio file name
// Creating the URL and connection
URL url = new URL(FCM_URL); // your firebase URL
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "key = " + FCM_KEY); // the firebase project key
conn.setDoOutput(true);
// set the notification body
Map<String, String> notificationBody = new HashMap();
notificationBody.put("title", title); // notification title
notificationBody.put("body", message); // notification message
notificationBody.put("sound", sound);
notificationBody.put("badge", "1");
Map<String, String> dataBody = new HashMap();
dataBody.put("sender", from); // sender id
Map<String, Object> pushBody = new HashMap();
pushBody.put("notification", notificationBody);
pushBody.put("data", dataBody);
pushBody.put("to", to); // receiver(s) id
pushBody.put("priority", "high");
// convert your dictionary to json string using Google Gson library (similar to JsonSerialization class in swift)
String input = new Gson().toJson(pushBody);
// write input bytes in request body
try (OutputStream os = conn.getOutputStream()) {
os.write(input.getBytes());
os.flush();
}
StringBuilder responseString;
Reader reader = new InputStreamReader(conn.getInputStream()); // send request and receive response
// parse response
try (BufferedReader in = new BufferedReader(reader)) {
String inputLine;
responseString = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
responseString.append(inputLine);
}
}
// using Google Gson to convert json string into Map (similar to JsonSerialization class in swift)
Map<String, Object> responseObject = new Gson().fromJson(responseString.toString(),
Map.class);
return responseObject;
}
Поскольку это код Java, я разместил его в приложении Java, развернутом на сервере Apache Tomcat.
Вы можете найти несколько похожих реализаций на разных языках, таких как php, node.js и т. д.
Надеюсь это поможет
Это то, что я ищу! Знаете ли вы, что мне нужно сделать, чтобы поместить это в Swift?
AFAIK вы не можете отправить push прямо из своего приложения. Вы можете отправить запрос http на серверный API, который отправит запрос от вашего имени. или вы можете изучить Google Cloud Functions. firebase.google.com/docs/functions
сначала создайте сертификат p.12 и загрузите его в firebase -> настройки проекта -> вкладка облачных сообщений -> выберите свое приложение iOS -> добавьте сертификат APNS.
A. Создайте файл CSR (.certSigningRequest)
Открытый доступ к связке ключей из утилит На панели инструментов «Связка ключей» выберите «Связка ключей» -> «Настройки». Во всплывающем окне выберите вкладку Сертификаты. Установите для «Протокол состояния онлайн-сертификатов» и «Список отозванных сертификатов» значение «Выкл.». Закрыть это окно Теперь на панели инструментов откройте «Связка ключей»> «Помощник по сертификации»> «Запросить сертификат в центре сертификации». Введите адрес электронной почты и обычное имя, которые вы использовали для регистрации в программе для разработчиков iOS. Оставьте поле CA Email пустым и выберите «Сохранено на диск» и «Я могу указать информацию о паре ключей». Нажмите "Продолжить". Выберите имя файла и место на жестком диске Нажмите кнопку "Сохранить". В следующем окне установите для параметра «Размер ключа» значение «2048 бит». Установите «Алгоритм» на «RSA». Нажмите "Продолжить". Это создаст и сохранит ваш файл certSigningRequest (CSR) на вашем жестком диске. Открытый и закрытый ключи также будут созданы в Keychain Access с введенным общим именем.
Б. Создайте файл ".cer" в учетной записи разработчика iOS.
Войдите в учетную запись разработчика Apple Нажмите «Сертификаты, идентификаторы и профили». Нажмите «Provisioning Profiles». В разделе «Сертификаты» нажмите «Производство». Нажмите кнопку «Добавить» (+) в правом верхнем углу главной панели. Теперь выберите «App Store and Ad Hoc». Нажмите "Продолжить". Нажмите "Выбрать файл" и найдите файл CSR, который вы создали на жестком диске. Нажмите "Создать". Нажмите "Скачать", чтобы получить файл. C. Установите .cer и сгенерируйте сертификат .p12
Найдите загруженный файл .cer и дважды щелкните В раскрывающемся меню «Вход» выберите «Вход» и нажмите «Добавить». Откройте KeyChain Access, и вы найдете профиль, созданный на шаге A. Вы можете развернуть профиль «закрытый ключ» (показывает добавленный вами сертификат) Выберите только эти два элемента (не открытый ключ) Щелкните правой кнопкой мыши и выберите «Экспорт 2 элементов…» во всплывающем окне. Теперь убедитесь, что формат файла - «.p12», и выберите имя файла и место назначения на жестком диске. Щелкните Сохранить. Теперь вам будет предложено установить пароль, но оставьте оба поля пустыми. Щелкните ОК. Теперь у вас есть файл .p12 на жестком диске.
и откройте свой проект Xcode и выберите цель-> возможности-> pusnotification-> on
дальше сделай это https://firebase.google.com/docs/cloud-messaging/ios/receive
следующее push-сообщение из облачной консоли обмена сообщениями firebase с сообщением и заголовком и выберите цель вашего приложения-> сегмент пользователя-> ваше приложение.
тогда ваше приложение сможет
Пожалуйста, сначала взгляните на stackoverflow.com/help/how-to-ask, а затем предоставьте более подробную информацию и код, которые показывают, что вы уже пробовали.