Android SDK-API

SDK-Schnittstellenbeschreibung

  • MTMAApi: Laufzeitschnittstelle von MA.
  • MTMAConfig: Initialisierungskonfiguration, die an start übergeben wird.

Hinweise vor dem Aufruf

  • start kann nur im Hauptprozess der Hostanwendung aufgerufen werden.
  • Mit Ausnahme der Konfigurationsschnittstelle, die vor der Initialisierung festgelegt werden darf, können andere MA-Business-APIs erst nach erfolgreicher Initialisierung aufgerufen werden. – Es wird empfohlen, alle externen MA-APIs im Hauptprozess aufzurufen. Nicht-Hauptprozesse teilen sich nicht den Initialisierungsstatus des Hauptprozesses und Aufrufe werden nicht an den Hauptprozess weitergeleitet. – Wenn ein Nicht-Hauptprozess die Geschäfts-API aufruft, gibt die Schnittstelle mit Rückruf CODE_START_FAIL (-2), getEuid() und getMaRid() einen Nullwert zurück und die Geschäftsschnittstelle ohne Rückruf wird nicht ausgeführt.
  • configDebugMode, setCollectControl, setReportInterval, setMaxEventCacheCount und setNoActiveSessionEndDurationTime sind In-Process-Konfigurationen; Wenn Sie sie in einem Nicht-Hauptprozess aufrufen, wird die Konfiguration des Hauptprozesses MA nicht geändert.

Holen Sie sich die SDK-Version

Unterstützte Versionen

Unterstützte Startversion: 5.5.0

Felddefinition

  • MTMAApi.SDK_VERSION_CODE: Digitale Versionsnummer des MA SDK.
  • MTMAApi.SDK_VERSION_NAME: MA SDK-String-Versionsnummer.
int versionCode = MTMAApi.SDK_VERSION_CODE; String versionName = MTMAApi.SDK_VERSION_NAME;
              
              int versionCode = MTMAApi.SDK_VERSION_CODE;
String versionName = MTMAApi.SDK_VERSION_NAME;

            
Diesen Codeblock im schwebenden Fenster anzeigen

Debugging-Modus festlegen

Unterstützte Versionen

Unterstützte Startversion: 5.5.0

Schnittstellendefinition

  • configDebugMode(boolean enable) – Aktivieren oder deaktivieren Sie MA SDK-Debug-Protokolle.
    • Es wird empfohlen, es vor dem Aufruf von start festzulegen und es in der Release-Version zu deaktivieren.
MTMAApi.configDebugMode(true);
              
              MTMAApi.configDebugMode(true);

            
Diesen Codeblock im schwebenden Fenster anzeigen

MA-Funktion aktivieren

Unterstützte Versionen

Unterstützte Startversion: 5.5.0

Schnittstellendefinition

  • start(MTMAConfig config, MTMAInitResultCallback callback)
    • Schnittstellenbeschreibung: Verwenden Sie MA AppKey, um die unabhängige Version des MA SDK zu initialisieren.
    • config: Initialisierungskonfiguration vom Typ MTMAConfig.
      • MTMAConfig(String appKey): MA AppKey festlegen.
      • MTMAConfig(String appKey, UserIdentity userIdentity): MA AppKey und Benutzer-ID gleichzeitig festlegen.
      • config.dataCollectionEnabled(boolean enabled): Optional. Wird auf dem MTMAConfig-Objekt aufgerufen und legt für diesen start-Aufruf den Datenerfassungsschalter des aktuellen MA AppKey fest. Unterstützt ab 5.5.2.
        • true aktiviert, false deaktiviert die Erfassung. Nach dem Aufruf gilt der übergebene Wert bei jedem start und wird auf dem Gerät gespeichert. Übergeben Sie das aktuelle Einwilligungsergebnis des Nutzers und keinen fest codierten Wert.
        • Siehe Datenerfassungsschalter.
    • callback: Rückruf des Initialisierungsergebnisses.
    • MTMAInitResult:
      • isSuccess(): Ob die Initialisierung erfolgreich war.
      • getCode(): Der Ergebniscode 0 zeigt einen Erfolg an.
      • getMessage(): Ergebnisbeschreibung.
      • getEuid(): EUID nach erfolgreicher Initialisierung erhalten.
      • getMaRid(): MA-RID nach erfolgreicher Initialisierung erhalten.

Aufrufbeispiel

MTMAConfig config = new MTMAConfig("your MA AppKey"); // Optional (ab 5.5.2): Datenerfassungsschalter gemäß der aktuellen Einwilligung des Nutzers setzen; standardmäßig aktiviert, wenn er noch nie gesetzt wurde // config.dataCollectionEnabled(enabled); MTMAApi.getInstance(this).start(config, new MTMAInitResultCallback() { @Override public void onResult(MTMAInitResult result) { if (result.isSuccess()) { String euid = result.getEuid(); String maRid = result.getMaRid(); } else { int code = result.getCode(); String message = result.getMessage(); } } });
              
              MTMAConfig config = new MTMAConfig("your MA AppKey");
// Optional (ab 5.5.2): Datenerfassungsschalter gemäß der aktuellen Einwilligung des Nutzers setzen; standardmäßig aktiviert, wenn er noch nie gesetzt wurde
// config.dataCollectionEnabled(enabled);
MTMAApi.getInstance(this).start(config, new MTMAInitResultCallback() {
    @Override
    public void onResult(MTMAInitResult result) {
        if (result.isSuccess()) {
            String euid = result.getEuid();
            String maRid = result.getMaRid();
        } else {
            int code = result.getCode();
            String message = result.getMessage();
        }
    }
});

            
Diesen Codeblock im schwebenden Fenster anzeigen

AppKey zur Laufzeit wechseln

