Kuinka lähettää ilmoituksia Web-sovellukseesi Pythonin avulla

Natiivisovelluksista on tullut viime aikoina erittäin suosittuja lähinnä ominaisuuksien, kuten offline-työskentelyn, siirtymien, helpon jakelukyvyn ja tietysti push-ilmoitusten takia. Mutta valitettavasti arvokkaan natiivisovelluksen luomiseen tarvitaan hyvä kielitaito, kuten Java tai Swift.

Progressiiviset verkkosovellukset

Progressiiviset verkkosovellukset (PWA) ovat selaimessa suoritettavia JavaScript-sovelluksia. He pyrkivät tuomaan joitain natiivisovelluksen ominaisuuksia verkkoon. PWA: ita on helppo kehittää, jos sinulla on perustiedot HTML: stä, CSS: stä ja erityisesti JavaScriptistä. Lisäksi, jos palveluun on jo pääsy verkkosivuston pöytätietokoneille, on helpompi lisätä verkkosovelluksen toiminnot alkuperäisen mobiilisovelluksen kehittämisen sijaan.

Ilmoitukset

Ilmoitukset pitävät käyttäjät ajan tasalla uusista viesteistä, kertovat heille uudesta blogiviestistä ja niin edelleen.

Monet natiivisovellukset lähettävät push-ilmoituksia käyttäjälle. Mutta tämä on mahdollista myös PWA: n ja Notifications API: n avulla.

OneSignal

Tässä opetusohjelmassa lähetämme ilmoituksia verkkosovelluksemme OneSingalin avulla. OneSignal on tehokas työkalu, joka tarjoaa yksinkertaisen käyttöliittymän ilmoitusten lähettämiseen. Ne tarjoavat myös Rest-sovellusliittymän, jota käytämme ilmoitusten lähettämiseen.

Määritä OneSignal

Push-ilmoitusten lähettämiseksi sinun on ensin määritettävä OneSignal. Siksi tarvitset tilin OneSignalilla. Mene heidän verkkosivustolleen ja paina "Kirjaudu sisään" oikeassa yläkulmassa.

Seuraavaksi sinun on luotava sovellus. Anna sille nimi ja valitse ”Asennusalusta”. Täällä valitset "Kaikki selaimet". Sen jälkeen valitset integraatioksi "mukautetun koodin". Sitten sinun on annettava joitain tietoja verkkosivustostasi.

Sovelluksesi asetusalueella on Avaimet ja tunnukset -välilehti. Kopioi molemmat avaimet myöhempää käyttöä varten.

Tärkeää: Älä jaa sinulle REST API -avainta. Pidä se yksityisenä!

Se on OneSignalin määrittäminen. Se oli helppoa!

Asenna verkkosivustomme

Seuraavassa osassa lisätään ilmoitustoiminto verkkosivustollemme. Sivuston on odotettava OneSignalin lähettämiä ilmoituksia ja näytettävä ne käyttäjälle.

Lisäämällä selaimen tietoon, että luot Progressive Web -sovelluksen, projektimme juuriin tiedoston manifest.json .

{ "name": "My Application", "short_name": "Application", "start_url": ".", "display": "standalone", "background_color" : "#fff" , "description": "We send notifications to you", "gcm_sender_id": "482941778795", "gcm_sender_id_comment": "Do not change the GCM Sender ID"}

Ensimmäiset kuusi avain-arvo-paria kuvaavat sovelluksen ulkonäköä. Gcm_send_id on tärkeää ilmoitusten lähettämistä. Jos haluat tietää enemmän manifest.jsonista , voit katsoa sen Mozilla-dokumentaatiosta.

Selaimesi ei etsi luetteloa automaattisesti. Sinun on lisättävä polku siihen jokaiseen HTML-asiakirjaan & lt; h e ad> -tagissa.

 ...  ...

Tarvitsemme lisäksi jonkin verran JavaScript-koodia verkkosivustomme yhdistämiseksi OneSignaliin.

Voit laittaa sen koodin & lt; h e ad> -osan komentotunnisteeseen . Älä unohda sijoittaa my- app-id uudelleen omalle OneSignal-sovellustunnuksellesi.

   var OneSignal = window.OneSignal || []; OneSignal.push(function () { OneSignal.init({ appId: "my-app-id", autoRegister: false, notifyButton: { enable: true, }, }); }); 

Kun haluat pyytää käyttäjää tilaamaan ilmoituksesi, suoritat tämän koodinpätkän.

OneSignal.push(function () { OneSignal.showHttpPrompt();});

Lisäksi tarvitset huoltotyöntekijän, joka kuuntelee taustalla ilmoituksia. Siksi tarvitset kaksi tiedostoa projektisi juurihakemistoon.

OneSignalSDKUpdaterWorker.js

importScripts('//cdn.onesignal.com/sdks/OneSignalSDKWorker.js');

