Slide 1

Slide 1 text

1VTITQIFSF -*/&`T4FDSFU3FDJQFGPS 3FMJBCMF 1SPNQUBOE)JHIWPMVNF1VTI/PUJpDBUJPOT %FWFMPQFSF9QFSJFODF -*/&1MVT$PSQPSBUJPO 5SVTUJO-FF *LIVO6N

Slide 2

Slide 2 text

"HFOEB • 0VS$IBMMFOHFT • )JHIMFWFM%FTJHO • *NQMFNFOUBUJPO%FUBJMT • 3FDBQ'VUVSF8PSL

Slide 3

Slide 3 text

.JTTFEEJTDPVOUQSPNP .BZCFOFYUUJNFʜ .JTTFEXJGF`TDBMM *`NEFBECZUPOJHIUʜ .JTTFEEJTBTUFSXBSOJOH 8IZʜ 8FCFMJFWFEJOZPV .BUUFSPG-JGFBOE%FBUI *OTUBOUNFTTBHJOHQPTFTDIBMMFOHFTXJUIQVTIOPUJpDBUJPOT

Slide 4

Slide 4 text

/FX:FBSWT&BSUIRVBLFWT.JTTJMF 8IJDIJTUIFCJHHFSUISFBUUPPVSTFSWFST

Slide 5

Slide 5 text

• .PTUMZTUBCMF • ʜXJUITPNBOZ#65T  • .JTCFIBWJOHJOTUBODFT • 4MPXSFTQPOTFTUJNFPVUT • 4VEEFOEJTDPOOFDUJPOT "1/TWT'JSFCBTF #FMJFWFNF5IFZBSFOPUCVJMUGPSUIJT

Slide 6

Slide 6 text

• 3FUSZJOHBQVTIOPUJpDBUJPO • )PXNBOZUJNFT • )PXNVDIEFMBZ • (JWJOHVQBTFSWFS • 8IFOUPBCBOEPOBCBETFSWFS  • 8IJDITFSWFSTIPVMEXFTXJUDIUP  0VUPGT • 8JMMJUHFUIFBMUIZBHBJO %FDJTJPOT %FDJTJPOT %FDJTJPOT 3FBDIJOHBUUIFTDBMFXIFSFOBÏWFSFUSJFTXPO`UXPSLBOZNPSF

Slide 7

Slide 7 text

.JOEUIF2VPUB :FT SFUSJFTEPDPVOU 429 Too Many Requests 1IPUPCZ&IUFTIBNVM)BRVF"EJUPO6OTQMBTI

Slide 8

Slide 8 text

"HFOEB • 0VS$IBMMFOHFT • )JHIMFWFM%FTJHO • *NQMFNFOUBUJPO%FUBJMT • 3FDBQ'VUVSF8PSL

Slide 9

Slide 9 text

$MJFOU-JCSBSZ "SNFSJBDVTUPNJ[BUJPOT • -PBE#BMBODFS • 3FUSZ3VMFT (BUFXBZ4FSWFS /FUUZ +BWB7JSUVBM.BDIJOF 1VTITQIFSF )551.JDSPTFSWJDF'SBNFXPSL "1/T -*/& .FTTBHJOH 4FSWFST

Slide 10

Slide 10 text