Nachdem der letzte Initialisierungsrückruf abgeschlossen ist, kann start erneut mit dem neuen MTMAConfig aufgerufen werden. Andere MA-Business-APIs sind während der Umstellung vorübergehend nicht verfügbar. Es gibt keinen automatischen Fallback auf den alten AppKey, wenn die Initialisierung des neuen AppKey fehlschlägt.

Veraltete Schnittstelle

Ab 5.5.0 sind die folgenden Schnittstellen veraltet:

  • start(CallBack callBack)
  • start(UserIdentity userIdentity, CallBack callBack)

Bitte verwenden Sie stattdessen start(MTMAConfig config, MTMAInitResultCallback callback).

Benutzer-ID festlegen

Es wird empfohlen, diese Schnittstelle festzulegen, wenn sich der Benutzer anmeldet und relevante Informationen bereitstellt, um die zum Benutzer passende EUID zu erhalten

Unterstützte Versionen

Unterstützte Startversion: 5.0.0

Schnittstellendefinition

  • _setUserIdentity(UserIdentity userIdentity, CallBack callBack) _
    • Schnittstellenbeschreibung:
      • Legen Sie die Benutzeridentifikation fest, z. B. die Mitgliedskartennummer des Benutzers.
    • Parameterbeschreibung:
      • userIdentity: Anrufidentifikation
        • setUserId(String userId): darf nach dem Entfernen führender und nachfolgender Leerzeichen nicht leer sein, bis zu 255 Unicode-Zeichen; kann nicht 0, null, undefined, nan sein (Groß- und Kleinschreibung ignorieren)
        • setAnonymousId(String anonymousId): Darf nach dem Entfernen führender und nachfolgender Leerzeichen nicht leer sein, bis zu 256 Unicode-Zeichen
        • setEmail(String email): darf nicht leer sein, bis zu 256 Unicode-Zeichen; muss einen @ enthalten und darf nur einen enthalten. @ darf vorher und nachher nicht leer sein und darf keine Leerzeichen, Zeilenumbrüche oder Tabulatoren enthalten. unterstützt ab 5.5.0
        • setPhone(String phone): muss dem E.164-Format entsprechen, beginnend mit +, die erste Ziffer des Ländercodes ist 1–9 und enthält dann 1–14 Ziffern; unterstützt ab 5.5.0
      • callBack: Schnittstellenrückruf
    • Rückgabebeschreibung:
      onCallBack(int code, String message)
      • Code: Rückkehrcode, 0 steht für Erfolg, -1 steht für Fehler, Einzelheiten finden Sie in der Beschreibung der Nachrichtenparameter

Aufrufbeispiel

UserIdentity userIdentity = new UserIdentity(); userIdentity.setUserId("your_user_id"); userIdentity.setAnonymousId("your_anonymous_id"); userIdentity.setEmail("user@example.com"); userIdentity.setPhone("+8613800138000"); MTMAApi.getInstance(this).setUserIdentity(userIdentity, new CallBack() { @Override public void onCallBack(int code, String message) { MTCommonLog.e(TAG, "setUserIdentity code:" + code); MTCommonLog.e(TAG, "setUserIdentity message:" + message); } });
              
                              UserIdentity userIdentity = new UserIdentity();
                userIdentity.setUserId("your_user_id");
                userIdentity.setAnonymousId("your_anonymous_id");
                userIdentity.setEmail("user@example.com");
                userIdentity.setPhone("+8613800138000");
                MTMAApi.getInstance(this).setUserIdentity(userIdentity, new CallBack() {
                    @Override
                    public void onCallBack(int code, String message) {
                        MTCommonLog.e(TAG, "setUserIdentity code:" + code);
                        MTCommonLog.e(TAG, "setUserIdentity message:" + message);
                    }
                });

            
Diesen Codeblock im schwebenden Fenster anzeigen

Wenn die Überprüfung des Benutzer-ID-Felds fehlschlägt, wird keine Netzwerkanforderung gesendet und code = -3 über den Rückruf zurückgegeben.

Benutzerkontaktinformationen festlegen

Wenn sich die Kontaktinformationen des Benutzers ändern, können Sie über diese Schnittstelle die „Kontaktinformationen“ des Benutzers aktualisieren.

Unterstützte Versionen

Unterstützte Startversion: 5.0.0

Schnittstellendefinition

  • setUserContact(JSONObject contacts, CallBack callBack)
    • Schnittstellenbeschreibung: -Legen Sie die „Kontaktinformationen“ des Benutzers fest.
    • Parameterbeschreibung:
      • Kontakte: Legen Sie mehrere Kontaktmethoden fest. Schlüssel ist der Name der Kontaktmethode und Wert ist der Wert der Kontaktmethode. Derzeit werden vier Kontaktmethoden unterstützt: E-Mail, Mobiltelefon, Festnetztelefon und WhatsApp-Telefon.
      • callBack: Schnittstellenrückruf
    • Rückgabebeschreibung:
      onCallBack(int code, String message)
      • Code: Rückkehrcode, 0 steht für Erfolg, -1 steht für Fehler, Einzelheiten finden Sie in der Beschreibung der Nachrichtenparameter
      • Nachricht: Beschreibung des Grundes

Aufrufbeispiel

