Självstudie: Konfigurera din iOS-app så att den fungerar med Azure Notification Hubs

Den här självstudien visar hur du konfigurerar Azure Notification Hubs och konfigurerar autentiseringsuppgifter för att skicka meddelanden till en iOS-enhet via Apple Push Notification Service (APNS).

Att köra den här självstudien är en förutsättning för de efterföljande självstudierna för Objective C och Swift iOS och omfattar följande steg:

  • Generera filen för certifikatsigneringsbegäran.
  • Be din app om push-meddelanden.
  • Skapa en etableringsprofil för appen.
  • Skapa en meddelandehubb.
  • Konfigurera meddelandehubben med APNS-information.

Förutsättningar

Du måste ha ett aktivt Azure-konto för att slutföra den här självstudiekursen. Om du inte har något konto kan skapa du ett kostnadsfritt utvärderingskonto på bara några minuter. Mer information finns i Kostnadsfri utvärderingsversion av Azure.

Du behöver också följande:

  • Ett aktivt Apple Developer-konto .
  • En Mac som kör Xcode, tillsammans med ett giltigt utvecklarcertifikat installerat i nyckelringen.
  • En i Telefon eller iPad som kör iOS version 10 eller senare.
  • Din fysiska enhet som är registrerad i Apple-portalen och som är associerad med ditt certifikat.

Läs översikten över Azure Notification Hubs om du inte är bekant med tjänsten.

Kommentar

Meddelandehubben konfigureras för att endast använda autentiseringsläget sandbox-miljö. Du bör inte använda det här autentiseringsläget för produktionsarbetsbelastningar.

Generera begärandefilen för certifikatsignering

APNS (Apple Push Notification Service) använder sig av certifikat för att autentisera dina push-meddelanden. Följ de här instruktionerna för att skapa nödvändiga push-certifikat för att skicka och ta emot meddelanden. Mer information om de här koncepten finns i den officiella Apple Push Notification Service-dokumentationen.

Generera CSR-filen (Certificate Signing Request), som Apple använder för att generera ett signerat push-certifikat:

  1. Kör Nyckelhanteraren på din Mac. Den kan öppnas från mappen Verktyg eller mappen Annan på Startrutan.

  2. Välj Nyckelringsåtkomst, expandera Certifikatassistenten och välj sedan Begär ett certifikat från en certifikatutfärdare.

    Screenshot that highlights the Request a Certificate from a Certificate Authority menu option.

    Kommentar

    Som standard väljer Nyckelringsåtkomst det första objektet i listan. Detta kan vara ett problem om du är i kategorin Certifikat och Apple Worldwide Developer Relations Certification Authority inte är det första objektet i listan. Kontrollera att du har ett objekt som inte är nyckelobjekt eller att nyckeln för Apple Worldwide Developer Relations Certification Authority har valts innan du genererar CSR (certifikatsigneringsbegäran).

  3. Välj användarens e-postadress, ange värdet Eget namn, se till att du anger Sparad på disk och välj sedan Fortsätt. Lämna CA:s e-postadress tom eftersom den inte krävs.

    Required certificate information

  4. Ange ett namn för CSR-filen i Spara som, välj platsen i Var och välj sedan Spara.

    Choose file name

    Den här åtgärden sparar CSR-filen på den valda platsen. Standardplatsen är Desktop. Kom ihåg den plats du valde för filen.

Registrera sedan din app med Apple, aktivera push-meddelanden och ladda upp den exporterade CSR:en för att skapa ett push-certifikat.

Registrera din app för push-meddelanden