OneSignalSDKWorker.js

importScripts('//cdn.onesignal.com/sdks/OneSignalSDKWorker.js');

Käytä sovellusliittymää Pythonilla

OneSignalilla on helppokäyttöinen Rest-sovellusliittymä. Päätepisteet on dokumentoitu OneSignal Developer -dokumentaatiossa.

Jotta pääsemme siihen, meidän on lähetettävä HTTP-pyynnöt. Siksi käytämme kirjastoa nimeltä pyynnöt . Voit asentaa sen käyttämällä Pythonin paketinhallintaohjelmaa pip.

pip install requests

Tämä on sovellusliittymän päätepiste, josta meidän on lähetettävä ilmoitus: //onesignal.com/api/v1/notifications.

HTTP-protokollalla on useita tapoja. Tässä tapauksessa haluamme tehdä POST-pyynnön. Tätä varten meidän on tuotava pyynnöt ja suoritettava toiminto.

import requests
requests.post("//onesignal.com/api/v1/notifications")

OneSignal haluaa varmistaa, että vain sinä voit lähettää ilmoituksia verkkosivustollesi. Joten sinun on lisättävä HTTP-otsikko Rest API -avaimesi kanssa OneSignalista.

requests.post( "//onesignal.com/api/v1/notifications", headers={"Authorization": "Basic my-rest-api-key"})

Muista korvata my-rest-api-avain Rest API -avaimellasi.

Tarvitset lisäksi perustietoja ilmoituksestasi.

data = { "app_id": "my-app-id", "included_segments": ["All"], "contents": {"en": "Hello"}}
requests.post( "//onesignal.com/api/v1/notifications", headers={"Authorization": "Basic my-rest-api-key"}, json=data)

Korvaa my-app-id omalla sovellustunnuksellasi. Seuraavaksi valitset, kuka saa ilmoituksesi. Esimerkkiarvot ovat "All", "Active Users", "Inactive Users”. Mutta voit myös luoda omia segmenttejä. Viimeiseksi lisäät jonkin verran viestin sisältöä englanniksi. Jos tarvitset muuta kieltä, voit lisätä sen myös tähän.

Se siitä! Jos tilasit ilmoitukset, sinun pitäisi saada push-ilmoitus.

Lähetä ilmoituksia API-kääreen avulla

Koska koodistani tuli eräänlainen sotkuinen monien eri ilmoitusten kanssa, loin API-kääreen OneSignalille.

API-kääre

Mutta mikä on API-kääre? API-kääre helpottaa API: n käyttöä. Voit sanoa, että se on API: n API. Soitat API-kääreelle suoraan API: n sijaan.

Voit asentaa OneSignal-Notifications- nimisen kääreen pipistä .

pip install onesignal-notifications

Nyt voit tuoda sen ja määrittää asiakkaasi.

from onesignal import OneSignal, SegmentNotificationclient = OneSignal("MY_APP_ID", "MY_REST_API_KEY")

Ilmoituksen lähettämiseksi sinun on alustettava luokka SegmentNotificationja käyttää menetelmää lähetä .

notification_to_all_users = SegmentNotification( { "en": "Hello from OneSignal-Notifications" }, included_segments=SegmentNotification.ALL)client.send(notification_to_all_users)

Ehkä tämä näyttää sinulle tarpeettomalta, koska se vie vielä enemmän koodirivejä. Mutta jos sinulla on useita ilmoituksia, se tekee prosessista paljon helpompaa ja koodisi kauniimpi.

Esimerkiksi, jos haluat lähettää ilmoituksen, joka perustuu joihinkin ehtoihin, API-kääreellä on siihen oma luokka.

from onesignal import OneSignal, FilterNotification, Filterclient = OneSignal("MY_APP_ID", "MY_REST_API_KEY")
filter_notification = FilterNotification( { "en": "Hello from OneSignal-Notifications" }, filters=[ Filter.Tag("my_key", "", "5"), "OR", Filter.LastSession(">", "1"), ])

Ilmoituksen mukauttamiseksi voit antaa monia mukautettuja parametreja. Voit esimerkiksi lisätä ilmoitukseen painikkeita. Kaikki luettelo kaikista parametreista löytyy täältä.

from onesignal import OneSignal, FilterNotification, Filterclient = OneSignal("MY_APP_ID", "MY_REST_API_KEY")
filter_notification = SegmentNotification( { "en": "Hello from OneSignal-Notifications" }, web_buttons=[ { "id": "like-button", "text": "Like", "icon": "//i.imgur.com/N8SN8ZS.png", "url": "//github.com/Lanseuo/onesignal-notifications"} ], included_segments=SegmentNotification.ALL)

Jos haluat lisätietoja OneSignal-Notificationsista , voit katsoa sitä GitHub-arkistosta tai dokumenteista.