Android SDK-API
SDK-Schnittstellenbeschreibung
MTMAApi: Laufzeitschnittstelle von MA.MTMAConfig: Initialisierungskonfiguration, die anstartübergeben wird.
Hinweise vor dem Aufruf
startkann 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()undgetMaRid()einen Nullwert zurück und die Geschäftsschnittstelle ohne Rückruf wird nicht ausgeführt. configDebugMode,setCollectControl,setReportInterval,setMaxEventCacheCountundsetNoActiveSessionEndDurationTimesind 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;
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
startfestzulegen und es in der Release-Version zu deaktivieren.
- Es wird empfohlen, es vor dem Aufruf von
MTMAApi.configDebugMode(true);
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 TypMTMAConfig.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 demMTMAConfig-Objekt aufgerufen und legt für diesenstart-Aufruf den Datenerfassungsschalter des aktuellen MA AppKey fest. Unterstützt ab 5.5.2.trueaktiviert,falsedeaktiviert die Erfassung. Nach dem Aufruf gilt der übergebene Wert bei jedemstartund 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 Ergebniscode0zeigt 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();
}
}
});
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 nicht0,null,undefined,nansein (Groß- und Kleinschreibung ignorieren)setAnonymousId(String anonymousId): Darf nach dem Entfernen führender und nachfolgender Leerzeichen nicht leer sein, bis zu 256 Unicode-ZeichensetEmail(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.0setPhone(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
- userIdentity: Anrufidentifikation
- 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
- Schnittstellenbeschreibung:
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);
}
});
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);
}
});
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.
- Schnittstellenbeschreibung:
Aufrufbeispiel
MTMAApi.getInstance(this).getEuid();
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();
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 als0sein.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 == 0zeigt 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
}
});
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)
- Schnittstellenbeschreibung:
Aufrufbeispiel
MTMAApi.getInstance(this).setReportInterval(10);
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
- Schnittstellenbeschreibung:
Aufrufbeispiel
MTMAApi.getInstance(this).setMaxEventCacheCount(50);
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)
- Schnittstellenbeschreibung:
Aufrufbeispiel
MTMAApi.getInstance(this).setNoActiveSessionEndDurationTime(5*60);
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
- Schnittstellenbeschreibung:
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);
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:trueaktiviert,falsedeaktiviert.
- Schnittstellenbeschreibung:
Aufrufbeispiel
// enabled ist der Schalterstatus, den Ihre App anhand der Einwilligung des Nutzers festlegt
MTMAApi.getInstance(this).setDataCollectionEnabled(enabled);
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:
truebedeutet aktiviert,falsedeaktiviert.- Vor
start, wenn noch kein AppKey feststeht: Es wird der Standardwerttruezurückgegeben, der nicht den Status eines AppKey wiedergibt. Fragen Sie den Wert nachstartab. - In einem Nicht-Hauptprozess wird
falsezurückgegeben. Das bedeutet nur, dass dieser Prozess keine Daten erfasst, und gibt nicht den Schalterstatus des Hauptprozesses wieder.
- Schnittstellenbeschreibung:
Aufrufbeispiel
boolean enabled = MTMAApi.getInstance(this).isDataCollectionEnabled();
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 StandardwertesetCarrier(boolean enable): Ob Bedienerinformationen erfasst werden sollen, standardmäßig aktiviertsetMacAddress(boolean enable): Ob MAC-Adresse erfasst werden soll, standardmäßig deaktiviertsetGAID(boolean enable): Ob GAID erfasst werden soll, standardmäßig geschlossensetOAID(boolean enable): Ob OAID erfasst werden soll, standardmäßig geschlossensetAAID(boolean enable): Ob AAID erfasst werden soll, standardmäßig geschlossensetIMEI(boolean enable): Ob IMEI erfasst werden soll, standardmäßig deaktiviert; Wird nur von Android 9 und niedriger unterstützt. Die Hostanwendung muss dieREAD_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();
}
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,
JSONObjectundJSONArray, deren Elemente alleJSONObjectsind.
- 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:
- Schnittstellenbeschreibung:
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();
}
- 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:
- Schnittstellenbeschreibung:
– Eine einzelne Überschreibung aktualisiert den Wert eines Benutzerattributs
MTMAApi.getInstance(this).propertySet("your_property_name","your_property_value", new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
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:
- Schnittstellenbeschreibung:
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) {}});
- 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:
- Schnittstellenbeschreibung:
MTMAApi.getInstance(this).propertyIncrease("your_property_name",1, new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
###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:
- Schnittstellenbeschreibung:
MTMAApi.getInstance(this).propertyAdd("your_property_name","your_property_value", new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
- 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:
- Schnittstellenbeschreibung:
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) {}});
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.
identifierValueunterstützt Zeichenfolgen oder begrenzte Zahlen;valueskann das Identifikationsfeld nicht ändern.- Verwenden Sie
JSONObject.NULLinvalues, 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);
- addObjectArrayProperty(String property, JSONObject object, CallBack callBack)
– Hängen Sie ein Nicht-Null-Objektelement an
object_arrayan.
JSONObject device = new JSONObject()
.put("device_id", "device_2")
.put("year", 2026);
MTMAApi.getInstance(this).addObjectArrayProperty("devices", device, callBack);
- 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);
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:
- Schnittstellenbeschreibung:
MTMAApi.getInstance(this).propertyRemove("your_property_name","your_property_value", new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
- 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) {}});
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
- Schnittstellenbeschreibung:
Aufrufbeispiel
MTMAApi.getInstance(this).propertyDelete("your_property_name", new CallBack() {
@Override
public void onCallBack(int code, String message) {}});
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
- Schnittstellenbeschreibung:
Aufrufbeispiel
JSONObject properties = new JSONObject();
properties.put("key1","v1");
properties.put("key2","v2");
MTMAApi.getInstance(this).onEvent("your_event_name",properties );
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 |










