Android SDK API

คำอธิบายอินเทอร์เฟซ SDK

  • MTMAApi มีอินเทอร์เฟซทั้งหมดของฟังก์ชัน MA

ข้อควรทราบก่อนเรียกใช้

  • start สามารถเรียกได้เฉพาะในกระบวนการหลักของแอปพลิเคชันโฮสต์เท่านั้น
  • ยกเว้นอินเทอร์เฟซการกำหนดค่าที่ได้รับอนุญาตให้ตั้งค่าก่อนการเริ่มต้น API ธุรกิจ MA อื่นๆ จะสามารถเรียกได้หลังจากการเริ่มต้นสำเร็จแล้วเท่านั้น
  • ขอแนะนำให้เรียกใช้ API ภายนอก MA ทั้งหมดในกระบวนการหลัก กระบวนการที่ไม่ใช่กระบวนการหลักจะไม่แชร์สถานะการเริ่มต้นของกระบวนการหลัก และการเรียกจะไม่ถูกส่งต่อไปยังกระบวนการหลัก
  • เมื่อกระบวนการที่ไม่ใช่หลักเรียกใช้ API ธุรกิจ อินเทอร์เฟซที่มีการเรียกกลับจะส่งกลับ CODE_START_FAIL (-2), getEuid() และ getMaRid() จะส่งคืนค่า null และอินเทอร์เฟซทางธุรกิจที่ไม่มีการเรียกกลับจะไม่ถูกดำเนินการ
  • configDebugMode, setCollectControl, setReportInterval, setMaxEventCacheCount และ setNoActiveSessionEndDurationTime เป็นการกำหนดค่าในกระบวนการ การเรียกพวกเขาในกระบวนการที่ไม่ใช่กระบวนการหลักจะไม่แก้ไขการกำหนดค่าของกระบวนการหลัก MA

รับเวอร์ชัน SDK

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.5.0

คำจำกัดความของสนาม

  • MTMAApi.SDK_VERSION_CODE: หมายเลขเวอร์ชันดิจิทัล MA SDK
  • MTMAApi.SDK_VERSION_NAME: หมายเลขเวอร์ชันสตริง MA SDK
int versionCode = MTMAApi.SDK_VERSION_CODE; String versionName = MTMAApi.SDK_VERSION_NAME;
              
              int versionCode = MTMAApi.SDK_VERSION_CODE;
String versionName = MTMAApi.SDK_VERSION_NAME;

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ตั้งค่าโหมดการแก้ไขข้อบกพร่อง

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.5.0

คำจำกัดความของอินเทอร์เฟซ

  • configDebugMode(boolean enable)
    • เปิดหรือปิดใช้งานบันทึกการแก้ไขข้อบกพร่อง MA SDK
    • ขอแนะนำให้ตั้งค่าก่อนโทร start และแนะนำให้ปิดในเวอร์ชันวางจำหน่าย
MTMAApi.configDebugMode(true);
              
              MTMAApi.configDebugMode(true);

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

เปิดใช้งานฟังก์ชัน MA

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.5.0

คำจำกัดความของอินเทอร์เฟซ

  • start(MTMAConfig config, MTMAInitResultCallback callback)
    • คำอธิบายอินเทอร์เฟซ: ใช้ MA AppKey เพื่อเริ่มต้น MA SDK เวอร์ชันอิสระ
    • config: การกำหนดค่าเริ่มต้น
      • MTMAConfig(String appKey): ตั้งค่า MA AppKey
      • MTMAConfig(String appKey, UserIdentity userIdentity): ตั้งค่า MA AppKey และ ID ผู้ใช้พร้อมกัน
    • callback: การเรียกกลับผลลัพธ์การเริ่มต้น
    • MTMAInitResult:
      • isSuccess(): การกำหนดค่าเริ่มต้นสำเร็จหรือไม่
      • getCode(): รหัสผลลัพธ์ 0 บ่งชี้ถึงความสำเร็จ
      • getMessage(): คำอธิบายผลลัพธ์
      • getEuid(): EUID ได้รับหลังจากการกำหนดค่าเริ่มต้นสำเร็จ
      • getMaRid(): MA RID ได้รับหลังจากการกำหนดค่าเริ่มต้นสำเร็จ