Om du vill skicka push-meddelanden till en iOS-app registrerar du ditt program med Apple och registrerar dig för push-meddelanden.

  1. Om du inte redan har registrerat din app bläddrar du till iOS-etableringsportalen i Apple Developer Center. Logga in på portalen med ditt Apple-ID och välj Identifierare. Välj + sedan för att registrera en ny app.

    App IDs page

  2. På skärmen Registrera en ny identifierare väljer du alternativknappen App-ID:n. Välj sedan Fortsätt.

    Register new ID page

  3. Uppdatera följande tre värden för din nya app och välj sedan Fortsätt:

    • Beskrivning: Ange ett beskrivande namn för din app.

    • Paket-ID: Ange ett paket-ID för formuläret Organisationsidentifierare.Produktnamn enligt beskrivningen i appdistributionsguiden. Värdena Organisationsidentifierare och Produktnamn måste matcha organisationsidentifieraren och produktnamnet som du använder när du skapar Xcode-projektet. I följande skärmbild används NotificationHubs-värdet som organisationsidentifierare och getstarted-värdet används som produktnamn. Kontrollera att värdet för Paketidentifierare matchar värdet i Xcode-projektet, så att Xcode använder rätt publiceringsprofil.

      Register app ID

    • Push-meddelanden: Kontrollera alternativet Push-meddelanden i avsnittet Funktioner .

      Register new app ID

      Den här åtgärden genererar ditt app-ID och begär att du bekräftar informationen. Välj Fortsätt och välj sedan Registrera för att bekräfta det nya app-ID:t.

      Confirm new App ID

      När du har valt Registrera visas det nya app-ID:t som ett radobjekt på sidan Certifikat, Identifierare och profiler.

  4. På sidan Certifikat, Identifierare och profiler under Identifierare letar du upp det radobjekt för app-ID som du nyss skapade och väljer dess rad för att visa skärmen Redigera konfiguration av app-ID.

Skapa ett certifikat för Notification Hubs

Kommentar

Med lanseringen av iOS 13 kan du bara ta emot tysta meddelanden med hjälp av tokenbaserad autentisering. Om du använder certifikatbaserad autentisering för dina APNS-autentiseringsuppgifter måste du växla till att använda tokenbaserad autentisering.

Ett certifikat krävs för att meddelandehubben ska fungera med APNS. Detta kan göras på något av två sätt:

  • Skapa en .p12-fil som kan laddas upp direkt till Notification Hubs.

  • Skapa en .p8-fil som kan användas för tokenbaserad autentisering (den nyare metoden).

Det andra alternativet har ett antal fördelar jämfört med att använda certifikat, vilket beskrivs i tokenbaserad autentisering (HTTP/2) för APNS. Steg tillhandahålls dock för båda metoderna.

Alternativ 1: Skapa ett .p12-pushcertifikat som kan laddas upp direkt till Notification Hubs

  1. Rulla ned till det markerade alternativet Push-meddelanden och välj sedan Konfigurera för att skapa certifikatet.

    App ID

  2. Fönstret Apple Push Notification Service SSL Certificates (SSL-certifikat för Apple Push Notification Service) visas. Välj knappen Skapa certifikat i avsnittet Utvecklings-SSL-certifikat.

    Create certificate

    Skärmen Skapa ett nytt certifikat visas.

    Kommentar

    Den här guiden använder ett utvecklarcertifikat. Du använder samma process när du registrerar ett driftscertifikat. Kontrollera att du använder samma certifikattyp när du skickar meddelanden.

  3. Välj Välj fil, bläddra till den plats där du sparade CSR-filen från den första uppgiften och dubbelklicka sedan på certifikatnamnet för att läsa in den. Välj sedan Fortsätt.

  4. När portalen har skapat certifikatet väljer du knappen Ladda ned . Spara certifikatet och kom ihåg den plats där det sparas.

    Download certificate

    Certifikatet laddas ned och sparas i mappen Nedladdningar .

    Locate certificate file

    Som standard heter det nedladdade utvecklingscertifikatet aps_development.cer.

  5. Dubbelklicka på det hämtade push-certifikatet aps_development.cer. Den här åtgärden installerar det nya certifikatet i nyckelringen enligt följande bild:

    Keychain access

    Även om namnet i certifikatet kan vara annorlunda, kommer namnet att prefixas med Apple Development iOS Push Services.

  6. I nyckelhanteraren högerklickar du på det nya push-certifikatet som du skapade i Certifikat-kategorin. Välj Exportera, namnge filen, välj formatet .p12 och välj sedan Spara.

    Export certificate

    Du kan välja att skydda certifikatet med ett lösenord, men det är valfritt. Klicka på OK om du vill kringgå skapande av lösenord. Anteckna filnamnet och platsen dit .p12-certifikatet exporterats. De används för att aktivera autentisering med APNS.

    Kommentar

    Filnamnet och platsen för .p12 kan skilja sig från vad som visas i den här självstudien.

