Отправка Push-уведомлений на iOS через Swift
11 мин
отправка push уведомлений с клиентской стороны на swift введение в этом разделе объясняется, как вы можете отправлять push уведомления через ваш ios клиент с помощью back4app вот как это будет выглядеть в любое время вы можете получить доступ к полному проекту, созданному с помощью этого руководства, в нашем репозитории github https //github com/templates back4app/ios install sdk предварительные требования чтобы завершить этот быстрый старт, вам нужно xcode https //developer apple com/xcode/ приложение, созданное на back4app следуйте за учебником по созданию нового приложения parse https //www back4app com/docs/get started/new parse app чтобы узнать, как создать приложение parse на back4app ios приложение, подключенное к back4app примечание следуйте за учебником по установке parse sdk (swift) https //www back4app com/docs/ios/parse swift sdk чтобы создать проект xcode, подключенный к back4app ios приложение, настроенное через учебник по push уведомлениям back4app через панель управления https //www back4app com/docs/ios/push notifications/best ios push notification service устройство ios, iphone или ipad, работающие на ios 10 или новее платная учетная запись разработчика apple в дальнейшем мы будем предполагать, что вы завершили все шаги учебника по push уведомлениям back4app через панель управления https //www back4app com/docs/ios/push notifications/best ios push notification service , даже если вы используете проект ios, созданный с помощью этого учебника, который доступен в нашем репозитории github https //github com/mpc20001/ios objc push cloud code у вас должны работать базовые push уведомления, и вы также должны иметь возможность отправлять уведомления через консоль администратора 1 включите клиентскую отправку перейдите на сайт back4app https //www back4app com/ войдите в систему, найдите ваше приложение и нажмите на настройки сервера найдите блок “основные настройки” и нажмите на \<font color="#2166ae">настройки\</font> блок “основные настройки” выглядит так 3\ прокрутите страницу до конца и нажмите на \<font color="#2166ae">изменить детали\</font> кнопку, как показано ниже 4\ вы увидите флажок с названием \<font color="#2166ae">разрешить уведомления от клиента\</font> в конце страницы редактирования, установите этот флажок и нажмите на \<font color="#2166ae">сохранить\</font> кнопку, как показано ниже 2 подпишите ваше устройство на канал новостей предполагая, что вы завершили учебник по push уведомлениям back4app через панель управления https //www back4app com/docs/ios/push notifications/best ios push notification service , вам нужно будет изменить завершенный проект из этого учебника или скачать его из нашего репозитория github https //github com/back4app/ios objc push сначала вы добавите канал в ваш объект установки вы собираетесь сделать это, изменив метод \<font color="#2166ae">createinstallationonparse\</font> в вашем файле appdelegate откройте файл \<font color="#2166ae">appdelegate swift\</font> вашего проекта и добавьте следующую строку кода ‘ installation setobject(\[”news1”] forkey ”channels”]; ’ которая установит массив каналов объекта установки на один канал с названием \<font color="#2166ae">news\</font> appdelegate m 1 func createinstallationonparse(devicetokendata\ data){ 2 if let installation = pfinstallation current(){ 3 installation setdevicetokenfrom(devicetokendata) 4 installation setobject(\["news"], forkey "channels") 5 installation saveinbackground { 6 (success bool, error error?) in 7 if (success) { 8 print("you have successfully saved your push installation to back4app!") 9 } else { 10 if let myerror = error{ 11 print("error saving parse installation \\(myerror localizeddescription)") 12 }else{ 13 print("uknown error") 14 } 15 } 16 } 17 } 18 } это позволит вам отправлять сообщения всем, кто подписан на канал с названием \<font color="#2166ae">news\</font> через облачный код убедитесь, что ваша версия \<font color="#2166ae">didregisterforremotenotificationswithdevicetoken\</font> такая же, как код ниже 2\ далее мы добавим метод в ваш делегат приложения, чтобы отправить пуш на \<font color="#2166ae">новости\</font> канал каждый раз, когда приложение запускается откройте файл вашего проекта \<font color="#2166ae">appdelegate swift\</font> и добавьте метод ниже, убедившись, что этот метод вызывается каждый раз при запуске приложения, вызывая его из \<font color="#2166ae">didfinishlaunchingwithoptions\</font> appdelegate m 1 func application( application uiapplication, didfinishlaunchingwithoptions launchoptions \[uiapplicationlaunchoptionskey any]?) > bool { 2 let configuration = parseclientconfiguration { 3 $0 applicationid = "paste your application id here" 4 $0 clientkey = "paste your client id here" 5 $0 server = "https //parseapi back4app com" 6 } 7 parse initialize(with configuration) 8 9 unusernotificationcenter current() requestauthorization(options \[ alert, sound, badge, carplay ]) { 10 (granted, error) in 11 print("permission granted \\(granted)") 12 guard granted else { return } 13 self getnotificationsettings() 14 } 15 sendpushonlaunch() 16 return true 17 } 18 func sendpushonlaunch(){ 19 let push = pfpush() 20 push setchannel("news") 21 push setmessage("push from device") 22 push sendinbackground() 23 } 3 проверьте, что вы можете отправлять целевые пуш уведомления себе через клиент откройте ваше приложение в симуляторе, оставив ваше физическое устройство закрытым с включенным экраном блокировки вы должны увидеть уведомления на экране блокировки вашего устройства, как только приложение откроется в симуляторе заключительные мысли вы должны хорошо понимать, как отправлять уведомления от клиента вы можете комбинировать это с pfquery, чтобы нацеливаться на пользователей на основе какого либо свойства, такого как возраст, местоположение или идентификатор объекта просто помните, что если клиентская отправка уведомлений включена, она может быть использована в злонамеренных целях и не может быть отключена без ограничения всех клиентских уведомлений рекомендуется отметить отправку уведомлений из cloud code , но все равно полезно знать готово! на этом этапе вы можете отправлять push уведомления, используя клиентскую отправку через back4app!