ตัวอย่างการเรียกใช้

MTMAConfig config = new MTMAConfig("your MA AppKey"); 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");
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 เมื่อรันไทม์

หลังจากการเรียกกลับการกำหนดค่าเริ่มต้นครั้งล่าสุดเสร็จสิ้นแล้ว start จะสามารถเรียกได้อีกครั้งด้วย MTMAConfig ใหม่ API ธุรกิจ MA อื่นๆ ไม่สามารถใช้งานได้ชั่วคราวในระหว่างการเปลี่ยน ไม่มีการสำรอง AppKey เก่าโดยอัตโนมัติเมื่อการเริ่มต้น AppKey ใหม่ล้มเหลว

อินเทอร์เฟซที่เลิกใช้แล้ว

ตั้งแต่เวอร์ชัน 5.5.0 เป็นต้นไป อินเทอร์เฟซต่อไปนี้เลิกใช้แล้ว:

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

กรุณาใช้ start(MTMAConfig config, MTMAInitResultCallback callback) แทน

ตั้งค่า ID ผู้ใช้

ขอแนะนำให้ตั้งค่าอินเทอร์เฟซนี้เมื่อผู้ใช้เข้าสู่ระบบและให้ข้อมูลที่เกี่ยวข้องเพื่อรับ EUID ที่ตรงกับผู้ใช้

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.0.0

คำจำกัดความของอินเทอร์เฟซ

  • _setUserIdentity(UserIdentity userIdentity, CallBack callBack) _
    • คำอธิบายอินเทอร์เฟซ: -ตั้งค่าการระบุตัวตนผู้ใช้ เช่น หมายเลขบัตรสมาชิกผู้ใช้
    • คำอธิบายพารามิเตอร์:
      • userIdentity: การระบุตัวตนการโทร
        • setUserId(String userId): ไม่สามารถเว้นว่างได้หลังจากลบช่องว่างนำหน้าและต่อท้ายแล้ว สูงสุด 255 อักขระ Unicode ไม่สามารถเป็น 0, null, undefined, nan (ละเว้นตัวพิมพ์)
        • setAnonymousId(String anonymousId): ไม่สามารถเว้นว่างได้หลังจากลบช่องว่างนำหน้าและต่อท้ายแล้ว สูงสุด 256 อักขระ Unicode
        • setEmail(String email): ไม่สามารถเว้นว่างได้ อักขระ Unicode สูงสุด 256 ตัว ต้องมีและสามารถมีได้เพียงหนึ่ง @, @ ไม่สามารถเว้นว่างก่อนและหลัง และไม่สามารถมีช่องว่าง บรรทัดใหม่ หรือแท็บ รองรับตั้งแต่ 5.5.0
        • setPhone(String phone): ต้องเป็นไปตามรูปแบบ E.164 โดยขึ้นต้นด้วย + ตัวเลขหลักแรกของรหัสประเทศคือ 1–9 จากนั้นประกอบด้วยตัวเลข 1–14 หลัก รองรับตั้งแต่ 5.5.0
      • callBack: การติดต่อกลับของอินเทอร์เฟซ
    • คำอธิบายการคืนสินค้า:
      onCallBack(int code, String message)
      • รหัส: รหัสส่งคืน 0 หมายถึงความสำเร็จ -1 หมายถึงความล้มเหลว โปรดดูรายละเอียดคำอธิบายพารามิเตอร์ข้อความ

ตัวอย่างการเรียกใช้

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);
                    }
                });

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

เมื่อการตรวจสอบฟิลด์ ID ผู้ใช้ล้มเหลว จะไม่มีการส่งคำขอเครือข่าย และ code = -3 จะถูกส่งกลับผ่านการเรียกกลับ

ตั้งค่าข้อมูลการติดต่อผู้ใช้

เมื่อข้อมูลการติดต่อของผู้ใช้เปลี่ยนแปลง คุณสามารถใช้อินเทอร์เฟซนี้เพื่ออัปเดต "ข้อมูลการติดต่อ" ของผู้ใช้ได้

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.0.0

