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
- 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.
- 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 .
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
SetupPushNotification
zu 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 SetupPushNotification
auszufü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);
- Wenn sich der Benutzer an diesem Punkt für Benachrichtigungen angemeldet hat, können wir die PlayFab-API RegisterForIOSPushNotification aufrufen.
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.