Freigeben über


Pushbenachrichtigungen für iOS

Voraussetzungen

In diesem Tutorial wird davon ausgegangen, dass Sie mit den Konzepten vertraut sind, die in unserem Schnellstart zu Pushbenachrichtigungen behandelt werden.

Konfigurieren des Apple-Benachrichtigungskanals

  1. Stellen Sie sicher, dass Sie über ein aktives IO-Entwicklungs- (APNS_SANDBOX) oder Produktionszertifikat (APNS) verfügen. Falls nicht, erstellen Sie im Apple-Entwicklerportal unter Zertifikate, Identitäten und Profile eins.

Apple-APNS-Zertifikat anfordern

  1. Exportieren Sie das Zertifikat Ihrer Wahl (Entwicklung oder Produktion):
    • Laden Sie zunächst eine Kopie Ihres Zertifikats aus dem Apple-Entwicklerportal unter Zertifikate, Identitäten und Profile herunter. Dadurch wird eine .cer-Datei erstellt.

    • Öffnen Sie das Zertifikat, und installieren Sie es in Ihrem Schlüsselbundzugriff.

    • Zeigen Sie Ihr installiertes Zertifikat unter der Unterkategorie Zertifikate an.

    • Exportieren Sie Ihr Schlüsselbundzugriffszertifikat in das P12-Format .

      Apple export Keychain Access Certificate

    • Konvertieren Sie die P12-Datei mithilfe des folgenden Konsolenbefehls in eine PEM-Datei :

      • openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts
    • Sobald Sie die PEM-Datei haben, können Sie sie direkt über den PlayFab-Spiel-Manager unter den Einstellungen > Ihres TitelsPushbenachrichtigungen hochladen.

    • Alternativ können Sie den unten stehenden Generator verwenden, um eine JSON-Anforderung für SetupPushNotificationzu erstellen.

JSON-Anforderungsgenerator für SetupPushNotification

Der Anforderungsgenerator verwendet die folgenden Informationen, um eine JSON-Anforderung zu erstellen:

  • Plattform : Verwenden Sie einen der folgenden Werte: APNS (iOS), APNS_SANDBOX (iOS), GCM (Android)
  • Anwendungsname : Geben Sie den Namen der Anwendung ein, die die Nachricht sendet.

Notiz

Anwendungsnamen dürfen nur aus ASCII-Groß- und Kleinbuchstaben, Zahlen, Unterstrichen, Bindestrichen und Punkten bestehen und dürfen zwischen 1 und 256 Zeichen lang sein. Sie müssen aucheindeutig sein.

  • PEM-Zertifikat/API-Schlüssel : Verwenden Sie für iOS (APNS oder APNS_SANDBOX) den vollständigen Inhalt Ihrer PEM-Datei.

Nachdem der JSON-Code generiert wurde, verwenden Sie ihn, um einen Aufruf von SetupPushNotificationauszuführen. Die Antwort sollte wie im folgenden Beispiel aussehen.

{
    “code” : 200,
    “status” : “OK”,
    “data” :
        {
             “ARN” : “arn:*******/GCM/your_game_name”
        }
}

Glückwunsch! Sie haben nun den iOS-Messagingkanal Ihres Titels konfiguriert.

Registrieren Ihres iOS-Clients für Push

Für iOS müssen Sie sich auf das Standardverhalten der iOS-Verarbeitung von Pushbenachrichtigungen verlassen, da PlayFab derzeit keine native Implementierung in Unity bietet.

Standardmäßig werden Benachrichtigungen, die empfangen werden, während sich das Spiel im Hintergrund befindet, an den Benachrichtigungsbereich weitergeleitet.

Alternativ werden Benachrichtigungen, die empfangen werden, während das Spiel die aktive App ist, im Hintergrund empfangen und nicht im Benachrichtigungsbereich angezeigt.

  • Der folgende Code aus dem Beispiel wird auf client Start()ausgeführt.
// must be called before trying to obtain the push token
// an asynchronous call with no callback into native iOS code that takes a moment or two before
// the token is available. (so spin and wait, or call this one early on)
// this will always return null if your app is not signed
UnityEngine.iOS.NotificationServices.RegisterForNotifications(UnityEngine.iOS.NotificationType.Alert | UnityEngine.iOS.NotificationType.Badge | UnityEngine.iOS.NotificationType.Sound, true);
byte[] token = UnityEngine.iOS.NotificationServices.deviceToken;
if(token != null)
{
    RegisterForIOSPushNotificationRequest request = new RegisterForIOSPushNotificationRequest();
    request.DeviceToken = System.BitConverter.ToString(token).Replace("-", "").ToLower();
    PlayFabClientAPI.RegisterForIOSPushNotification(request, (RegisterForIOSPushNotificationResult result) =>
    {
        Debug.Log("Push Registration Successful");
    }, OnPlayFabError);
}
else
{
    Debug.Log("Push Token was null!");
}
  • Wenn keine Fehler aufgetreten sind, herzlichen Glückwunsch! Ihr iOS-Client wurde erfolgreich mit dem Apple-Benachrichtigungskanal Ihres Titels verknüpft.

Problembehandlung bei iOS

  • Vergewissern Sie sich, dass Sie über gültige PEM-Dateien verfügen.
  • Stellen Sie sicher, dass dasselbe Zertifikat, das in SetupPushNotification verwendet wird, von XCode zum Signieren Ihrer App verwendet wird.
  • Vergewissern Sie sich, dass die Pushbenachrichtigungs-API für Ihren Build in XCode aktiviert ist.
  • Vergewissern Sie sich, dass Ihr Signaturzertifikat mit der PlayFab-Plattform übereinstimmt. Verwenden Sie OverwriteOldARN = true beim Ausführen von SetupPushNotification, um den Kanal erneut an eine neue Plattform zu binden. Nur eine iOS-Umgebung (APNS oder APNS_SANDBOX) kann für einen Titel zu einem bestimmten Zeitpunkt aktiv sein.

Zusätzlicher Support

Wenn Sie Hilfe, z. B. Fehler und verwandte Fragen benötigen, senden Sie uns eine Zeile in unseren Foren.

Notiz

Derzeit unterstützen wir unsere Dienste nur für den in diesem Dokument beschriebenen Standardflow. Wenn Ihr Team nach zusätzlichen Funktionen mit anderen gängigen Push-Diensten oder Plug-Ins sucht, teilen Sie uns dies bitte mit! Wir freuen uns, Feedback von unserer Entwicklercommunity zu erhalten.