คำจำกัดความของอินเทอร์เฟซ

  • setUserContact(JSONObject contacts, CallBack callBack)
    • คำอธิบายอินเทอร์เฟซ:
      • ตั้งค่า "ข้อมูลการติดต่อ" ของผู้ใช้
    • คำอธิบายพารามิเตอร์:
      • ผู้ติดต่อ: ตั้งค่าวิธีการติดต่อหลายวิธี คีย์คือชื่อของวิธีการติดต่อ และค่าคือค่าของวิธีการติดต่อ ปัจจุบันรองรับวิธีการติดต่อสี่วิธี: อีเมล mobile_phone โทรศัพท์บ้าน และ whatsapp_phone
      • callBack: การติดต่อกลับของอินเทอร์เฟซ
    • คำอธิบายการคืนสินค้า:
      onCallBack(int code, String message)
      • รหัส: รหัสส่งคืน 0 หมายถึงความสำเร็จ -1 หมายถึงความล้มเหลว โปรดดูรายละเอียดคำอธิบายพารามิเตอร์ข้อความ
      • ข้อความ: คำอธิบายเหตุผล

ตัวอย่างการเรียกใช้

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);
                    }
                });

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

รับ EUID

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.0.0

คำจำกัดความของอินเทอร์เฟซ

  • getEuid()
    • คำอธิบายอินเทอร์เฟซ:
      • รับ EUID ซึ่งแสดงถึง ID เฉพาะของผู้ใช้ เฉพาะค่าปัจจุบันเท่านั้นที่จะถูกส่งกลับเมื่อการกำหนดค่าเริ่มต้นสำเร็จ และส่งกลับค่า Null ในสถานะอื่น

ตัวอย่างการเรียกใช้

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

รับ MA RID

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.5.0

คำจำกัดความของอินเทอร์เฟซ

  • getMaRid()
    • รับ MA RID ปัจจุบัน เฉพาะค่าปัจจุบันเท่านั้นที่จะถูกส่งกลับเมื่อการกำหนดค่าเริ่มต้นสำเร็จ และส่งกลับค่า Null ในสถานะอื่น
String maRid = MTMAApi.getInstance(this).getMaRid();
              
              String maRid = MTMAApi.getInstance(this).getMaRid();

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ตั้งค่า ID ผู้ติดต่อของช่อง

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.5.0

คำจำกัดความของอินเทอร์เฟซ

  • setChannelValue(long channelId, List values, CallBack callBack)
    • คำอธิบายอินเทอร์เฟซ: ตั้งค่า ID ผู้ติดต่อของช่อง ช่องทาง AppPush ถูกผูกไว้โดย SDK โดยอัตโนมัติ และไม่จำเป็นต้องเรียกการตั้งค่าอินเทอร์เฟซนี้
    • คำอธิบายพารามิเตอร์:
      • channelId: ID ช่องสัญญาณพุชของบุคคลที่สามที่กำหนดค่าบนคอนโซล MA จะต้องมากกว่า 0
      • values: รายการค่าของ ID ผู้ติดต่อของช่อง (เช่น RID หรือ Token) ต้องไม่ว่างเปล่า และองค์ประกอบรายการต้องไม่ว่างเปล่า
      • callBack: การเรียกกลับผลลัพธ์ code == 0 บ่งชี้ว่าสำเร็จ
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
    }
});

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

กำหนดช่วงเวลาข้อมูลการรายงาน

จะมีผลร่วมกับอินเทอร์เฟซ setMaxEventCacheCount และจะถูกรายงานตราบใดที่ตรงตามเงื่อนไขข้อใดข้อหนึ่ง

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.0.0

คำจำกัดความของอินเทอร์เฟซ

  • setReportInterval(int interval)
    • คำอธิบายอินเทอร์เฟซ:
      • กำหนดช่วงเวลาข้อมูลการรายงาน เมื่อไม่ได้เรียกอินเทอร์เฟซนี้ ค่าเริ่มต้นคือ 10 วินาทีในการรายงานข้อมูลเหตุการณ์
      • รายงานแคชหน่วยความจำช่วงเวลา ซึ่งจำเป็นต้องเรียกใช้ในแต่ละวงจรชีวิตของแอปพลิเคชันจึงจะมีผล
    • คำอธิบายพารามิเตอร์
      • ช่วงเวลาการรายงานช่วงเวลา หน่วย s (วินาที)

