Att skriva mobil programvara är en av de hetaste färdigheterna som kan ge dig ett jobb. Med hela ekosystemet som drivs av två stora plattformar, nämligen iOS och Android, är det verkligen den bästa tiden att vara utvecklare.
Om du antar att du redan har en viss programmeringserfarenhet under ditt bälte, kommer apputveckling inte att vara överväldigande för dig. Och det kommer verkligen att bli en lärorik erfarenhet, jag berättar detta av personlig erfarenhet, att lära sig att bygga ovanpå en plattform öppnar ditt sinne för ett helt nytt sätt att tänka. För nu hanterar du inte bara vad som händer i förgrunden och bakgrunden av din app, du hanterar också dess olika osynliga tillstånd och ser till att det är en "god medborgare" i ekosystemet som är din användares enhet.
Den här artikeln är en del av en pågående serie här på TechLila där vi kommer att fokusera på hur du kan bli en bättre utvecklare genom att lägga tid på att bygga upplevelser istället för att knäcka huvudet och tänka på problem som redan har lösts elegant (jag kommer till det om bara lite). Observera dock att denna serie är inte för nybörjare, vi kommer snart att ha något för dig. Den här serien fokuserar på att hjälpa utvecklare som redan har en hel del expertis inom Android.
Den här artikeln är den första i en serie artiklar som vi kommer att publicera för att hjälpa Android-utvecklare att lägga till viktiga "engagerande" funktioner till sina appar genom att utnyttja befintlig infrastruktur istället för att oroa sig för att bygga den från grunden.
Push-meddelanden på Android
I den här första kommer vi att fokusera på push-meddelanden. Push-meddelanden faller inom ramen för programintegrering.
Okej, så anta att du precis har byggt nästa episka app som är helt mördande och att du är extremt optimistisk om dess framtid. De första dagarna går appen riktigt bra. Stabiliteten är på topp och nedladdningarna bara ökar och du kan inte hålla ögonen på mätvärdena. Men snart nog börjar du märka ett mycket konstigt mönster i din app användning. Även om det lyckas locka nya användare till sig själv, men det tappar de befintliga användarna. Retentionen sjunker bara för varje dag. Man blir orolig över vad man ska göra nu, man trodde att folk verkligen skulle gilla det. Men det är bara inget som funkar.
Om du är i en sådan situation kan det här inlägget kanske hjälpa dig en hel del. Problemet är inte din app. Det är användarens telefon. Låt mig förklara. Din idé är en mördare och om du är säker på dess livskraft så är allt du bör bry dig om att fixa retentionsproblemet. Så ja, jag är din användare och jag har en typisk Android-telefon. Med en anständig 32 GB lagring och tack vare Reliance Jio, en ganska stabil internetanslutning. Vad gör jag? Jag går och utforskar vad som finns där ute för mig att konsumera. I den här processen kvävde jag bara min enhet med 100-tals appar och även om det är sant att jag verkligen gillade din app och tyckte att den var intressant, ärligt talat har jag glömt bort det vid det här laget. Det finns fortfarande på min telefon men jag märker det bara inte så bra bland alla andra appar som finns där.
Problemet här är att din app inte engagerar tillräckligt. Den påminner bara användarna om att den sitter där på sin enhet och väntar på att de ska använda den och bland alla appar som Facebook och WhatsApp ständigt bombarderar dina användare med aviseringar är det mycket troligt att din app kommer att gå vilse i mängden om den inte fixar engagemangsproblem.
Hur man lägger till push-meddelanden till ditt Android-projekt
Push Notification är en fantastisk lättviktsmekanism för att åtgärda problemet och den här artikeln visar hur du implementerar det i dina egna projekt.
Vi ska använda IBMs Bluemix för att integrera push-meddelanden i våra appar. Det finns massor av andra leverantörer som kommer att ge dig en SDK för att integrera i projektet och utveckla det. Men det finns ett par viktiga skäl till varför jag väljer Bluemix framför andra.
- First Bluemix erbjuder massor av fler funktioner som jag kan lägga till i ett befintligt projekt utan krångel (push-meddelanden råkar vara bara ett av dessa erbjudanden). Deras konsol gör det enkelt att hantera alla deras integrationer.
- För det andra, om du är nybörjare och provar någon annan SDK kommer du troligen att fastna någonstans (jag gjorde det). Med Bluemix är det knappast fallet eftersom teoridokumentation och guider är så bra.
- För det tredje och ett av de viktigaste skälen till att välja Bluemix är att även om det är en betaltjänst kommer den med en 30 dagars provperiod så att du kan spela med alla deras erbjudanden innan du bestämmer dig för att satsa på deras plattform och investera i den. Det är alltid bra att testa några saker innan du investerar i det.
- För det fjärde och detta är mer som brownie-pekar på IBM, det finns en känsla av förtrogenhet och förtroende som utvecklare har associerat med IBM som företag. De har gjort ett fantastiskt arbete inom teknikområdet ganska länge nu och de kan sina saker väl, så du kan hoppa fartyget utan några bekymmer
För att fortsätta med den här lektionen måste vi först se till att vi alla är på samma sida så innan du dyker längre in i det här inlägget, se till att du har registrerat dig för Bluemix (om du inte redan har gjort det) och loggat in till konsolen.
Den här artikeln är fokuserad på Android, så jag skulle anta att du är lite förtrogen med att skriva appar för Android. Okej, låt oss börja.
Steg 1: Den första installationen
Öppna ett befintligt projekt i Android Studio där du vill integrera Push Notifications. Du kan också gå vidare och skapa ett nytt projekt bara för att testa saker. Om du öppnar ett befintligt projekt, se till att du byter till en ny filial innan du gör några tillägg till ditt projekt. När du är klar med detta steg, bygg projektet och distribuera det på din telefon/emulator. Detta kommer bara att bevisa att allt fungerar som förväntat och att vi är igång.
Steg 2: Hämta din Firebase Cloud Messaging API-nyckel
Bluemix använder Google Cloud Messaging för att skicka nedströms push-meddelanden till din app. Genom att ta över ditt Firebase Cloud Messaging-projekt (GCM) tar det bara ett stort krångel från dina händer med att ställa in och konfigurera saker åt dig. Gå över till console.firebase.google.com och logga in med ett Google-konto och följ sedan stegen nedan
- Skapa ett nytt projekt.
- Ge det ett namn.
- När det är konfigurerat, gå till Projektinställningar.
- Klicka på Cloud Messaging.
- kopiera Server API-nyckel och avsändar ID som visas i skärmdumpen nedan.
- När stegen ovan är slutförda, fortsätt vidare och lägg till Firebase i ditt Android-projekt. Det här steget innebär att ange ditt projekts paketnamn och andra detaljer och sedan ladda ner "google-tjänster.json" fil.