JSONObject contacts = new JSONObject(); try { contacts.put("key1", "cc"); contacts.put("key2", "dd"); } catch (JSONException e) { e.printStackTrace(); } MTMAApi.getInstance(this).setUserContact(contacts, new CallBack() { @Override public void onCallBack(int code, String message) { Log.e(TAG, "setUserContact code:" + code); Log.e(TAG, "setUserContact message:" + message); } });
              
                              JSONObject contacts = new JSONObject();
                try {
                    contacts.put("key1", "cc");
                    contacts.put("key2", "dd");
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                MTMAApi.getInstance(this).setUserContact(contacts, new CallBack() {
                    @Override
                    public void onCallBack(int code, String message) {
                        Log.e(TAG, "setUserContact code:" + code);
                        Log.e(TAG, "setUserContact message:" + message);
                    }
                });

            
Diesen Codeblock im schwebenden Fenster anzeigen

EUID abrufen

Unterstützte Versionen

Unterstützte Startversion: 5.0.0

Schnittstellendefinition

  • getEuid()
    • Schnittstellenbeschreibung:
      • Rufen Sie die EUID ab, die die eindeutige ID des Benutzers darstellt. Bei erfolgreicher Initialisierung wird nur der aktuelle Wert zurückgegeben, in anderen Zuständen wird ein Nullwert zurückgegeben.

Aufrufbeispiel

MTMAApi.getInstance(this).getEuid();
              
              MTMAApi.getInstance(this).getEuid();

            
Diesen Codeblock im schwebenden Fenster anzeigen

Holen Sie sich MA RID

Unterstützte Versionen

Unterstützte Startversion: 5.5.0

Schnittstellendefinition

  • getMaRid()
    • Holen Sie sich die aktuelle MA RID. Bei erfolgreicher Initialisierung wird nur der aktuelle Wert zurückgegeben, in anderen Zuständen wird ein Nullwert zurückgegeben.
String maRid = MTMAApi.getInstance(this).getMaRid();
              
              String maRid = MTMAApi.getInstance(this).getMaRid();

            
Diesen Codeblock im schwebenden Fenster anzeigen

Kanalkontakt-ID festlegen

Unterstützte Versionen

Unterstützte Startversion: 5.5.0

Schnittstellendefinition

  • setChannelValue(long channelId, List values, CallBack callBack)
    • Schnittstellenbeschreibung: Kanalkontakt-ID festlegen. Der AppPush-Kanal ist automatisch an das SDK gebunden und es besteht keine Notwendigkeit, diese Schnittstelleneinstellung aufzurufen.
    • Parameterbeschreibung:
      • channelId: Die auf der MA-Konsole konfigurierte Drittanbieter-Push-Kanal-ID muss größer als 0 sein.
      • values: Die Werteliste der Kanalkontakt-ID (z. B. RID oder Token) darf nicht leer sein und die Listenelemente dürfen nicht leer sein.
      • callBack: Ergebnisrückruf, code == 0 zeigt Erfolg an.
List<String> values = Collections.singletonList("push rid or token"); MTMAApi.getInstance(this).setChannelValue(136L, values, new CallBack() { @Override public void onCallBack(int code, String message) { // code == 0 means success } });
              
              List<String> values = Collections.singletonList("push rid or token");
MTMAApi.getInstance(this).setChannelValue(136L, values, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {
        // code == 0 means success
    }
});

            
Diesen Codeblock im schwebenden Fenster anzeigen

Legen Sie das Berichtsdatenintervall fest

Es wird zusammen mit der Schnittstelle setMaxEventCacheCount wirksam und wird gemeldet, solange eine der Bedingungen erfüllt ist.

Unterstützte Versionen

Unterstützte Startversion: 5.0.0

Schnittstellendefinition

  • setReportInterval(int interval)
    • Schnittstellenbeschreibung:
      • Legen Sie das Berichtsdatenintervall fest. Wenn diese Schnittstelle nicht aufgerufen wird, beträgt der Standardwert 10 Sekunden, um Ereignisdaten zu melden. – Berichtsintervall-Speichercache, der in jedem Lebenszyklus der Anwendung aufgerufen werden muss, um wirksam zu werden
    • Parameterbeschreibung
      • Intervallberichtsintervall, Einheit s (Sekunden)

Aufrufbeispiel

MTMAApi.getInstance(this).setReportInterval(10);
              
                  MTMAApi.getInstance(this).setReportInterval(10);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Legen Sie die Obergrenze des Ereigniscaches fest

Es wird zusammen mit der Schnittstelle setReportInterval wirksam und wird gemeldet, solange eine der Bedingungen erfüllt ist.

Unterstützte Versionen

Unterstützte Startversion: 5.0.0

Schnittstellendefinition

  • setMaxEventCacheCount(int count)
    • Schnittstellenbeschreibung:
      • Legen Sie die Obergrenze des Ereigniscaches fest. Der Standardwert ist 50, der Höchstwert darf 500 nicht überschreiten
      • Wenn die Cache-Menge überschritten wird, werden alle Daten gemeldet
    • Parameterbeschreibung
      • count Die Obergrenze der Anzahl der Ereignis-Cache-Elemente

Aufrufbeispiel

MTMAApi.getInstance(this).setMaxEventCacheCount(50);
              
                  MTMAApi.getInstance(this).setMaxEventCacheCount(50);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Sitzungs-Timeout festlegen

Unterstützte Versionen

Unterstützte Startversion: 5.0.0

Schnittstellendefinition

  • setNoActiveSessionEndDurationTime(int duration)
    • Schnittstellenbeschreibung:
      • Wenn die App im Hintergrund platziert wird, beginnt die Berechnung des Sitzungszeitlimits. Bei Überschreitung der eingestellten Zeit (Standard 30 Minuten) wird die Sitzung beendet.
    • Parameterbeschreibung
      • Dauer Timeout-Dauer, Einheit s (Sekunden)

Aufrufbeispiel

MTMAApi.getInstance(this).setNoActiveSessionEndDurationTime(5*60);
              
                  MTMAApi.getInstance(this).setNoActiveSessionEndDurationTime(5*60);

            
Diesen Codeblock im schwebenden Fenster anzeigen

UTM-Attribute festlegen

Unterstützte Versionen

Unterstützte Startversion: 5.0.0

Schnittstellendefinition

  • setUtmProperties(UtmProperties utmProperties)
    • Schnittstellenbeschreibung:
      • Setzen Sie das UTM-Attribut. Wenn der Entwickler erkennen kann, von welcher Anzeige der Benutzer abspringt, um auf die App zuzugreifen, empfiehlt es sich, die UTM-Informationen festzulegen. Wir werden diesen Parameter beim Melden des Ereignisses übergeben.
    • Parameterbeschreibung:
      • utmProperties UTM-Eigenschaftenobjekt
      • utm_source Kampagnenquelle
      • utm_medium Kampagnenmedium
      • utm_term Kampagnenbegriff
      • Inhalt der utm_content-Kampagne
      • utm_campaign Kampagnenname
      • utm_id Kampagnen-ID

Aufrufbeispiel

UtmProperties utmProperties = new UtmProperties(); utmProperties.setUtmSource("your_utm_source"); utmProperties.setUtmCampaign("your_utm_campaign"); utmProperties.setUtmContent("your_utm_content"); utmProperties.setUtmId("your_utm_id" ); utmProperties.setUtmMedium("your_utm_medium"); utmProperties.setUtmTerm("your_utm_term"); MTMAApi.getInstance(this).setUtmProperties(utmProperties);
              
                              UtmProperties utmProperties = new UtmProperties();
                utmProperties.setUtmSource("your_utm_source");
                utmProperties.setUtmCampaign("your_utm_campaign");
                utmProperties.setUtmContent("your_utm_content");
                utmProperties.setUtmId("your_utm_id" );
                utmProperties.setUtmMedium("your_utm_medium");
                utmProperties.setUtmTerm("your_utm_term");
                MTMAApi.getInstance(this).setUtmProperties(utmProperties);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Datenerfassungsschalter

Unterstützte Versionen

Unterstützte Startversion: 5.5.2

Wenn Ihre App die Erfassung abhängig von der Einwilligung des Nutzers steuern muss, verwenden Sie den Datenerfassungsschalter. Andernfalls ist keine Änderung nötig: Die Erfassung ist standardmäßig aktiviert und das Verhalten entspricht dem vor dem Upgrade.

Der Schalter wird für jeden MA AppKey getrennt gespeichert. Übergeben Sie dataCollectionEnabled bei der Initialisierung dynamisch anhand des Einwilligungsstatus des Nutzers. Codieren Sie den Wert nicht fest, da sonst jede Initialisierung den Status auf diesen festen Wert zurücksetzt. Ändert der Nutzer seine Auswahl zur Laufzeit, rufen Sie nach erfolgreicher Initialisierung setDataCollectionEnabled auf. Beides erfolgt im Hauptprozess.

Datenerfassungsschalter festlegen

Schnittstellendefinition

  • setDataCollectionEnabled(boolean enabled)
    • Schnittstellenbeschreibung:
      • Legt den Datenerfassungsschalter des aktuellen MA AppKey fest. Aufruf im Hauptprozess nach erfolgreicher Initialisierung.
      • Wird sofort wirksam und auf dem Gerät gespeichert, ohne auf den Abschluss von Netzwerkanfragen zu warten.
      • Entspricht der Wert dem aktuellen Status, wird die Deaktivierungs- bzw. Wiederherstellungsverarbeitung nicht erneut ausgeführt; Start- und Sitzungsstatistiken bleiben unberührt.
      • Nach dem erneuten Aktivieren nimmt das SDK die Erfassung automatisch wieder auf. Ereignisse, Benutzerattribute und UTM, die vor Abschluss der Wiederherstellung aufgerufen werden, bleiben nicht erhalten; Schnittstellen mit Callback geben -2 zurück.
      • Das Verhalten der einzelnen Schnittstellen nach der Deaktivierung finden Sie unter Verhalten bei deaktivierter Datenerfassung.
    • Parameterbeschreibung:
      • enabled: true aktiviert, false deaktiviert.

Aufrufbeispiel

// enabled ist der Schalterstatus, den Ihre App anhand der Einwilligung des Nutzers festlegt MTMAApi.getInstance(this).setDataCollectionEnabled(enabled);
              
              // enabled ist der Schalterstatus, den Ihre App anhand der Einwilligung des Nutzers festlegt
MTMAApi.getInstance(this).setDataCollectionEnabled(enabled);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Datenerfassungsschalter abfragen

Schnittstellendefinition

  • isDataCollectionEnabled()
    • Schnittstellenbeschreibung:
      • Fragt den Datenerfassungsschalter des aktuellen MA AppKey ab. Es wird keine Netzwerkanfrage gesendet und weder ein Umschalten noch eine Wiederherstellung ausgelöst.
    • Rückgabebeschreibung:
      • true bedeutet aktiviert, false deaktiviert.
      • Vor start, wenn noch kein AppKey feststeht: Es wird der Standardwert true zurückgegeben, der nicht den Status eines AppKey wiedergibt. Fragen Sie den Wert nach start ab.
      • In einem Nicht-Hauptprozess wird false zurückgegeben. Das bedeutet nur, dass dieser Prozess keine Daten erfasst, und gibt nicht den Schalterstatus des Hauptprozesses wieder.

Aufrufbeispiel

boolean enabled = MTMAApi.getInstance(this).isDataCollectionEnabled();
              
              boolean enabled = MTMAApi.getInstance(this).isDataCollectionEnabled();

            
Diesen Codeblock im schwebenden Fenster anzeigen

Verhalten bei deaktivierter Datenerfassung

Bei deaktivierter Erfassung gestoppt

Schnittstelle / Funktion Verhalten bei deaktivierter Erfassung
Ereignisse melden (onEvent) Werden stillschweigend verworfen, einschließlich der zum Ereignis gehörenden Attribute.
Voreingestellte Ereignisse: Start, Wechsel zwischen Vorder- und Hintergrund, Sitzungsbeginn und -ende, Beenden, App-Update, Status des Benachrichtigungsschalters, Push-Klick usw. Werden nicht erzeugt. Die Sitzungszeitmessung stoppt; Markierungen wie Erststart und erster Tag werden nicht aktualisiert.
Alle Schnittstellen für Benutzerattribute (property* und die object_array-Schnittstellen) Werden nicht ausgeführt; der Callback gibt -8 zurück, auch wenn die Initialisierung noch nicht abgeschlossen ist.
UTM-Attribute festlegen (setUtmProperties) Werden stillschweigend verworfen. Zwischengespeicherte UTM werden beim Deaktivieren gelöscht und nach dem erneuten Aktivieren nicht übernommen.
Geräteinformationen: Modell, Systemversion, Bildschirm, Netzwerk, Mobilfunkanbieter, Werbe-IDs usw. Werden weder gelesen noch gemeldet, einschließlich der über setCollectControl steuerbaren Felder.

Bei deaktivierter Erfassung weiterhin verfügbar

Schnittstelle / Funktion Verhalten bei deaktivierter Erfassung
start, getEuid, getMaRid Normal. Die Initialisierung überträgt nur die für die Identitätsregistrierung erforderlichen Felder, ohne Gerätemerkmale.
setUserIdentity Normal, der Callback erfolgt wie gewohnt. Es werden keine Registrierungsereignisse erzeugt.
setUserContact Normal, der Callback erfolgt wie gewohnt.
setChannelValue, automatische AppPush-Bindung Normal, Push-Nachrichten werden wie gewohnt zugestellt.
setDataCollectionEnabled, isDataCollectionEnabled Normal.
setCollectControl, setReportInterval, setMaxEventCacheCount, setNoActiveSessionEndDurationTime, configDebugMode Können aufgerufen werden. Bei deaktivierter Erfassung gibt es nichts, worauf sie wirken; nach dem erneuten Aktivieren gelten die Einstellungen.

Beim Deaktivieren

  • Vor dem Umschalten erzeugte Daten werden sofort einmal gesendet, bei einem Fehler nicht erneut; anschließend wird der lokale Cache gelöscht.
  • Bereits gemeldete Daten werden nicht gelöscht.

Anfragen, die auch bei deaktivierter Erfassung gesendet werden

  • Initialisierung, Identitätsregistrierung (ohne Gerätemerkmale), Abruf der Konfiguration, Bindung des Push-Kanals, Synchronisierung des Schalterstatus.

Push und Nachrichten

  • Push-Nachrichten werden wie gewohnt zugestellt und können die App öffnen.
  • MA-Ereignisse wie Push-Klicks werden nicht erzeugt; Journey-Bedingungen, die von MA-Verhaltensereignissen abhängen, treffen daher nicht zu.
  • Klicks auf Push- oder In-App-Nachrichten zählen nicht als MA-Nachrichtenkonversion. Klickdaten aus der Zeit vor dem Deaktivieren werden gelöscht und nach dem erneuten Aktivieren nicht mehr zugeordnet.

Nicht von diesem Schalter gesteuert

  • Zustell- und Klickbestätigungen des Push-Kanals selbst.
  • Meldungen eines separat integrierten AppPush SDK.
  • MA-REST-Schnittstellen, die vom Backend Ihrer App aufgerufen werden.
  • Dieser Schalter ersetzt nicht die Abmeldung von Push-Nachrichten.

Konsole und Segmente

  • In den Benutzerdetails wird der Status „Datenerfassung“ angezeigt. Er entspricht dem zuletzt mit dem Server synchronisierten Wert und kann verzögert sein. Unter einem AppKey, für den der Schalter noch nie gesetzt wurde, ist er leer.
  • In Segmenten können Benutzer über „Datenerfassung = Deaktiviert“ ausgewählt werden: Ein Benutzer passt, sobald eines seiner Geräte deaktiviert ist; Geräte, die keinen Status gemeldet haben, passen nicht.

Datenerfassungskontrolle

setCollectControl legt die Erfassungsberechtigung für einzelne Gerätefelder fest. Um die Erfassung von Ereignissen, Benutzerattributen, UTM und Gerätedaten insgesamt zu stoppen, verwenden Sie den Datenerfassungsschalter. Nach dem erneuten Aktivieren der gesamten Erfassung gelten die bisherigen Feldberechtigungen weiter.

Unterstützte Versionen

Unterstützte Startversion: 5.0.0

Schnittstellendefinition

  • setCollectControl(MTMACollectControl control)
    • Schnittstellenbeschreibung: -Legen Sie Sammlungsberechtigungen fest. Wenn Sie bestimmte Datenerfassungen aktivieren/deaktivieren müssen, rufen Sie bitte diese Schnittstelle auf
    • Parameterbeschreibung:
      • control: Einstellungen für Sammlungsberechtigungen; Eigenschaften, die nicht explizit festgelegt werden, verwenden die folgenden Standardwerte
        • setCarrier(boolean enable): Ob Bedienerinformationen erfasst werden sollen, standardmäßig aktiviert
        • setMacAddress(boolean enable): Ob MAC-Adresse erfasst werden soll, standardmäßig deaktiviert
        • setGAID(boolean enable): Ob GAID erfasst werden soll, standardmäßig geschlossen
        • setOAID(boolean enable): Ob OAID erfasst werden soll, standardmäßig geschlossen
        • setAAID(boolean enable): Ob AAID erfasst werden soll, standardmäßig geschlossen
        • setIMEI(boolean enable): Ob IMEI erfasst werden soll, standardmäßig deaktiviert; Wird nur von Android 9 und niedriger unterstützt. Die Hostanwendung muss die READ_PHONE_STATE-Berechtigung deklarieren und einholen.

Aufrufbeispiel

try { MTMACollectControl mtmaCollectControl = new MTMACollectControl(); mtmaCollectControl.setCarrier(true); mtmaCollectControl.setMacAddress(true); mtmaCollectControl.setGAID(true); mtmaCollectControl.setOAID(true); mtmaCollectControl.setIMEI(true); mtmaCollectControl.setAAID(true); MTMAApi.getInstance(this).setCollectControl(mtmaCollectControl); } catch (Throwable e) {e.printStackTrace(); }
              
              try {
MTMACollectControl mtmaCollectControl = new MTMACollectControl();
        mtmaCollectControl.setCarrier(true);
        mtmaCollectControl.setMacAddress(true);
        mtmaCollectControl.setGAID(true);
        mtmaCollectControl.setOAID(true);
        mtmaCollectControl.setIMEI(true);
        mtmaCollectControl.setAAID(true);
    MTMAApi.getInstance(this).setCollectControl(mtmaCollectControl);
} catch (Throwable e) {e.printStackTrace();
}

            
Diesen Codeblock im schwebenden Fenster anzeigen

Benutzerattribute festlegen

Legen Sie den Wert des Benutzerattributs fest. Wenn das Benutzerattribut nicht vorhanden ist, wird es automatisch im Hintergrund erstellt.

Benutzerattribute überschreiben und aktualisieren

  • propertySet(final JSONObject properties, final CallBack callBack)
    • Schnittstellenbeschreibung:
      • Benutzerattributwerte stapelweise überschreiben und aktualisieren
      • Es werden nur die zuletzt gemeldeten Daten gespeichert, einschließlich historischer Daten, wie z. B. der Benutzermitgliedschaftsebene.
      • Der Wert unterstützt Zeichenfolgen, Zahlen, boolesche Werte, Zeichenfolgenarrays, JSONObject und JSONArray, deren Elemente alle JSONObject sind.
    • Parameterbeschreibung:
      • Eigenschaften: Benutzereigenschaften
      • callBack: Schnittstellenrückruf
    • Rückgabebeschreibung:
      onCallBack(int code, String message)
      • Code: Rückkehrcode, 0 steht für Erfolg, -1 steht für Fehler, Einzelheiten finden Sie in der Beschreibung des Fehlercodes
      • Nachricht: Beschreibung des Grundes
    • Aufrufbeispiel:
try {JSONObject properties = new JSONObject(); properties.put("your_property_name","your_property_value"); properties.put("your_property_name 2","your_property_value 2"); properties.put("your_property_name 3","your_property_value 3"); MTMAApi.getInstance(this).propertySet(properties, new CallBack() { @Override public void onCallBack(int code, String message) {}}); } catch (Throwable e) {e.printStackTrace(); }
              
              try {JSONObject properties = new JSONObject();
    properties.put("your_property_name","your_property_value");
    properties.put("your_property_name 2","your_property_value 2");
    properties.put("your_property_name 3","your_property_value 3");
    MTMAApi.getInstance(this).propertySet(properties, new CallBack() {
        @Override
        public void onCallBack(int code, String message) {}});
} catch (Throwable e) {e.printStackTrace();
}

            
Diesen Codeblock im schwebenden Fenster anzeigen
  • propertySet(String property, Object value, CallBack callBack)
    • Schnittstellenbeschreibung: – Eine einzelne Überschreibung aktualisiert den Wert eines Benutzerattributs
      • Es werden nur die zuletzt gemeldeten Daten gespeichert, einschließlich historischer Daten, wie z. B. der Benutzermitgliedschaftsebene.
      • Die Werttypregeln stimmen mit der Charge propertySet überein.
    • Parameterbeschreibung:
      • Eigenschaft: Name der Benutzereigenschaft
      • Wert: Benutzerattributwert
      • callBack: Schnittstellenrückruf
    • Rückgabebeschreibung:
      onCallBack(int code, String message)
      • Code: Rückkehrcode, 0 steht für Erfolg, -1 steht für Fehler, Einzelheiten finden Sie in der Beschreibung des Fehlercodes
      • Nachricht: Beschreibung des Grundes
    • Aufrufbeispiel:
MTMAApi.getInstance(this).propertySet("your_property_name","your_property_value", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertySet("your_property_name","your_property_value", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
Diesen Codeblock im schwebenden Fenster anzeigen

Benutzerattribute kumulativ aktualisieren

  • propertyIncrease(final Map<String, ? extends Number> properties, CallBack callBack)
    • Schnittstellenbeschreibung:
      • Sammeln Sie die Werteinstellungen von Benutzerattributen und stellen Sie Batch-Anfragen
      • Sammeln Sie alle gemeldeten Daten, wie z. B. die kumulierte Verbrauchsmenge.
      • Diese Schnittstelle kann nur für Benutzerattribute vom numerischen Typ aufgerufen werden, andernfalls wird sie ignoriert. Wenn das Benutzerattribut vorher nicht existiert, wird der Anfangswert als 0 behandelt.
    • Parameterbeschreibung:
      • Eigenschaften: Benutzereigenschaften
      • callBack: Schnittstellenrückruf
    • Rückgabebeschreibung:
      onCallBack(int code, String message)
      • Code: Rückkehrcode, 0 steht für Erfolg, -1 steht für Fehler, Einzelheiten finden Sie in der Beschreibung des Fehlercodes
      • Nachricht: Beschreibung des Grundes
    • Aufrufbeispiel:
Map<String,Number> properties = new HashMap(); properties.put("your_property_name",1); properties.put("your_property_name 2",2); properties.put("your_property_name 3",3); MTMAApi.getInstance(this).propertyIncrease(properties, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              Map<String,Number> properties = new HashMap();
properties.put("your_property_name",1);
properties.put("your_property_name 2",2);
properties.put("your_property_name 3",3);
MTMAApi.getInstance(this).propertyIncrease(properties, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
Diesen Codeblock im schwebenden Fenster anzeigen
  • propertyIncrease(final String property, final Number value, CallBack callBack)
    • Schnittstellenbeschreibung:
      • Sammeln Sie Benutzerattributwerteinstellungen, einzelne Anfrage
      • Sammeln Sie alle gemeldeten Daten, wie z. B. die kumulierte Verbrauchsmenge.
      • Diese Schnittstelle kann nur für Benutzerattribute vom numerischen Typ aufgerufen werden, andernfalls wird sie ignoriert. Wenn das Benutzerattribut vorher nicht existiert, wird der Anfangswert als 0 behandelt.
    • Parameterbeschreibung:
      • Eigenschaft: Name der Benutzereigenschaft
      • Wert: Benutzerattributwert
      • callBack: Schnittstellenrückruf
    • Rückgabebeschreibung:
      onCallBack(int code, String message)
      • Code: Rückkehrcode, 0 steht für Erfolg, -1 steht für Fehler, Einzelheiten finden Sie in der Beschreibung des Fehlercodes
      • Nachricht: Beschreibung des Grundes
    • Aufrufbeispiel:
MTMAApi.getInstance(this).propertyIncrease("your_property_name",1, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyIncrease("your_property_name",1, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
Diesen Codeblock im schwebenden Fenster anzeigen

###Benutzerattribute anhängen

  • propertyAdd(final String property, final String value, CallBack callBack)
    • Schnittstellenbeschreibung:
      • Hängen Sie den Wert des Benutzerattributs an, einzelne Anfrage
      • Fügen Sie der Sammlung kontinuierlich Elemente hinzu und speichern Sie die Elemente zur Deduplizierung in der Datenbank. Wenn ABC bereits existiert, fügen Sie CD hinzu, und schließlich wird es ABCD sein.
    • Parameterbeschreibung:
      • Eigenschaft: Name der Benutzereigenschaft
      • Wert: Benutzerattributwert
      • callBack: Schnittstellenrückruf
    • Rückgabebeschreibung:
      onCallBack(int code, String message)
      • Code: Rückkehrcode, 0 steht für Erfolg, -1 steht für Fehler, Einzelheiten finden Sie in der Beschreibung des Fehlercodes
      • Nachricht: Beschreibung des Grundes
    • Aufrufbeispiel:
MTMAApi.getInstance(this).propertyAdd("your_property_name","your_property_value", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyAdd("your_property_name","your_property_value", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
Diesen Codeblock im schwebenden Fenster anzeigen
  • propertyAdd(final String property, final Set values, CallBack callBack)
    • Schnittstellenbeschreibung:
      • Hängen Sie den Wert des Benutzerattributs an und fügen Sie mehrere Werte gleichzeitig hinzu
      • Fügen Sie der Sammlung kontinuierlich Elemente hinzu und speichern Sie die Elemente zur Deduplizierung in der Datenbank. Wenn ABC bereits existiert, fügen Sie CD hinzu, und schließlich wird es ABCD sein.
    • Parameterbeschreibung:
      • Eigenschaft: Name der Benutzereigenschaft
      • Wert: Benutzerattributwert
      • callBack: Schnittstellenrückruf
    • Rückgabebeschreibung:
      onCallBack(int code, String message)
      • Code: Rückkehrcode, 0 steht für Erfolg, -1 steht für Fehler, Einzelheiten finden Sie in der Beschreibung des Fehlercodes
      • Nachricht: Beschreibung des Grundes
    • Aufrufbeispiel:
Set<String> properties = new HashSet<>(); properties.add("your_property_value"); properties.add("your_property_value 2"); properties.add("your_property_value 3"); MTMAApi.getInstance(this).propertyAdd("your_property_name",properties, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              Set<String> properties = new HashSet<>();
properties.add("your_property_value");
properties.add("your_property_value 2");
properties.add("your_property_value 3");
MTMAApi.getInstance(this).propertyAdd("your_property_name",properties, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
Diesen Codeblock im schwebenden Fenster anzeigen

Object_array-Elemente manipulieren

Die folgenden Schnittstellen werden ab 5.5.0 unterstützt und nur für das Benutzerattribut object_array verwendet. Die ursprünglichen propertyAdd, propertyRemove werden weiterhin für String-Arrays verwendet und das Verhalten bleibt unverändert.

  • updateObjectArrayProperty(String property, String identifierKey, Object identifierValue, JSONObject values, CallBack callBack)
    • Aktualisieren Sie ein Unterfeld eines Objektelements basierend auf einer eindeutigen Kennung.
    • identifierValue unterstützt Zeichenfolgen oder begrenzte Zahlen; values kann das Identifikationsfeld nicht ändern.
    • Verwenden Sie JSONObject.NULL in values, um das entsprechende Unterfeld zu löschen.
JSONObject values = new JSONObject().put("enabled", false); MTMAApi.getInstance(this).updateObjectArrayProperty( "devices", "device_id", "device_1", values, callBack);
              
              JSONObject values = new JSONObject().put("enabled", false);
MTMAApi.getInstance(this).updateObjectArrayProperty(
        "devices", "device_id", "device_1", values, callBack);

            
Diesen Codeblock im schwebenden Fenster anzeigen
  • addObjectArrayProperty(String property, JSONObject object, CallBack callBack) – Hängen Sie ein Nicht-Null-Objektelement an object_array an.
JSONObject device = new JSONObject() .put("device_id", "device_2") .put("year", 2026); MTMAApi.getInstance(this).addObjectArrayProperty("devices", device, callBack);
              
              JSONObject device = new JSONObject()
        .put("device_id", "device_2")
        .put("year", 2026);
MTMAApi.getInstance(this).addObjectArrayProperty("devices", device, callBack);

            
Diesen Codeblock im schwebenden Fenster anzeigen
  • removeObjectArrayProperty(String property, String identifierKey, Object identifierValue, CallBack callBack)
    • Entfernen Sie ganze Objektelemente basierend auf eindeutigen Bezeichnern.
MTMAApi.getInstance(this).removeObjectArrayProperty( "devices", "device_id", "device_2", callBack);
              
              MTMAApi.getInstance(this).removeObjectArrayProperty(
        "devices", "device_id", "device_2", callBack);

            
Diesen Codeblock im schwebenden Fenster anzeigen

Benutzerattribute entfernen

  • propertyRemove(final String property, String values, final CallBack callBack)
    • Schnittstellenbeschreibung:
      • Wertoperationen für Benutzerattribute entfernt. – Dieser Wert ist ein Sammlungselement und die Elemente werden zur Deduplizierungsverarbeitung in der Datenbank gespeichert. Wenn ABCD bereits vorhanden ist, löschen Sie D, und schließlich ist es ABC.
    • Parameterbeschreibung:
      • Eigenschaft: Name der Benutzereigenschaft
      • Wert: Benutzerattributwert
      • callBack: Schnittstellenrückruf
    • Rückgabebeschreibung:
      onCallBack(int code, String message)
      • Code: Rückkehrcode, 0 steht für Erfolg, -1 steht für Fehler, Einzelheiten finden Sie in der Beschreibung des Fehlercodes
      • Nachricht: Beschreibung des Grundes
    • Aufrufbeispiel:
MTMAApi.getInstance(this).propertyRemove("your_property_name","your_property_value", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyRemove("your_property_name","your_property_value", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
Diesen Codeblock im schwebenden Fenster anzeigen
  • propertyRemove(final String property, Set values, final CallBack callBack)
    • Schnittstellenbeschreibung: – Entfernen Sie den Wert von Benutzerattributen und entfernen Sie mehrere Werte gleichzeitig. – Dieser Wert ist ein Sammlungselement und die Elemente werden zur Deduplizierungsverarbeitung in der Datenbank gespeichert. Wenn ABCD bereits existiert, wird CD gelöscht und schließlich ist es AB.
    • Parameterbeschreibung:
      • Eigenschaft: Name der Benutzereigenschaft
      • Wert: Benutzerattributwert
      • callBack: Schnittstellenrückruf
    • Rückgabebeschreibung:
      onCallBack(int code, String message)
      • Code: Rückkehrcode, 0 steht für Erfolg, -1 steht für Fehler, Einzelheiten finden Sie in der Beschreibung des Fehlercodes
      • Nachricht: Beschreibung des Grundes
    • Aufrufbeispiel:
Set<String> properties = new HashSet<>(); properties.add("your_property_value"); properties.add("your_property_value 2"); properties.add("your_property_value 3"); MTMAApi.getInstance(this).propertyRemove("your_property_name",properties, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              Set<String> properties = new HashSet<>();
properties.add("your_property_value");
properties.add("your_property_value 2");
properties.add("your_property_value 3");
MTMAApi.getInstance(this).propertyRemove("your_property_name",properties, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
Diesen Codeblock im schwebenden Fenster anzeigen

Benutzerattribute löschen

Unterstützte Versionen

Unterstützte Startversion: 5.0.0

Schnittstellendefinition

  • propertyDelete(final String property, final CallBack callBack)
    • Schnittstellenbeschreibung:
      • Löschen Sie alle Werte für ein Benutzerattribut
    • Parameterbeschreibung:
      • Eigenschaft: Name der Benutzereigenschaft
      • callBack: Schnittstellenrückruf
    • Rückgabebeschreibung:
      onCallBack(int code, String message)
      • Code: Rückkehrcode, 0 steht für Erfolg, -1 steht für Fehler, Einzelheiten finden Sie in der Beschreibung des Fehlercodes
      • Nachricht: Beschreibung des Grundes

Aufrufbeispiel

MTMAApi.getInstance(this).propertyDelete("your_property_name", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyDelete("your_property_name", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
Diesen Codeblock im schwebenden Fenster anzeigen

Vorfallmeldung

Unterstützte Versionen

Unterstützte Startversion: 5.0.0

Schnittstellendefinition

  • onEvent(String eventKey, JSONObject properties)
    • Schnittstellenbeschreibung:
      • Meldung von Vorfällen
    • Parameterbeschreibung:
      • eventKey: Ereignisname
      • Eigenschaften: Ereigniseigenschaften, Schlüssel ist der Eigenschaftsname, Wert ist der Eigenschaftswert

Aufrufbeispiel

JSONObject properties = new JSONObject(); properties.put("key1","v1"); properties.put("key2","v2"); MTMAApi.getInstance(this).onEvent("your_event_name",properties );
              
              JSONObject properties = new JSONObject();
properties.put("key1","v1");
properties.put("key2","v2");
MTMAApi.getInstance(this).onEvent("your_event_name",properties );

            
Diesen Codeblock im schwebenden Fenster anzeigen

Fehlercode

Code Wert Beschreibung
CODE_SUCCEED 0 Erfolg
CODE_UNBEKANNT -1 Unbekannter Fehler
CODE_START_FAIL -2 Die Initialisierung ist nicht abgeschlossen, die Initialisierung schlägt fehl, wird in einem Nicht-Hauptprozess initialisiert oder die MA-Konfiguration, von der der aktuelle Vorgang abhängt, ist nicht bereit
CODE_VALID -3 Parameterüberprüfung fehlgeschlagen
CODE_ENABLE -4 MA-Projekt abgeschlossen
CODE_REGISTRATIONID -5 MA RID fehlt oder ist illegal
CODE_SWITCH -6 MA-Projektkonfiguration wurde geändert und muss erneut aufgerufen werden start
CODE_COLLECTION_DISABLED -8 Die Datenerfassung ist deaktiviert; dieser reguläre Erfassungsvorgang wurde nicht ausgeführt. Verfügbar ab 5.5.2
Icon Solid Transparent White Qiyu
Vertrieb kontaktieren