ตัวอย่างการเรียกใช้

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ตั้งค่าขีดจำกัดสูงสุดของแคชเหตุการณ์

จะมีผลร่วมกับอินเทอร์เฟซ setReportInterval และจะมีการรายงานตราบใดที่ตรงตามเงื่อนไขข้อใดข้อหนึ่ง

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.0.0

คำจำกัดความของอินเทอร์เฟซ

  • setMaxEventCacheCount(int count)
    • คำอธิบายอินเทอร์เฟซ:
      • ตั้งค่าขีดจำกัดสูงสุดของแคชเหตุการณ์ ค่าเริ่มต้นคือ 50 และสูงสุดต้องไม่เกิน 500
      • เมื่อเกินจำนวนแคช ข้อมูลทั้งหมดจะถูกรายงาน
    • คำอธิบายพารามิเตอร์
      • count ขีดจำกัดบนของจำนวนรายการแคชเหตุการณ์

ตัวอย่างการเรียกใช้

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ตั้งค่าการหมดเวลาเซสชัน

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.0.0

คำจำกัดความของอินเทอร์เฟซ

  • setNoActiveSessionEndDurationTime(int duration)
    • คำอธิบายอินเทอร์เฟซ:
      • เมื่อวางแอปไว้ในพื้นหลัง ระบบจะเริ่มคำนวณการหมดเวลาเซสชัน หากเกินเวลาที่ตั้งไว้ (ค่าเริ่มต้นคือ 30 นาที) เซสชันจะสิ้นสุดลง
    • คำอธิบายพารามิเตอร์
      • ระยะเวลา หมดเวลา ระยะเวลา หน่วย s (วินาที)

ตัวอย่างการเรียกใช้

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ตั้งค่าคุณสมบัติ UTM

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.0.0

คำจำกัดความของอินเทอร์เฟซ

  • setUtmProperties(UtmProperties utmProperties)
    • คำอธิบายอินเทอร์เฟซ:
      • ตั้งค่าแอตทริบิวต์ UTM หากนักพัฒนาสามารถระบุโฆษณาที่ผู้ใช้ข้ามเพื่อเข้าถึงแอปได้ ขอแนะนำให้ตั้งค่าข้อมูล UTM เราจะส่งพารามิเตอร์นี้เมื่อรายงานเหตุการณ์
    • คำอธิบายพารามิเตอร์:
      • วัตถุคุณสมบัติ utmProperties UTM
        • แหล่งที่มาของแคมเปญ utm_source
        • สื่อแคมเปญ utm_medium
        • เงื่อนไขแคมเปญ utm_term
        • เนื้อหาแคมเปญ utm_content
        • ชื่อแคมเปญ utm_campaign

ตัวอย่างการเรียกใช้

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);

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

การควบคุมการเก็บข้อมูล

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.0.0

คำจำกัดความของอินเทอร์เฟซ

  • setCollectControl(MTMACollectControl control)
    • คำอธิบายอินเทอร์เฟซ:
      • ตั้งค่าสิทธิ์ในการรวบรวม หากคุณต้องการเปิด/ปิดการรวบรวมข้อมูลบางอย่าง โปรดเรียกอินเทอร์เฟซนี้
    • คำอธิบายพารามิเตอร์:
      • control: การตั้งค่าการอนุญาตการรวบรวม; คุณสมบัติที่ไม่ได้ตั้งค่าไว้อย่างชัดเจนใช้ค่าเริ่มต้นต่อไปนี้
        • setCarrier(boolean enable): ว่าจะรวบรวมข้อมูลผู้ให้บริการหรือไม่ โดยจะเปิดใช้งานตามค่าเริ่มต้น
        • setMacAddress(boolean enable): ว่าจะรวบรวมที่อยู่ MAC หรือไม่ ปิดใช้งานตามค่าเริ่มต้น
        • setGAID(boolean enable): ว่าจะรวบรวม GAID หรือไม่ ปิดโดยค่าเริ่มต้น
        • setOAID(boolean enable): ว่าจะรวบรวม OAID หรือไม่ ปิดโดยค่าเริ่มต้น
        • setAAID(boolean enable): ว่าจะรวบรวม AAID หรือไม่ ปิดโดยค่าเริ่มต้น
        • setIMEI(boolean enable): ไม่ว่าจะรวบรวม IMEI, ปิดโดยค่าเริ่มต้น; รองรับเฉพาะ Android 9 และต่ำกว่าเท่านั้น แอปพลิเคชันโฮสต์จำเป็นต้องประกาศและรับสิทธิ์ READ_PHONE_STATE