Alternativ 2: Skapa ett .p8-certifikat som kan användas för tokenbaserad autentisering

  1. Anteckna följande information:

    • App-ID-prefix (det här är ett team-ID)
    • Paket-ID
  2. Gå tillbaka till Certifikat, Identifierare och profiler och klicka på Nycklar. Om du redan har en nyckel konfigurerad för APNS kan du återanvända det .p8-certifikat som du laddade ned direkt efter att det skapades. I så fall kan du ignorera steg 3 till och med 5.

  3. + Klicka på knappen (eller knappen Skapa en nyckel) för att skapa en ny nyckel.

  4. Ange ett lämpligt nyckelnamnsvärde , kontrollera alternativet Apple Push Notifications Service (APNS) och klicka sedan på Fortsätt, följt av Registrera på nästa skärm.

  5. Klicka på Ladda ned och flytta sedan .p8-filen (prefixet med AuthKey_) till en säker lokal katalog och klicka sedan på Klar.

    Viktigt!

    Se till att hålla .p8-filen på en säker plats (och spara en säkerhetskopia). När du har laddat ned din nyckel kan den inte laddas ned igen. serverkopian tas bort.

  6. Nycklar klickar du på den nyckel som du nyss skapade (eller en befintlig nyckel om du har valt att använda den i stället).

  7. Anteckna nyckel-ID-värdet.

  8. Öppna ditt .p8-certifikat i ett lämpligt program, till exempel Visual Studio Code, och anteckna nyckelvärdet. Det här är värdet mellan -----BEGIN PRIVATE KEY----- och -----END PRIVATE KEY----- .

    -----BEGIN PRIVATE KEY-----
    <key_value>
    -----END PRIVATE KEY-----
    

    Det här är det tokenvärde som ska användas senare för att konfigurera Notification Hubs.

I slutet av dessa steg bör du ha följande information för användning senare i Konfigurera din meddelandehubb med APNS-information:

  • Team-ID (se steg 1)
  • Paket-ID (se steg 1)
  • Nyckel-ID (se steg 7)
  • Tokenvärde (nyckelvärdet .p8, se steg 8)

Skapa en etableringsprofil

  1. Gå tillbaka till iOS-etableringsportalen, välj Certifikat, Identifierare och profiler, välj Profiler på den vänstra menyn och välj + sedan för att skapa en ny profil. Skärmen Registrera en ny etableringsprofil visas.

  2. Välj iOS App Development under Utveckling som etableringsprofiltyp och välj sedan Fortsätt.

    Provisioning profile list

  3. Välj sedan det app-ID som du skapade i listrutan App-ID och välj sedan Fortsätt.

    Select App ID

  4. I fönstret Välj certifikat väljer du det utvecklingscertifikat som du använder för kodsignering och väljer Fortsätt. Det här certifikatet är inte det push-certifikat som du skapade. Om det inte finns någon måste du skapa den. Om det finns ett certifikat går du vidare till nästa steg. Så här skapar du ett utvecklingscertifikat om det inte finns något:

    1. Om det inte finns några tillgängliga certifikat väljer du Skapa certifikat.
    2. I avsnittet Programvara väljer du Apple Development. Välj sedan Fortsätt.
    3. På skärmen Skapa ett nytt certifikat väljer du Välj fil.
    4. Bläddra till certifikatet för certifikatsigneringsbegäran som du skapade tidigare, välj det och välj sedan Öppna.
    5. Välj Fortsätt.
    6. Ladda ned utvecklingscertifikatet och kom ihåg platsen där det sparas.
  5. Gå tillbaka till sidan Certifikat, Identifierare och profiler , välj Profiler på den vänstra menyn och välj + sedan för att skapa en ny profil. Skärmen Registrera en ny etableringsprofil visas.

  6. I fönstret Välj certifikat väljer du det utvecklingscertifikat som du nyss skapade. Välj sedan Fortsätt.

  7. Välj sedan de enheter som ska användas för testning och välj Fortsätt.

  8. Välj slutligen ett namn för profilen i Etableringsprofilnamn och välj sedan Generera.

    Choose provisioning profile name

  9. När den nya etableringsprofilen skapas väljer du Ladda ned. Kom ihåg den plats där den sparas.

  10. Bläddra till platsen för etableringsprofilen och dubbelklicka sedan på den för att installera den på Xcode-utvecklingsdatorn.

