2016-11-02 6 views
3

Я настраиваю уведомление с помощью Push One с помощью OneSignal, считывая their documentation. Следующим кодовым блоком является мой пример конфигурацииOneSignal web push-уведомление о настройке сафари не работает

<script> 
    var OneSignal = window.OneSignal || []; 
    OneSignal.push(["init", { 
     appId: "my-app-id", 
     safari_web_id: 'my-safari-web-id', 
     autoRegister: false, 
     notifyButton: { 
      enable: true /* Set to false to hide */ 
     }, 
    }]); 
</script> 

Работает на Google Chrome и Firefox. Но не работает на сафари, и когда я нажимаю на кнопку Подписаться на уведомления я получил ошибку вроде следующего

Safari Error Log

Что плохого в моей конфигурации?

Я использую сафари Версия 10.0.1 (12602.2.14.0.7)

+1

Я столкнулся с той же проблемой. Это может быть связано с этой ошибкой: https://openradar.appspot.com/28741942 и этот вопрос github: https://github.com/OneSignal/OneSignal-Website-SDK/issues/126 –

ответ

0

Попробовать Вставьте следующий код в вашей консоли и проверка на ошибки, что вы получаете

window.safari.pushNotification.requestPermission(OneSignal._API_URL + 'safari', OneSignal.config.safari_web_id, {app_id: OneSignal.config.appId}, function(response) { 
    console.warn('pushNotification.requestPermission Safari Registration Result:', response); 
}); 

If в вашей консоли он говорит Нажмите Notification Prompt отключена выполните следующие действия:

  1. Перейти к предпочтению в меню Safari
  2. Перейти к уведомлениям
  3. Проверьте Разрешить веб-сайты, чтобы попросить разрешения направить уведомления толчка является Проверено
1

Вот некоторые из причин, почему это может происходить на Сафари. От https://github.com/OneSignal/OneSignal-Website-SDK/wiki/Safari-Registration-Bug:

Упорядочено по наиболее вероятно, наименее вероятно:

  1. Происхождение Safari URL сайта должно соответствовать начало в адресной строке. Даже если ваш файл hosts допускает псевдоним, вы должны использовать фактическое происхождение, указанное в URL-адресе сайта при подписке. URL-адрес сайта даже чувствителен к регистру.

  2. Параметр safari_web_id должен соответствовать идентификатору веб-сайта Safari в настройках платформы приложения. Убедитесь, что он не переопределяется другим значением, или что префикс web.onesignal.auto не был пропущен, если он использует наш автогенерированный сертификат.

  3. Значок должен быть квадратным (ширина равна высоте).

  4. Убедитесь, что вы не просматриваете Safari в приватном окне.

  5. Убедитесь, что вы не используете Safari для iOS. Safari в Windows не поддерживается. Некоторые пользователи могут загружать Safari 5.1.7 для тестирования push-уведомлений, но единственным поддерживающим Safari является Safari 7.1+ в операционной системе Mac OS X.

  6. Значок DPI должен быть 72x72.

    Это можно проверить с помощью ImageMagick, с командой define -format "% w x% h% x x% y" PATH_TO_FILE.

  7. Если используется специальный сертификат, он может быть недействительным. Восстановите платформу Safari с помощью автоматически созданного сертификата. Для этого свяжитесь с OneSignal.

  8. И, наконец, автоматически сгенерированный сертификат может работать некорректно. Восстановите платформу Safari с помощью другого автоматически сгенерированного сертификата. Для этого свяжитесь с OneSignal.

0

Вы можете использовать OneSignal.log.setLevel ('trace'); для отслеживания вашей проблемы. Это может указывать на то, что проблема отсутствует, так как значок отсутствует или p12 неверен.

 Смежные вопросы

  • Нет связанных вопросов^_^