ตัวอย่างการเรียกใช้

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();
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ตั้งค่าคุณสมบัติผู้ใช้

ตั้งค่าของแอตทริบิวต์ผู้ใช้ หากไม่มีแอตทริบิวต์ผู้ใช้ คุณลักษณะนั้นจะถูกสร้างขึ้นโดยอัตโนมัติในเบื้องหลัง

เขียนทับและอัปเดตแอตทริบิวต์ผู้ใช้

  • propertySet(final JSONObject properties, final CallBack callBack)
    • คำอธิบายอินเทอร์เฟซ:
      • แบทช์เขียนทับและอัปเดตค่าแอตทริบิวต์ผู้ใช้
      • บันทึกเฉพาะข้อมูลที่รายงานล่าสุดเท่านั้น ซึ่งครอบคลุมข้อมูลประวัติ เช่น ระดับความเป็นสมาชิกของผู้ใช้
      • ค่ารองรับสตริง ตัวเลข ค่าบูลีน อาร์เรย์สตริง JSONObject และ JSONArray ซึ่งมีองค์ประกอบทั้งหมดเป็น JSONObject
    • คำอธิบายพารามิเตอร์:
      • คุณสมบัติ: คุณสมบัติผู้ใช้
      • callBack: การติดต่อกลับของอินเทอร์เฟซ
    • คำอธิบายการคืนสินค้า:
      onCallBack(int code, String message)
      • รหัส: รหัสส่งคืน 0 หมายถึงความสำเร็จ -1 หมายถึงความล้มเหลว ดูรายละเอียดคำอธิบายรหัสข้อผิดพลาด
      • ข้อความ: คำอธิบายเหตุผล
    • ตัวอย่างการโทร:
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();
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
  • propertySet(String property, Object value, CallBack callBack)
    • คำอธิบายอินเทอร์เฟซ:
      • การแทนที่เพียงครั้งเดียวจะอัพเดตค่าของแอตทริบิวต์ผู้ใช้
      • บันทึกเฉพาะข้อมูลที่รายงานล่าสุดเท่านั้น ซึ่งครอบคลุมข้อมูลประวัติ เช่น ระดับความเป็นสมาชิกของผู้ใช้
      • กฎประเภทค่าสอดคล้องกับแบทช์ propertySet
    • คำอธิบายพารามิเตอร์:
      • คุณสมบัติ: ชื่อคุณสมบัติผู้ใช้
      • ค่า: ค่าแอตทริบิวต์ผู้ใช้
      • callBack: การติดต่อกลับของอินเทอร์เฟซ
    • คำอธิบายการคืนสินค้า:
      onCallBack(int code, String message)
      • รหัส: รหัสส่งคืน 0 หมายถึงความสำเร็จ -1 หมายถึงความล้มเหลว ดูรายละเอียดคำอธิบายรหัสข้อผิดพลาด
      • ข้อความ: คำอธิบายเหตุผล
    • ตัวอย่างการโทร:
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) {}});

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

อัปเดตคุณสมบัติผู้ใช้แบบสะสม

  • propertyIncrease(final Map<String, ? extends Number> properties, CallBack callBack)
    • คำอธิบายอินเทอร์เฟซ:
      • รวบรวมการตั้งค่ามูลค่าของคุณลักษณะผู้ใช้และทำการร้องขอเป็นชุด
      • รวบรวมข้อมูลที่รายงานทั้งหมด เช่น ปริมาณการใช้สะสม
      • สามารถเรียกใช้อินเทอร์เฟซนี้ได้สำหรับแอตทริบิวต์ผู้ใช้ประเภทตัวเลขเท่านั้น มิฉะนั้นจะถูกละเว้น หากไม่มีแอตทริบิวต์ผู้ใช้มาก่อน ค่าเริ่มต้นจะถือเป็น 0
    • คำอธิบายพารามิเตอร์:
      • คุณสมบัติ: คุณสมบัติผู้ใช้
      • callBack: การติดต่อกลับของอินเทอร์เฟซ
    • คำอธิบายการคืนสินค้า:
      onCallBack(int code, String message)
      • รหัส: รหัสส่งคืน 0 หมายถึงความสำเร็จ -1 หมายถึงความล้มเหลว ดูรายละเอียดคำอธิบายรหัสข้อผิดพลาด
      • ข้อความ: คำอธิบายเหตุผล
    • ตัวอย่างการโทร:
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) {}});

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
  • propertyIncrease(final String property, final Number value, CallBack callBack)
    • คำอธิบายอินเทอร์เฟซ:
      • สะสมการตั้งค่าแอตทริบิวต์ผู้ใช้ คำขอเดียว
      • รวบรวมข้อมูลที่รายงานทั้งหมด เช่น ปริมาณการใช้สะสม
      • สามารถเรียกใช้อินเทอร์เฟซนี้ได้สำหรับแอตทริบิวต์ผู้ใช้ประเภทตัวเลขเท่านั้น มิฉะนั้นจะถูกละเว้น หากไม่มีแอตทริบิวต์ผู้ใช้มาก่อน ค่าเริ่มต้นจะถือเป็น 0
    • คำอธิบายพารามิเตอร์:
      • คุณสมบัติ: ชื่อคุณสมบัติผู้ใช้
      • ค่า: ค่าแอตทริบิวต์ผู้ใช้
      • callBack: การติดต่อกลับของอินเทอร์เฟซ
    • คำอธิบายการคืนสินค้า:
      onCallBack(int code, String message)
      • รหัส: รหัสส่งคืน 0 หมายถึงความสำเร็จ -1 หมายถึงความล้มเหลว ดูรายละเอียดคำอธิบายรหัสข้อผิดพลาด
      • ข้อความ: คำอธิบายเหตุผล
    • ตัวอย่างการโทร:
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) {}});

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

###ผนวกแอตทริบิวต์ผู้ใช้

  • propertyAdd(final String property, final String value, CallBack callBack)
    • คำอธิบายอินเทอร์เฟซ:
      • ผนวกค่าแอตทริบิวต์ผู้ใช้ คำขอเดียว
      • เพิ่มองค์ประกอบในคอลเลกชันอย่างต่อเนื่อง และจัดเก็บองค์ประกอบในฐานข้อมูลเพื่อการขจัดข้อมูลซ้ำซ้อน หากมี ABC อยู่แล้ว ให้เพิ่ม CD และสุดท้ายก็จะกลายเป็น ABCD
    • คำอธิบายพารามิเตอร์:
      • คุณสมบัติ: ชื่อคุณสมบัติผู้ใช้
      • ค่า: ค่าแอตทริบิวต์ผู้ใช้
      • callBack: การติดต่อกลับของอินเทอร์เฟซ
    • คำอธิบายการคืนสินค้า:
      onCallBack(int code, String message)
      • รหัส: รหัสส่งคืน 0 หมายถึงความสำเร็จ -1 หมายถึงความล้มเหลว ดูรายละเอียดคำอธิบายรหัสข้อผิดพลาด
      • ข้อความ: คำอธิบายเหตุผล
    • ตัวอย่างการโทร:
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) {}});

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
  • propertyAdd(final String property, final Set values, CallBack callBack)
    • คำอธิบายอินเทอร์เฟซ:
      • ผนวกค่าของแอตทริบิวต์ผู้ใช้ โดยเพิ่มหลายค่าในคราวเดียว
      • เพิ่มองค์ประกอบในคอลเลกชันอย่างต่อเนื่อง และจัดเก็บองค์ประกอบในฐานข้อมูลเพื่อการขจัดข้อมูลซ้ำซ้อน หากมี ABC อยู่แล้ว ให้เพิ่ม CD และสุดท้ายก็จะกลายเป็น ABCD
    • คำอธิบายพารามิเตอร์:
      • คุณสมบัติ: ชื่อคุณสมบัติผู้ใช้
      • ค่า: ค่าแอตทริบิวต์ผู้ใช้
      • callBack: การติดต่อกลับของอินเทอร์เฟซ
    • คำอธิบายการคืนสินค้า:
      onCallBack(int code, String message)
      • รหัส: รหัสส่งคืน 0 หมายถึงความสำเร็จ -1 หมายถึงความล้มเหลว ดูรายละเอียดคำอธิบายรหัสข้อผิดพลาด
      • ข้อความ: คำอธิบายเหตุผล
    • ตัวอย่างการโทร:
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) {}});

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