Skapa en meddelandehubb

I det här avsnittet skapar du en meddelandehubb och konfigurerar autentisering med APNS med hjälp av antingen push-certifikatet .p12 eller tokenbaserad autentisering. Om du vill använda en meddelandehubb som du redan har skapat kan du gå vidare till steg 5.

  1. Logga in på Azure-portalen.

  2. Välj Alla tjänster på den vänstra menyn och välj sedan Notification Hubs i avsnittet Mobil . Välj stjärnikonen bredvid tjänstnamnet för att lägga till tjänsten i avsnittet FAVORITER på den vänstra menyn. När du har lagt till Notification Hubs i FAVORITER väljer du det.

    Azure portal

  3. På sidan Notification Hubs väljer du Lägg till i verktygsfältet.

    Add toolbar button

  4. Gör följande på sidan Notification Hubs :

    1. Ange ett namn i Notification Hub.
    2. Ange ett namn i Skapa ett nytt namnområde. Ett namnområde innehåller en eller flera meddelandehubbar.
    3. Välj ett värde i listrutan Plats . Det här värdet anger den plats där du vill skapa meddelandehubben.
    4. Välj en befintlig resursgrupp i Resursgrupp eller skapa en ny resursgrupp.
    5. Välj Skapa.

    Set properties

  5. Välj Meddelanden (klockikonen) och välj sedan Gå till resurs. Du kan också uppdatera listan på sidan Notification Hubs och välja din hubb.

    Portal notifications

  6. Välj Åtkomstprinciper i listan. Observera att de två anslutningssträng är tillgängliga för dig. Du behöver dem senare för att hantera push-meddelanden.

    Viktigt!

    Använd inte principen DefaultFullSharedAccessSignature i ditt program. Detta är avsett att endast användas i din serverdel.

    Connection strings

Konfigurera meddelandehubben med APNS-information

Under Notification Services väljer du Apple (APNS) och följer sedan lämpliga steg baserat på den metod du valde tidigare i avsnittet Skapa ett certifikat för Notification Hubs .

Kommentar

Använd endast Produktion för programläge om du vill skicka push-meddelanden till användare som har köpt din app från butiken.

Alternativ 1: Använd ett .p12-pushcertifikat

  1. Välj Certifikat.

  2. Välj filikonen.

  3. Välj den .p12-fil som du exporterade tidigare och välj sedan Öppna.

  4. Ange rätt lösenord om det behövs.

  5. Välj Sandbox-läge.

    Configure

  6. Välj Spara.

Alternativ 2: Använd tokenbaserad autentisering

  1. Välj Token.

  2. Ange följande värden som du hämtade tidigare:

    • Nyckel-ID
    • Paket-ID
    • Team-ID
    • Token
  3. Välj sandbox-miljö

  4. Välj Spara.

Nu har du konfigurerat meddelandehubben med APNS. Du har också de anslutningssträng som krävs för att registrera din app och skicka push-meddelanden.

Nästa steg

I den här självstudien skapade och konfigurerade du en meddelandehubb i Azure och konfigurerade den för att tillåta att meddelanden skickas till ditt program via Apple Push Notification Service (APNS). Sedan skapar vi ett exempelprogram för iOS och integrerar Azure Notifications Hubs SDK så att det kan ta emot push-meddelanden som skickas via Azure-portalen. Gå vidare till följande självstudie baserat på valfritt språk: