In diesem Leitfaden erfahren Sie, wie Sie das Google Mobile Ads SDK verwenden, um Anzeigen aus Tapjoy mithilfe der Vermittlung zu laden und einzublenden. Dabei werden sowohl Bidding- als auch abfolgebasierte Integrationen berücksichtigt. Sie erfahren, wie Sie Tapjoy der Vermittlungskonfiguration eines Anzeigenblocks hinzufügen und das Tapjoy SDK und den Adapter in eine Unity-App einbinden.
Unterstützte Integrationen und Anzeigenformate
Der AdMob -Vermittlungsadapter für Tapjoy hat folgende Funktionen:
Integration | |
---|---|
Gebote | |
Wasserfall | |
Formate | |
Banner | |
Interstitial | |
Verfügbar |
Voraussetzungen
- Unity 4 oder höher
- Das aktuelle Google Mobile Ads SDK
- [Für Gebote]: Vermittlungs-Plug-in für Google Mobile Ads für Tapjoy 2.3.0 oder höher (aktuelle Version empfohlen)
- Für die Bereitstellung unter Android
- Android API-Level 19 oder höher
- Für die Bereitstellung unter iOS
- iOS-Bereitstellungsziel 12.0 oder höher
- Ein funktionierendes Unity-Projekt, das mit dem Google Mobile Ads SDK konfiguriert wurde. Weitere Informationen finden Sie unter Erste Schritte.
- Arbeiten Sie den Startleitfaden zur Vermittlung ab.
Schritt 1: Konfigurationen in der Tapjoy-Benutzeroberfläche einrichten
Registrieren Sie sich oder melden Sie sich in Ihrem Tapjoy-Dashboard an.
App hinzufügen
Fügen Sie Ihre App dem Tapjoy-Dashboard hinzu, indem Sie oben rechts in der Liste der Apps auf die Schaltfläche App hinzufügen klicken. Sie werden dann aufgefordert, Details zu Ihrer Anwendung einzugeben.
Füllen Sie das Formular aus und klicken Sie auf die Schaltfläche Create Now (Jetzt erstellen), um Ihre App dem Tapjoy-Dashboard hinzuzufügen.
Sie können die Integrationsschritte von Tapjoy überspringen und mit dem Erstellen von Placements zur AdMob Vermittlung fortfahren.
Wenn Ihre App beide Plattformen unterstützt, wählen Sie als Plattform Beide aus.
Android
iOS
Placement, virtuelle Währung und Inhalte
Placement
Rufen Sie Monetarisierung > Placements auf und klicken Sie oben rechts auf die Schaltfläche Placement erstellen. Auch wenn Sie bereits ein Placement haben, sollten Sie ein neues für AdMob erstellen, damit es separat erfasst und in Berichten dargestellt werden kann.
Geben Sie unter Name einen Namen für das Placement ein, klicken Sie das Kästchen Vermittlung an und wählen Sie in der Drop-down-Liste AdMob aus. Klicken Sie abschließend auf Erstellen.
Der hier eingegebene Placement-Name wird verwendet, um IhrenAdMob Anzeigenblock für die Vermittlung im nächsten Abschnitt einzurichten. In diesem Beispiel wurde „AdMob Vermittlung“ verwendet, aber Sie können Ihr Placement beliebig benennen.
Virtuelles Geld
Rufe Monetarisierung > Virtuelle Währung auf und klicke oben rechts auf die Schaltfläche Virtuelle Währung erstellen.
Füllen Sie das Formular aus und klicken Sie auf Jetzt erstellen. Verwenden Sie NO_CALLBACK als Callback-URL. Dadurch wird sichergestellt, dass das Tapjoy SDK unnötige Aufrufe an Ihren Server vermeidet.
Der Währungswert und -name werden nicht vom Tapjoy-Adapter weitergeleitet. Daher können Sie für den Währungsnamen und den Betrag auch allgemeine Werte auswählen.
Android
iOS
Inhalte
Rufe Monetarisierung > Inhalte erstellen auf, um Inhalte zu erstellen, die mit den Placements eingeblendet werden sollen.
Weitere Anleitungen zum Erstellen von Inhalten finden Sie auf dem Tab für Ihr bevorzugtes Anzeigenformat:
Gebote
Interstitial
Klicken Sie für den Inhalt Programmatisches Interstitial-Video auf die Schaltfläche Erstellen. Geben Sie einen Namen für den Inhalt an und wählen Sie Ihre Plattform aus. * {Android} * {iOS} Wählen Sie die zuvor erstellte virtuelle Währung als Virtuelle Währung aus. Wählen Sie das zuvor erstellte Interstitial-Placement aus. Wenn Sie fertig sind, klicken Sie unten auf die Schaltfläche Speichern, um Ihre Inhalte zu erstellen.Verfügbar
Klicken Sie für Programmatische Videoanzeigen mit Prämie auf die Schaltfläche Erstellen. * {Android} * {iOS} Wählen Sie die zuvor erstellte virtuelle Währung als Virtuelle Währung aus. Wählen Sie das zuvor erstellte Placement mit Prämie aus. Wenn Sie fertig sind, klicken Sie unten auf die Schaltfläche Speichern, um Ihre Inhalte zu erstellen.Wasserfall
Interstitial
Klicken Sie für den Content Interstitial-Video auf die Schaltfläche Erstellen. Geben Sie einen Namen für den Inhalt an und wählen Sie Ihre Plattform aus. * {Android} * {iOS} Wählen Sie die zuvor erstellte virtuelle Währung als Virtuelle Währung aus. Wählen Sie das zuvor erstellte Interstitial-Placement aus. Wenn Sie fertig sind, klicken Sie unten auf die Schaltfläche Speichern, um Ihre Inhalte zu erstellen.Verfügbar
Klicken Sie für Videoanzeigen mit Prämie auf die Schaltfläche Erstellen. Geben Sie einen Namen für den Inhalt an und wählen Sie Ihre Plattform aus. * {Android} * {iOS} Wählen Sie die zuvor erstellte virtuelle Währung als Virtuelle Währung aus. Wählen Sie das zuvor erstellte Placement mit Prämie aus. Wenn Sie fertig sind, klicken Sie unten auf die Schaltfläche Speichern, um Ihre Inhalte zu erstellen.SDK-Schlüssel finden
Neben dem Placement-Namen benötigen Sie auch den SDK-Schlüssel für die Einrichtung Ihres AdMob Anzeigenblocks.
Gehen Sie zu Einstellungen > App-Einstellungen. Den SDK-Schlüssel finden Sie in den App-Informationen auf dem Tab Anwendungsplattformen.
Android
iOS
Berichtsschlüssel suchen
Gebote
Dieser Schritt ist für die Verknüpfung von Geboten nicht erforderlich.
Wasserfall
Sie benötigen den Publisher-OAuth-Schlüssel und Ihren Vermittlungsschlüssel, um fortzufahren. Ihren Publisher-OAuth-Schlüssel finden Sie auf derselben Seite auf dem Tab API-Schlüssel.
Den Vermittlungsschlüssel finden Sie auf derselben Seite in der Spalte API-Schlüssel für die Berichterstellung auf dem Tab Vermittlungsschlüssel. Der Schlüssel heißt „AdMob“.
Testmodus aktivieren
Testanzeigen können im Tapjoy-Dashboard unter Einstellungen > App-Einstellungen > Testgeräte aktiviert werden. Erstellen Sie ein neues Testgerät mit der Werbe-ID des Geräts:
Android
Die Werbe-ID Ihres Geräts finden Sie in den Einstellungen unter Google > Werbung.
iOS
Um die Werbe-ID Ihres Geräts zu erhalten, fügen Sie den folgenden Code in Ihre App ein. Importieren Sie das AdSupport-Framework in Ihre App, bevor Sie den Code unten verwenden.
Swift
let advertisingId: String = ASIdentifierManager.shared().advertisingIdentifier.uuidString
print("Advertising ID: \(advertisingId)")
Objective-C
NSString *advertisingId = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
NSLog(@"Advertising ID: %@", advertisingId);
Ändern Sie als Nächstes den Inhalt, den Sie zuvor erstellt haben.
Wenn Sie den Content ändern möchten, rufen Sie Monetarisierung > Placements auf und klicken Sie auf den Tab Vom Nutzer initiiert. Wählen Sie als Nächstes das Drop-down-Menü für den Inhalt aus, den Sie bearbeiten möchten, und wählen Sie Bearbeiten aus.
Klicken Sie im Bereich Basic des Inhalts das Kästchen Only for Test Devices (Nur für Testgeräte) an. Klicken Sie dann unten auf der Seite auf Speichern. Fertig! Sie haben jetzt eine funktionierende Vermittlungsintegration mit Tapjoy.
Android
iOS
Schritt 2: Tapjoy-Nachfrage in der AdMob Benutzeroberfläche einrichten
Vermittlungseinstellungen für Anzeigenblöcke konfigurieren
Android
Eine Anleitung finden Sie in Schritt 2 der Anleitung für Android.
iOS
Eine Anleitung dazu finden Sie in Schritt 2 der Anleitung für iOS.
Tapjoy zur Liste der Werbepartner gemäß DSGVO und Bestimmungen von US-Bundesstaaten hinzufügen
Folgen Sie den Schritten unter DSGVO-Einstellungen und Einstellungen zu Bestimmungen von US-Bundesstaaten um Tapjoy in die Liste der Werbepartner gemäß DSGVO und US-Bundesstaaten auf der AdMob Benutzeroberfläche aufzunehmen.
Schritt 3: Tapjoy SDK und Adapter importieren
Laden Sie die neueste Version des Google Mobile Ads-Vermittlungs-Plug-ins für Tapjoy über den Downloadlink im Änderungsprotokoll herunter und extrahieren Sie GoogleMobileAdsTapjoyMediation.unitypackage
aus der ZIP-Datei.
Wählen Sie im Unity-Projekteditor Assets > Paket importieren > Benutzerdefiniertes Paket und dann die heruntergeladene Datei GoogleMobileAdsTapjoyMediation.unitypackage
aus. Prüfen Sie, ob alle Dateien ausgewählt sind, und klicken Sie auf Importieren.
Wählen Sie dann Assets > Play Services Resolver > Android Resolver > Force Resolver aus. Die Unity Play Services Resolver-Bibliothek führt die Abhängigkeitsauflösung von Grund auf aus und kopiert die deklarierten Abhängigkeiten in das Verzeichnis Assets/Plugins/Android
Ihrer Unity-Anwendung.
Schritt 4: Datenschutzeinstellungen im Tapjoy SDK implementieren
EU-Einwilligung und DSGVO
Gemäß der Richtlinie zur Einwilligung der Nutzer in der EU von Google müssen Sie dafür sorgen, dass Nutzern im Europäischen Wirtschaftsraum (EWR) bestimmte Informationen zur Verwendung von Gerätekennungen und personenbezogenen Daten offengelegt und deren Einwilligung von diesen eingeholt wird. Die Richtlinie entspricht den Anforderungen der EU-Datenschutzrichtlinie für elektronische Kommunikation und der EU-Datenschutz-Grundverordnung (DSGVO). Wenn Sie die Einwilligung einholen, müssen Sie jedes Werbenetzwerk in Ihrer Vermittlungskette angeben, das personenbezogene Daten erheben, empfangen oder nutzen kann, und Informationen zur Nutzung der einzelnen Werbenetzwerke angeben. Google ist derzeit nicht in der Lage, die Einwilligungsentscheidung des Nutzers automatisch an diese Netzwerke weiterzugeben.
Das Google Mobile Ads-Vermittlungs-Plug-in für Tapjoy Version 1.1.1 enthält die Methoden SetUserConsent()
und SubjectToGDPR()
. Der folgende Beispielcode zeigt, wie Einwilligungsinformationen an das Tapjoy SDK übergeben werden. Wenn Sie diese Methode aufrufen, sollten Sie dies tun, bevor Sie Anzeigen über das Google Mobile Ads SDK anfordern.
using GoogleMobileAds.Api.Mediation.Tapjoy;
// ...
Tapjoy.SetUserConsent("myUserConsent");
Darüber hinaus gibt es ein optionales Flag, mit dem angegeben werden kann, ob der Nutzer der DSGVO unterliegt.
Tapjoy.SubjectToGDPR(true);
Weitere Details und die Werte, die in der Methode angegeben werden können, finden Sie im Leitfaden zum Datenschutz von Tapjoy.
Datenschutzgesetze von US-Bundesstaaten
Datenschutzgesetze von US-Bundesstaaten schreiben Nutzern das Recht, dem „Verkauf“ ihrer „personenbezogenen Daten“ zu widersprechen (laut gesetzlicher Definition dieser Begriffe). Dazu muss auf der Startseite des „Verkäufers“ ein deutlich sichtbarer Link mit dem Text „Do Not Sell My Personal Information“ (Meine personenbezogenen Daten dürfen nicht verkauft werden) vorhanden sein. Im Leitfaden zur Einhaltung der Datenschutzgesetze von US-Bundesstaaten können Sie die eingeschränkte Datenverarbeitung für die Anzeigenbereitstellung durch Google aktivieren. Google kann diese Einstellung jedoch nicht auf jedes Werbenetzwerk in der Vermittlungskette anwenden. Daher müssen Sie jedes Werbenetzwerk in Ihrer Vermittlungskette angeben, das möglicherweise am Verkauf personenbezogener Daten beteiligt ist, und die Anleitungen der einzelnen Werbenetzwerke befolgen, um die Compliance sicherzustellen.
Das Google Mobile Ads-Vermittlungs-Plug-in für Tapjoy Version 2.9.1 enthält die Methode SetUSPrivacy()
. Der folgende Beispielcode zeigt, wie Informationen zur Einwilligung an das Tapjoy SDK übergeben werden. Der Aufruf dieser Methode wird empfohlen, bevor Anzeigen über das Google Mobile Ads SDK angefordert werden.
using GoogleMobileAds.Api.Mediation.Tapjoy;
// ...
Tapjoy.SetUSPrivacy("myUSPrivacyString");
Weitere Details und die Werte, die in der Methode angegeben werden können, finden Sie im Leitfaden zum Datenschutz von Tapjoy.
Schritt 5: Erforderlichen Code hinzufügen:
Android
Für die Tapjoy-Integration ist kein zusätzlicher Code erforderlich.
iOS
SKAdNetwork-Integration
Folgen Sie der Dokumentation von Tapjoy, um die SKAdNetwork-IDs in die Datei Info.plist
Ihres Projekts einzufügen.
Schritt 6: Implementierung testen
Testanzeigen aktivieren
Registrieren Sie Ihr Testgerät für AdMob und aktivieren Sie den Testmodus in der Tapjoy Benutzeroberfläche.
Testanzeigen überprüfen
Wenn Sie prüfen möchten, ob Sie Testanzeigen vonTapjoyerhalten, aktivieren Sie im Anzeigenprüftool mithilfe der Tapjoy (Bidding) and Tapjoy (Waterfall) Anzeigenquellen den Test für eine einzelne Anzeigenquelle.
Optionale Schritte
Android
Berechtigungen
Für eine optimale Leistung empfiehlt Tapjoy, der Datei AndroidManifest.xml
Ihrer App die folgenden optionalen Berechtigungen hinzuzufügen. Ändern Sie die Datei AndroidManifest.xml
im Ordner Assets/Plugins/Android/GoogleMobileAdsTapjoyMediation
und fügen Sie diese optionalen Berechtigungen hinzu:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
iOS
Keine zusätzlichen Schritte für die iOS-Integration.
Fehlercodes
Wenn der Adapter keine Anzeige von Tapjoy empfängt, können Publisher den zugrunde liegenden Fehler aus der Anzeigenantwort mit ResponseInfo
in den folgenden Klassen prüfen:
Android
Format | Klassenname |
---|---|
Interstitial | TapjoyAdapter |
Verfügbar | TapjoyMediationAdapter |
iOS
Format | Klassenname |
---|---|
Interstitial | GADMAdapterTapjoy |
Verfügbar | GADMAdapterTapjoy |
Im Folgenden sind die Codes und Begleitmeldungen aufgeführt, die vom Tapjoy-Adapter ausgegeben werden, wenn eine Anzeige nicht geladen werden kann:
Android
Fehlercode | Grund |
---|---|
101 | Die in der AdMob Benutzeroberfläche konfigurierten Tapjoy-Serverparameter fehlen oder sind ungültig. |
103 | Der Publisher muss Anzeigen mit einem Activity -Kontext anfordern. |
104 | Tapjoy SDK konnte nicht initialisiert werden. |
105 | Während der Videowiedergabe ist ein Tapjoy-Präsentationsfehler aufgetreten. |
106 | Das Tapjoy SDK kann nicht zwei Anzeigen für dieselbe Placement-ID gleichzeitig laden. |
107 | Die App hat keine nativen Anzeigen angefordert. |
108 | Für das Tapjoy SDK sind keine Anzeigeninhalte verfügbar. |
iOS
Fehlercode | Grund |
---|---|
101 | Die in der AdMob Benutzeroberfläche konfigurierten Tapjoy-Serverparameter fehlen oder sind ungültig. |
102 | Tapjoy SDK konnte nicht initialisiert werden. |
103 | Das angeforderte Anzeigenformat wird vom Tapjoy-Adapter nicht unterstützt. |
104 | Tapjoy hat einen erfolgreichen Lade-Callback gesendet, aber es waren keine Inhalte verfügbar. |
105 | Für diese Netzwerkkonfiguration wurde bereits eine Anzeige geladen. |
106 | Das Tapjoy SDK hat einen Callback für einen Videofehlerfehler zurückgegeben. |
Änderungsprotokoll des Unity-Mediations-Plug-ins von Tapjoy
Version 3.2.0
- Unterstützt Tapjoy Android-Adapterversion 13.2.1.0.
- Unterstützt Tapjoy iOS-Adapterversion 13.2.1.0.
- Das Unity-Plug-in wurde in Version 8.6.0 des Google Mobile Ads Unity-Plug-ins erstellt und getestet.
Version 3.1.1
- Unterstützt Android-Adapterversion 13.1.2.0 von Tapjoy.
- Unterstützt Tapjoy iOS-Adapterversion 13.1.2.0.
- Das Unity-Plug-in wurde für Google Mobile Ads in Version 8.4.1 entwickelt und getestet.
Version 3.1.0
- Unterstützt Tapjoy Android-Adapterversion 13.1.1.0.
- Unterstützt Tapjoy iOS-Adapterversion 13.1.1.0.
- Das Element wurde mit Version 8.4.0 des Google Mobile Ads Unity-Plug-ins entwickelt und getestet.
Version 3.0.0
- Adapterinhalt wurde nach
GoogleMobileAds/Mediation/Tapjoy/
verschoben. - Adapter-Namespace zur Verwendung von
GoogleMobileAds.Mediation.Tapjoy
überarbeitet. - Unterstützt Tapjoy Android-Adapterversion 13.0.1.0.
- Unterstützt Tapjoy iOS-Adapterversion 13.0.1.0.
- Das Unity-Plug-in wurde für Google Mobile Ads, Version 8.1.0, entwickelt und getestet.
Version 2.10.1
- Unterstützt Tapjoy Android-Adapterversion 12.11.1.0.
- Unterstützt Tapjoy iOS-Adapterversion 12.11.1.0.
- Das Unity-Plug-in wurde für Google Mobile Ads, Version 7.4.1, entwickelt und getestet.
Version 2.10.0
- Unterstützt Android-Adapterversion 12.11.0.0 von Tapjoy.
- Unterstützt die Version 12.11.0.0 des Tapjoy-Adapters für iOS.
- Das Unity-Plug-in wurde für Google Mobile Ads, Version 7.3.0, entwickelt und getestet.
Version 2.9.1
- Die Methode
Tapjoy.SetUSPrivacy(string)
wurde hinzugefügt. - Unterstützt Tapjoy Android-Adapterversion 12.10.0.1.
- Unterstützt Tapjoy iOS-Adapterversion 12.10.0.0.
- Das Unity-Plug-in wurde für Google Mobile Ads, Version 7.2.0, entwickelt und getestet.
Version 2.9.0
- Unterstützt Tapjoy Android-Adapterversion 12.10.0.1.
- Unterstützt Tapjoy iOS-Adapterversion 12.10.0.0.
- Das Unity-Plug-in wurde für Google Mobile Ads, Version 7.0.2. entwickelt und getestet.
Version 2.8.2
- Unterstützt Tapjoy Android-Adapterversion 12.9.1.0.
- Unterstützt Tapjoy iOS-Adapterversion 12.9.1.0.
- Das Unity-Plug-in wurde für Google Mobile Ads, Version 7.0.0, entwickelt und getestet.
Version 2.8.1
- Unterstützt Android-Adapterversion 12.9.0.0 von Tapjoy.
- Unterstützt Tapjoy iOS-Adapterversion 12.9.0.1.
- Das Unity-Plug-in wurde für Google Mobile Ads, Version 7.0.0, entwickelt und getestet.
Version 2.8.0
- Unterstützt Android-Adapterversion 12.9.0.0 von Tapjoy.
- Unterstützt Tapjoy iOS-Adapterversion 12.9.0.0.
Version 2.7.1
- Unterstützt Tapjoy Android-Adapterversion 12.8.1.0.
- Unterstützt Tapjoy iOS-Adapterversion 12.8.1.0.
Version 2.7.0
- Unterstützt Tapjoy Android-Adapterversion 12.8.0.1.
- Unterstützt Tapjoy iOS-Adapterversion 12.8.0.1.
Version 2.6.1
- Unterstützt Android-Adapterversion 12.7.1.0 von Tapjoy.
- Unterstützt Tapjoy iOS-Adapterversion 12.7.1.0.
Version 2.6.0
- Unterstützt Android-Adapterversion 12.7.0.0 von Tapjoy.
- Unterstützt Tapjoy iOS-Adapterversion 12.7.0.0.
Version 2.5.1
- Unterstützt Android-Adapterversion 12.6.1.0 von Tapjoy.
- Unterstützt Tapjoy iOS-Adapterversion 12.6.1.0.
Version 2.5.0
- Unterstützt Android-Adapterversion 12.6.0.0 von Tapjoy.
- Unterstützt Tapjoy iOS-Adapterversion 12.6.0.0.
Version 2.4.2
- Unterstützt Tapjoy Android-Adapterversion 12.4.2.1.
- Unterstützt Tapjoy iOS-Adapterversion 12.4.2.1.
Version 2.4.1
- Unterstützt Android-Adapterversion 12.4.2.0 von Tapjoy.
- Unterstützt Tapjoy iOS-Adapterversion 12.4.2.0.
Version 2.4.0
- Unterstützt Android-Adapterversion 12.4.1.0 von Tapjoy.
- Unterstützt Tapjoy iOS-Adapterversion 12.4.1.0.
Version 2.3.1
- Unterstützt Android-Adapterversion 12.3.3.0 von Tapjoy.
- Unterstützt Tapjoy iOS-Adapterversion 12.3.3.0.
Version 2.3.0
- Unterstützt die Android-Adapterversion 12.3.1.0 von Tapjoy.
- Unterstützt iOS-Adapterversion 12.3.1.0 von Tapjoy.
Version 2.2.0
- Das Plug-in wurde aktualisiert, um die neue Reward API zu unterstützen.
- Unterstützt die Android-Adapterversion 12.2.1.0 von Tapjoy.
- Unterstützt Tapjoy-iOS-Adapterversion 12.2.1.0.
Version 2.1.0
- Unterstützt die Android-Adapterversion 12.2.0.0 von Tapjoy.
- Unterstützt iOS-Adapterversion 12.1.0.0 von Tapjoy
Version 2.0.1
- Unterstützt die Android-Adapterversion 12.0.0.1 von Tapjoy.
- Unterstützt die Version 12.0.0.0 des Tapjoy-Adapters für iOS.
Version 2.0.0
- Unterstützt die Android-Adapterversion von Tapjoy 12.0.0.0.
- Unterstützt die Version 12.0.0.0 des Tapjoy-Adapters für iOS.
Version 1.1.1
- Unterstützt Tapjoy Android SDK Version 11.12.2.
- Unterstützt Version 11.12.2 des Tapjoy iOS SDK.
- Die Methode
Tapjoy.SetUserConsent()
wurde hinzugefügt, um den Einwilligungsstatus des Nutzers in Form eines Einwilligungsstrings an das Tapjoy SDK weiterzuleiten. - Die Methode
Tapjoy.SubjectToGDPR()
wurde hinzugefügt, um anzugeben, ob die DSGVO für den Nutzer gilt.
Version 1.1.0
- Unterstützt Tapjoy Android SDK Version 11.12.1.
- Unterstützt Version 11.12.1 des Tapjoy iOS SDK.
Version 1.0.0
- Erste Version!
- Unterstützt Tapjoy Android SDK Version 11.11.1.
- Unterstützt Tapjoy iOS SDK Version 11.11.1.