OBS: Det är viktigt att du slutför detta steg korrekt för att de kommande stegen ska fungera korrekt. Se till att din app är konfigurerad och att filen "google-services.json" är placerad i ditt projekt.
Steg 1: Registrera appen

Steg 2: Ladda ner konfigurationsfil

Steg 3: Lägg till Firebase SDK

Se till att du kör ditt projekt i detta skede bara för att se om allt fungerar som det ska. Om allt är bra för att gå vidare till nästa steg.
Steg 3: Konfigurera en Bluemix-tjänst
- Gå över till din Bluemix-konsol.
- Öppna din Bluemix-katalog och klicka sedan på IBM Push Notifications för Bluemix-tjänstinstans som du har skapat.
- Klicka på Hantera och gå sedan till Konfigurera.
- Välj Mobil.
- Ange nu inloggningsuppgifterna du just kopierade i föregående steg här. Uppdatera GCM/FCM Tryck på fliken Inloggningsuppgifter med Avsändar-ID/Projektnummer och API-nyckel.
- Hit Spara.
Steg 4: Skicka en push!
- Okej, vi är nästan klara. Distribuera din app på din telefon/emulator och gå nu över till din konsol.
- Välj Skicka meddelande.
- Konfigurera ditt meddelande i det här avsnittet.

- När allt är klart, tryck Skicka och gå över till din enhet.