จัดการองค์ประกอบ object_array

อินเทอร์เฟซต่อไปนี้ได้รับการสนับสนุนตั้งแต่เวอร์ชัน 5.5.0 และใช้สำหรับแอตทริบิวต์ผู้ใช้ object_array เท่านั้น propertyAdd, propertyRemove ดั้งเดิมยังคงใช้สำหรับอาร์เรย์สตริง และลักษณะการทำงานยังคงไม่เปลี่ยนแปลง

  • updateObjectArrayProperty(String property, String identifierKey, Object identifierValue, JSONObject values, CallBack callBack)
    • อัปเดตฟิลด์ย่อยขององค์ประกอบวัตถุตามตัวระบุที่ไม่ซ้ำกัน
    • identifierValue รองรับสตริงหรือจำนวนจำกัด values ไม่สามารถแก้ไขฟิลด์การระบุได้
    • ใช้ JSONObject.NULL ใน values เพื่อลบฟิลด์ย่อยที่เกี่ยวข้อง
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);

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
  • addObjectArrayProperty(String property, JSONObject object, CallBack callBack)
    • ผนวกองค์ประกอบวัตถุที่ไม่ใช่ null เข้ากับ object_array
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);

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
  • removeObjectArrayProperty(String property, String identifierKey, Object identifierValue, CallBack callBack)
    • ลบองค์ประกอบออบเจ็กต์ทั้งหมดตามตัวระบุที่ไม่ซ้ำกัน
MTMAApi.getInstance(this).removeObjectArrayProperty( "devices", "device_id", "device_2", callBack);
              
              MTMAApi.getInstance(this).removeObjectArrayProperty(
        "devices", "device_id", "device_2", callBack);

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ลบคุณลักษณะของผู้ใช้

  • propertyRemove(final String property, String values, final CallBack callBack)
    • คำอธิบายอินเทอร์เฟซ:
      • ลบการดำเนินการด้านมูลค่าในคุณลักษณะผู้ใช้
      • ค่านี้เป็นองค์ประกอบคอลเลกชัน และองค์ประกอบต่างๆ จะถูกจัดเก็บไว้ในฐานข้อมูลสำหรับการประมวลผลการขจัดข้อมูลซ้ำซ้อน หากมี ABCD อยู่แล้ว ให้ลบ D และสุดท้ายคือ ABC
    • คำอธิบายพารามิเตอร์:
      • คุณสมบัติ: ชื่อคุณสมบัติผู้ใช้
      • ค่า: ค่าแอตทริบิวต์ผู้ใช้
      • callBack: การติดต่อกลับของอินเทอร์เฟซ
    • คำอธิบายการคืนสินค้า:
      onCallBack(int code, String message)
      • รหัส: รหัสส่งคืน 0 หมายถึงความสำเร็จ -1 หมายถึงความล้มเหลว ดูรายละเอียดคำอธิบายรหัสข้อผิดพลาด
      • ข้อความ: คำอธิบายเหตุผล
    • ตัวอย่างการโทร:
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) {}});

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
  • propertyRemove(final String property, Set values, final CallBack callBack)
    • คำอธิบายอินเทอร์เฟซ:
      • ลบค่าของคุณลักษณะผู้ใช้และลบค่าหลายค่าในคราวเดียว
      • ค่านี้เป็นองค์ประกอบคอลเลกชัน และองค์ประกอบต่างๆ จะถูกจัดเก็บไว้ในฐานข้อมูลสำหรับการประมวลผลการขจัดข้อมูลซ้ำซ้อน หากมี ABCD อยู่แล้ว ซีดีจะถูกลบ และสุดท้ายก็คือ AB
    • คำอธิบายพารามิเตอร์:
      • คุณสมบัติ: ชื่อคุณสมบัติผู้ใช้
      • ค่า: ค่าแอตทริบิวต์ผู้ใช้
      • callBack: การติดต่อกลับของอินเทอร์เฟซ
    • คำอธิบายการคืนสินค้า:
      onCallBack(int code, String message)
      • รหัส: รหัสส่งคืน 0 หมายถึงความสำเร็จ -1 หมายถึงความล้มเหลว ดูรายละเอียดคำอธิบายรหัสข้อผิดพลาด
      • ข้อความ: คำอธิบายเหตุผล
    • ตัวอย่างการโทร:
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) {}});

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