%$ 1VTITQIFSF (BUFXBZ4FSWFS %$ 1VTITQIFSF (BUFXBZ4FSWFS ʜ Y%4;POFBXBSF 3PVUJOH 0VUMJFSEFUFDUJOH -PBE#BMBODFS

Slide 11

Slide 11 text

"HFOEB • 0VS$IBMMFOHFT • )JHIMFWFM%FTJHO • *NQMFNFOUBUJPO%FUBJMT • 3FDBQ'VUVSF8PSL

Slide 12

Slide 12 text

*OTJEF1VTITQIFSF$MJFOU &OEQPJOU.BOBHFS -PBE#BMBODFS $JSDVJU#SFBLFS "VUIFOUJDBUJPO-BZFS N5-40"VUI 5SBOTQPSU-BZFS )JHIQFSGPSNBODF OPOCMPDLJOHDPNNVOJDBUJPOWJB/FUUZ .FTTBHF5SBOTGPSNBUJPO $POWFSUTGPS'$."1/4DPNQBUJCJMJUZ 6OJGJFE*OUFSGBDF "VUPNBUJD3FUSZ 'FFECBDL 0O'BJMVSF *OUFSOBM$PNQPOFOUT

Slide 13

Slide 13 text

*OTJEF1VTITQIFSF$MJFOU &OEQPJOU.BOBHFS -PBE#BMBODFS $JSDVJU#SFBLFS "VUIFOUJDBUJPO-BZFS N5-40"VUI 5SBOTQPSU-BZFS )JHIQFSGPSNBODF OPOCMPDLJOHDPNNVOJDBUJPOWJB/FUUZ .FTTBHF5SBOTGPSNBUJPO $POWFSUTGPS'$."1/4DPNQBUJCJMJUZ 6OJpFE*OUFSGBDF "VUPNBUJD3FUSZ 'FFECBDL *OUFSOBM$PNQPOFOUT 0O'BJMVSF

Slide 14

Slide 14 text

6OJpFE*OUFSGBDF // Send a push notification to iOS val appleProfile = Profile.forApple( URI("https://api.push.apple.com"), certChain, privateKey, "bundleId") val client = PushClient.of(appleProfile) val push = Push.forApple( title = "Push title", body = "Push notification body") val req = PushRequest( provider = PushProvider.APPLE, deviceToken = "your_device_token_here", push = push) val result: PushResult = client.send(req) // Send a push notification to Android val firebaseProfile = Profile.forFirebase( URI("https://fcm.googleapis.com"), googleCredentials) val client = PushClient.of(firebaseProfile) val push = Push.forFirebase( title = "Push title", body = "Push notification body") val req = PushRequest( provider = PushProvider.FIREBASE, deviceToken = "your_device_token_here", push = push) val result: PushResult = client.send(req) 4JOHMFFOUSZQPJOUGPSBMMQVTIQMBUGPSNT

Slide 15

Slide 15 text

• %JTUSJCVUFTUSBGpDFWFOMZBDSPTTBWBJMBCMFFOEQPJOUT • 4JNQMF GBJS BOEFGGFDUJWFVOEFSOPSNBMDPOEJUJPOT 3FUSZBXBSF-PBE#BMBODFS 3PVOESPCJOBTUIFCBTFTUSBUFHZ &OTVSJOH)JHI%FMJWFSZ4VDDFTT5ISPVHI4NBSUFS5SBGGJD%JTUSJCVUJPO • 0OSFUSZ QSFWJPVTMZBUUFNQUFEFOEQPJOUTBSFTLJQQFE • 1SFWFOUTSFQFBUFEGBJMVSFTDBVTFECZGBVMUZOPEFT 3FUSZBXBSFMPHJD & & & & & & & & 33 & & & & & & & & 33 4FMFDUFOEQPJOU 4LJQ& TJODFJUXBTBMSFBEZ VTFEJOUIFQSFWJPVTBUUFNQU 4FMFDUFOEQPJOU

Slide 16

Slide 16 text

#FGPSF2VPUBBXBSFOFTT • #MJOESFUSJFTDBOFYIBVTURVPUB CMPDLJOHEFMJWFSZPGPUIFSNFTTBHFT • 3FUSZTUPSNTSFEVDFTZTUFNTUBCJMJUZBOE PWFSBMMEFMJWFSZFGpDJFODZ "GUFS2VPUBBXBSFOFTT • 2VPUBBXBSFMPHJDBWPJETSFUSZJOH FOEQPJOUTOFBSRVPUBMJNJUT • #BMBODFTIJHITVDDFTTSBUFBOERVPUB QSFTFSWBUJPO 2VPUBBXBSF"VUPNBUJD3FUSJFT 3FMJBCMFEFMJWFSZXJUIPVUPWFSMPBEJOH "1/T 4FOEBQVTIOPUJpDBUJPO 'BJM 3FUSZMPHJD 4VDDFTT 8BT TVDDFTTGVM )BTRVPUB SFNBJOJOH :FT 5PPNBOZ BUUFNQUT /P :FT :FT /P /P 3FTFOE )BOEMF BSFTQPOTF

Slide 17

Slide 17 text

• $JSDVJU#SFBLFSQFS&OEQPJOU • &BDIQVTISFTVMUJTSFQPSUFEUPJUTDJSDVJU • 'BVMUZ&OEQPJOU • 0OGBJMVSF CSFBLFSPQFOTˠFOEQPJOUJT SFNPWFE • "VUP3FQMBDFNFOU • 4FMFDUTBGSFTIFOEQPJOUGSPN%/4SFGSFTIFE DBOEJEBUFT • -PBE#BMBODF4UBCJMJUZ • .BJOUBJOTFWFOUSBGpDXJUIBDPOTJTUFOUQPPM 3FTJMJFOU&OEQPJOU.BOBHFNFOUXJUI$JSDVJU#SFBLFST $BOEJEBUF1PPM &OEQPJOU $JSDVJU #SFBLFS ⚡ *TUIFDJSDVJU PQFO &OEQPJOU .BOBHFS &OEQPJOU1PPM :FT %POF /P 3FNPWFUIFVOIFBMUIZ FOEQPJOUGSPNUIFQPPM 1SPNPUFBDBOEJEBUF UPBOFOEQPJOU 💥 $ & ⚡ 3FQPSU TVDDFTTGBJMVSF $MJFOU & ⚡ & ⚡ & ⚡ $ $ $ $

Slide 18

Slide 18 text

• 0ODBMMBMFSUTESPQQFE ESBNBUJDBMMZ 0WFSBMFSUTZFBSJOUIFMFHBDZ  MPPTFUISFTIPMET 0OMZBMFSUTTPGBSJOXJUITUSJDUFSDPOEJUJPOT • 'JOBMQVTIGBJMVSFTESPQUPOFBS[FSP 0OMZBIBOEGVMPGFSSPSTPCTFSWFEJOUIFMBTUEBZT 1VTITQIFSF$MJFOUJO"DUJPO 'SPNOPJTZBMFSUTUPOFBS[FSPGBJMVSFT

Slide 19

Slide 19 text

*OJUJBM1VTITQIFSF*OGSBTUSVDUVSF 0OFSFWFSTFQSPYZIBOEMFEBMMUSBGpD -*/& .FTTBHJOH 4FSWFST "1/T )551 )551 )551 - )551 )551 1VTITQIFSF,VCFSOFUFT$MVTUFS

Slide 20

Slide 20 text

• --PBE#BMBODFSGBJMFEUPEJTUSJCVUFUSBGpDFWFOMZ • -DPVMEO`UIBOEMF,214 • 5IF-JUTFMGXBTBTJOHMFQPJOUPGGBJMVSF • $4-#XBTEJGpDVMUUPJNQMFNFOUJO,VCFSOFUFT • *UEJEOPUTVQQPSUNVMUJSFHJPOBSDIJUFDUVSF 8IZEJEO`UUIF*OJUJBM4ZTUFN4DBMF

Slide 21

Slide 21 text

$FOUSBM%PHNB$POUSPM1MBOF $%$1 JTBOY%4CBTFETFSWJDFNFTI TPMVUJPO • &OBCMFTDMJFOUTJEFMPBECBMBODJOHJO,VCFSOFUFT • /PDFOUSBMMPBECBMBODFSrBWPJETTJOHMFQPJOUTPGGBJMVSF • 3FBMUJNFFOEQPJOUEJTDPWFSZBOEEZOBNJDVQEBUFT • 4VQQPSUTNVMUJEBUBDFOUFSBOE[POFBXBSFSPVUJOH $%$10VS"OTXFSUP-FHBDZ3FMJBCJMJUZ*TTVFT

Slide 22

Slide 22 text

-*/& .FTTBHJOH 4FSWFST "1/T $FOUSBM%PHNB $POUSPM1MBOF 'FUDIFOEQPJOUJOGPSNBUJPO WJBY%4QSPUPDPM %$ /PEF /PEF1PSU LVCFQSPYZ /PEF /PEF1PSU LVCFQSPYZ %$ /PEF /PEF1PSU LVCFQSPYZ /PEF /PEF1PSU LVCFQSPYZ &WFOMZTFOEUSBGpDUP,VCFSOFUFTOPEFTVTJOH$4-#

Slide 23

Slide 23 text

"HFOEB • 0VS$IBMMFOHFT • )JHIMFWFM%FTJHO • *NQMFNFOUBUJPO%FUBJMT • 3FDBQ'VUVSF8PSL

Slide 24

Slide 24 text

• "EWBODFEMPBECBMBODJOHBMHPSJUIN • ;POFBXBSF • "QQMJDBUJPOMFWFMIJOUT SFUSJFT DJSDVJUCSFBLFSTUBUVT RVPUB ʜ • 5ZQJDBM,VCFSOFUFTTFUVQ/05SFBEZGPSIJHIUSBGpD • $MJFOUTJEFMPBECBMBODJOHJTUIFXBZ • $POTJEFSHPJOHlTJEFDBSMFTTz 3FDBQ 3FMJBCMFQVTIOPUJpDBUJPOEFMJWFSZJT$0.1-&9

Slide 25

Slide 25 text

• +BWBGSJFOEMZ"1* • J04-JWF"DUJWJUJFTTVQQPSU • 1MVHHBCMFDSFEFOUJBMTUPSBHF BDDFTTUPLFOTN5-4DFSUJGJDBUFT • 5SVMZPQFOTPVSDF DPEFRVBMJUZ EPDT DPNNVOJUZ ʜ • 3FVTBCMFMPBECBMBODFSJNQMFNFOUBUJPO • .BOBHFNFOUDPOTPMF 'VUVSF8PSL 8FDBOCVJMEUIJTUPHFUIFS

Slide 26

Slide 26 text

HJUIVCDPNMJOFQVTITQIFSF HJUIVCDPNMJOFBSNFSJB