Firebase Custom Messages iOS - PullRequest
       6

Firebase Custom Messages iOS

0 голосов
/ 15 мая 2018

Я имею в виду часть интерпретирующих сообщений в https://firebase.google.com/docs/cloud-messaging/ios/receive.

Где в моем коде я могу изменить текст для уведомлений в Firebase?

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

сначала создайте сертификат p.12 и загрузите его в firebase -> настройки проекта -> вкладка облачных сообщений -> выберите приложение iOS -> добавьте сертификат APNS.

A. Создать CSR-файл (.certSigningRequest)

Открытый доступ к связке ключей из утилит На панели инструментов Доступ к цепочке для ключей выберите Доступ к цепочке для ключей -> Предпочтения Во всплывающем окне выберите вкладку Сертификаты Установите для «Онлайн-протокола статуса сертификата» и «Списка отзыва сертификатов» значение «Выкл.» Закрыть это окно Теперь из панели инструментов откройте Keychain Access> Certificate Assistant> Запросить сертификат у центра сертификации Введите адрес электронной почты и общее имя, которое вы использовали для регистрации в программе iOS для разработчиков Оставьте CA Email пустым и выберите «Сохранено на диск» и «Позвольте мне указать информацию о паре ключей» Нажмите Продолжить Выберите имя файла и место назначения на жестком диске Нажмите Сохранить В следующем окне установите значение «Размер ключа» на «2048 бит» Установите «Алгоритм» на «RSA» Нажмите Продолжить Это создаст и сохранит ваш файл certSigningRequest (CSR) на вашем жестком диске. Открытый и закрытый ключи также будут созданы в Keychain Access с введенным общим именем.

B. Создайте файл ".cer" в учетной записи разработчика iOS

Войдите в аккаунт разработчика Apple. Нажмите «Сертификаты, идентификаторы и профили». Нажмите «Предоставление профилей» В разделе «Сертификаты» нажмите «Производство» Нажмите кнопку «Добавить» (+) в правом верхнем углу главной панели. Теперь выберите «App Store and Ad Hoc» Нажмите Продолжить Нажмите «Выбрать файл» и найдите CSR-файл, созданный на жестком диске. Нажмите Создать Нажмите Загрузить, чтобы получить файл C. Установите .cer и сгенерируйте сертификат .p12

Найдите файл .cer, который вы скачали, и дважды щелкните Установите в раскрывающемся списке «Логин» и нажмите «Добавить». Откройте KeyChain Access, и вы найдете профиль, созданный на шаге A Вы можете расширить профиль «закрытый ключ» (показывает сертификат, который вы добавили) Выберите только эти два элемента (не открытый ключ) Щелкните правой кнопкой мыши и выберите «Экспорт 2 элементов…» из всплывающего окна. Теперь убедитесь, что формат файла «.p12» и выберите имя файла и место назначения на жестком диске. Нажмите Сохранить. Теперь вам будет предложено установить пароль, но оставьте оба поля пустыми. Нажмите ОК. Теперь у вас есть файл .p12 на жестком диске

и откройте свой проект XCode и выберите target- >abilities-> pusnotification-> on

далее делайте это https://firebase.google.com/docs/cloud-messaging/ios/receive

следующее push-сообщение из консоли облачных сообщений firebase с сообщением и заголовком и выберите цель вашего приложения-> пользовательский сегмент-> ваше приложение.

тогда ваше приложение сможет

0 голосов
/ 15 мая 2018

Чтобы отправить 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 и т. Д.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...