Bluemix har några ytterligare alternativ för Android enligt deras dokumentation. Du kan konfigurera din avisering i stor utsträckning. Här är alternativen (direkt från deras dokument):
- Komprimera nyckel: Komprimeringsnycklar bifogas aviseringar. Om flera aviseringar kommer sekventiellt med samma komprimeringsnyckel när enheten är offline, komprimeras de. När en enhet kommer online tar den emot meddelanden från FCM/GCM-servern och visar endast det senaste meddelandet med samma komprimeringsnyckel. Om komprimeringsnyckeln inte är inställd, lagras både de nya och gamla meddelandena för framtida leverans.
- Ljud: Indikerar ett ljudklipp som ska spelas upp vid mottagandet av ett meddelande. Stöder standard eller namnet på en ljudresurs som ingår i appen.
- ikon: Ange namnet på ikonen som ska visas för meddelandet. Se till att du har packat ikonen i
res/drawable
mapp med klientapplikationen.
- Prioritet: Anger alternativen för att tilldela leveransprioritet till meddelanden.
- En prioritet
high
ormax
kommer att resultera i heads-up-meddelande.
- En prioritet
low
ordefault
kommer inte att öppna nätverksanslutningar på en sovande enhet.
- En prioritet
min
kommer att vara ett tyst meddelande.
- En prioritet
- Synlighet: Du kan välja att ställa in alternativet för aviseringssynlighet till antingen
public
orprivate
.- Du har nu möjlighet
private
alternativet begränsar offentlig visning och du kan välja att aktivera det om din enhet är säker med en nål eller ett mönster och aviseringsinställningen är inställd på Dölj känsligt meddelandeinnehåll. När sikten är inställd somprivate
, enredact
fältet måste nämnas. Endast innehållet som anges iredact
fältet kommer att visas på en säkert låst skärm på enheten.
- Du har nu möjlighet
public
alternativet skulle göra att meddelandena kan läsas fritt.
- Du har nu möjlighet
- Tid att leva: Detta värde ställs in i sekunder. Om denna parameter inte anges lagrar FCM/GCM-servern meddelandet i fyra veckor och kommer att försöka leverera. Giltigheten upphör efter fyra veckor. Det möjliga värdeområdet är från 0 till 2,419,200 XNUMX XNUMX sekunder.
- Fördröjning vid tomgång: Du kan ställa in detta på något av följande värden:
True
instruerar FCM/GCM-servern att inte leverera meddelandet om enheten är inaktiv.
False
säkerställer leverans av meddelanden även om enheten är inaktiv.
- Synkronisera: Genom att ställa in detta alternativ till
true
, aviseringar på alla dina registrerade enheter synkroniseras. Om användaren med ett användarnamn har flera enheter med samma applikation installerad, säkerställer läsning av meddelandet på en enhet radering av meddelanden i de andra enheterna. Du måste se till att du är registrerad med Push Notifications-tjänsten med användar-ID för att det här alternativet ska fungera.
- Ytterligare nyttolast: Anger de anpassade nyttolastvärdena för dina aviseringar.
- Expanderbar avisering: Detta ger kunderna ett alternativ att utöka ett meddelande med mer information, medan ett grundläggande meddelande skulle vara synligt när meddelandet är kollapsat. Följande alternativ stöds:
- Storbildsaviseringar: Du kan välja att inkludera en bild när aviseringen utökas. Se till att du anger en titeltext och URL för bilden.
- Stora textaviseringar: Du kan välja att inkludera ytterligare text med en titel. Se till att informationen om det stora textmeddelandet och rubriken tillhandahålls.
- Aviseringar om inkorgsstil: Du kan skicka meddelandet formaterat som ett inkorgsmeddelande. Ange en rubriktext och skriv meddelandet i rader.
Slutsats
Det är allt! precis som att du ställer in push-notiser i din app i fyra enkla steg utan att behöva gå igenom besväret med att skaffa en server och krångla till onödig komplexitet. Så enkelt blir det att utveckla med IBM Bluemix. Pushnotiser är bara ett av deras erbjudanden. De erbjuder databaser och Watson API:er bland många. Och eftersom Bluemix-konsolen knyter ihop allt behöver du inte fortsätta att blanda mellan tjänsterna. Allt är under ett tak. Jag hoppas att den här artikeln har hjälpt dig att lära dig något nytt och om du är intresserad av att lära dig fler saker som dessa, skulle jag starkt uppmuntra dig att prova Bluemix.
marina
Du har delat med dig av viktig information här. Kul att läsa din blogg.
Suraj Padmasali
Trevlig steg för steg guide, lätt att förstå! Det hjälpte mig mycket!
emma
Trevlig artikel. Älskar dina tips som du har gett steg för steg.