ลบคุณสมบัติผู้ใช้

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.0.0

คำจำกัดความของอินเทอร์เฟซ

  • propertyDelete(final String property, final CallBack callBack)
    • คำอธิบายอินเทอร์เฟซ:
      • ลบค่าทั้งหมดสำหรับแอตทริบิวต์ผู้ใช้
    • คำอธิบายพารามิเตอร์:
      • คุณสมบัติ: ชื่อคุณสมบัติผู้ใช้
      • callBack: การติดต่อกลับของอินเทอร์เฟซ
    • คำอธิบายการคืนสินค้า:
      onCallBack(int code, String message)
      • รหัส: รหัสส่งคืน 0 หมายถึงความสำเร็จ -1 หมายถึงความล้มเหลว ดูรายละเอียดคำอธิบายรหัสข้อผิดพลาด
      • ข้อความ: คำอธิบายเหตุผล

ตัวอย่างการเรียกใช้

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) {}});

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

การรายงานเหตุการณ์

เวอร์ชันที่รองรับ

เวอร์ชันเริ่มต้นที่รองรับ: 5.0.0

คำจำกัดความของอินเทอร์เฟซ

  • onEvent(String eventKey, JSONObject properties)
    • คำอธิบายอินเทอร์เฟซ:
      • การรายงานเหตุการณ์
    • คำอธิบายพารามิเตอร์:
      • eventKey: ชื่อเหตุการณ์
      • คุณสมบัติ: คุณสมบัติเหตุการณ์ คีย์คือชื่อคุณสมบัติ ค่าคือค่าคุณสมบัติ

ตัวอย่างการเรียกใช้

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 );

            
โค้ดนี้โชว์เป็นหน้าต่างลอย

รหัสข้อผิดพลาด

รหัส ค่า คำอธิบาย
CODE_สำเร็จ 0 ความสำเร็จ
CODE_UNKNOWN -1 ข้อผิดพลาดที่ไม่รู้จัก
CODE_START_FAIL -2 การกำหนดค่าเริ่มต้นไม่เสร็จสมบูรณ์ การกำหนดค่าเริ่มต้นล้มเหลว ถูกเตรียมใช้งานในกระบวนการที่ไม่ใช่หลัก หรือการกำหนดค่า MA ที่การดำเนินการปัจจุบันขึ้นอยู่กับยังไม่พร้อม
CODE_VALID -3 การตรวจสอบพารามิเตอร์ล้มเหลว
รหัส_เปิดใช้งาน -4 ปิดโครงการ MA
CODE_REGISTRATIONID -5 MA RID หายไปหรือผิดกฎหมาย
รหัส_สวิตซ์ -6 การกำหนดค่าโปรเจ็กต์ MA ถูกสลับ และจำเป็นต้องเรียกอีกครั้ง start
Icon Solid Transparent White Qiyu
ติดต่อฝ่ายขาย