MTPush-API

MTCorePrivatesApi

  • ใช้สำหรับการตั้งค่าข้อมูล
  • ทุกเมธอดต้องถูกเรียกในกระบวนการหลัก ห้ามตรวจสอบกระบวนการก่อนเรียกเมธอดเพื่อวางไว้ในกระบวนการย่อย มิฉะนั้นจะเกิดข้อผิดพลาดในการเรียกใช้

configAppKey

  • ต้องเรียกในเมธอด Application.onCreate()
  • กรุณาเรียกก่อน init
/** * ตั้งค่าคีย์แอปพลิเคชัน โดยไม่ใช้การตั้งค่าใน AndroidManifest.xml * * ต้องเรียกในเมธอด Application.onCreate() * กรุณาเรียกก่อน [init](#init) * * @param context ต้องไม่เป็น null * @param appKey ต้องไม่เป็น null */ Public static void configAppKey (Context context, String appKey)
              
              /**
* ตั้งค่าคีย์แอปพลิเคชัน โดยไม่ใช้การตั้งค่าใน AndroidManifest.xml
*
* ต้องเรียกในเมธอด Application.onCreate()
* กรุณาเรียกก่อน [init](#init)
*
* @param context ต้องไม่เป็น null
* @param appKey ต้องไม่เป็น null
*/
Public static void configAppKey (Context context, String appKey)

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

ตัวอย่างโค้ด

MTCorePrivatesApi.configAppKey(this, "your appkey");
              
              MTCorePrivatesApi.configAppKey(this, "your appkey");

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

configAppChannel

  • ต้องเรียกในเมธอด Application.onCreate()
  • กรุณาเรียกก่อน init
/** * ตั้งค่าช่องทางแอปพลิเคชัน โดยไม่ใช้การตั้งค่าใน AndroidManifest.xml * ต้องเรียกในเมธอด Application.onCreate() * ต้องเรียกใช้ก่อน init และต้องใช้ใน Application.onCreate * * @param context ต้องไม่เป็น null * @param appChannel ต้องไม่เป็น null */ public static void configAppChannel(Context context, String appChannel)
              
                   /**
         * ตั้งค่าช่องทางแอปพลิเคชัน โดยไม่ใช้การตั้งค่าใน AndroidManifest.xml
         * ต้องเรียกในเมธอด Application.onCreate()
         * ต้องเรียกใช้ก่อน init และต้องใช้ใน Application.onCreate
         *
         * @param context ต้องไม่เป็น null
         * @param appChannel ต้องไม่เป็น null
         */
    public static void configAppChannel(Context context, String appChannel)

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

ตัวอย่างโค้ด:

MTCorePrivatesApi.configAppChannel(this,"your_appChannel");
              
              MTCorePrivatesApi.configAppChannel(this,"your_appChannel");

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

configAppSiteName

  • ต้องเรียกในเมธอด Application.onCreate()
  • กรุณาเรียกก่อน init
/** * ตั้งค่าชื่อไซต์ศูนย์ข้อมูล โดยไม่ใช้การตั้งค่าใน AndroidManifest.xml * โหนดที่ใช้งานได้ในปัจจุบันคือ Singapore, USA_Virginia, DEU_Frankfurt และ HongKong * ต้องเรียกในเมธอด Application.onCreate() * กรุณาเรียกก่อน [init](#init) * * @param context ต้องไม่เป็น null * @param appSiteName ต้องไม่เป็น null */ Public static void configAppSiteName (Context context, String appSiteName)
              
              /**
* ตั้งค่าชื่อไซต์ศูนย์ข้อมูล โดยไม่ใช้การตั้งค่าใน AndroidManifest.xml
* โหนดที่ใช้งานได้ในปัจจุบันคือ Singapore, USA_Virginia, DEU_Frankfurt และ HongKong
* ต้องเรียกในเมธอด Application.onCreate()
* กรุณาเรียกก่อน [init](#init)
*
* @param context ต้องไม่เป็น null
* @param appSiteName ต้องไม่เป็น null
*/
Public static void configAppSiteName (Context context, String appSiteName)

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

ตัวอย่างโค้ด

MTCorePrivatesApi.configAppSiteName(this, "Your Platform Data Center Site Name");
              
              MTCorePrivatesApi.configAppSiteName(this, "Your Platform Data Center Site Name");

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

configHeartbeatInterval

  • ต้องเรียกในเมธอด Application.onCreate()
  • กรุณาเรียกก่อน init
/** * ตั้งค่าช่วงเวลา Heartbeat * * ต้องเรียกในเมธอด Application.onCreate() * * @param context ต้องไม่เป็น null * @param heartbeatInterval หน่วยเวลาเป็นมิลลิวินาที ต้องมากกว่า 0 ค่าเริ่มต้นคือ 4 นาที 50 วินาที */ public static void configHeartbeatInterval(Context context, long heartbeatInterval)
              
                   /**
      * ตั้งค่าช่วงเวลา Heartbeat
      *
      * ต้องเรียกในเมธอด Application.onCreate()
      *
      * @param context ต้องไม่เป็น null
      * @param heartbeatInterval หน่วยเวลาเป็นมิลลิวินาที ต้องมากกว่า 0 ค่าเริ่มต้นคือ 4 นาที 50 วินาที
      */
     public static void configHeartbeatInterval(Context context, long heartbeatInterval)

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

ตัวอย่างโค้ด

  • ตัวอย่างตั้งค่าช่วงเวลา Heartbeat เป็น 3 นาที
MTCorePrivatesApi.configHeartbeatInterval(this,3*60*1000);
              
              MTCorePrivatesApi.configHeartbeatInterval(this,3*60*1000);

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

configConnectRetryCount

  • ต้องเรียกในเมธอด Application.onCreate()
  • กรุณาเรียกก่อน init
/** * ตั้งค่าจำนวนครั้งในการลองเชื่อมต่อใหม่ * * ต้องเรียกในเมธอด Application.onCreate() * * @param context ต้องไม่เป็น null * @param connectRetryCount จำนวนครั้งที่ลองใหม่ ค่าเริ่มต้นคือ 3 อย่างน้อย 3 ครั้ง */ public static void configConnectRetryCount(Context context, int connectRetryCount)
              
                   /**
      * ตั้งค่าจำนวนครั้งในการลองเชื่อมต่อใหม่
      *
      * ต้องเรียกในเมธอด Application.onCreate()
      *
      * @param context ต้องไม่เป็น null
      * @param connectRetryCount จำนวนครั้งที่ลองใหม่ ค่าเริ่มต้นคือ 3 อย่างน้อย 3 ครั้ง
      */
     public static void configConnectRetryCount(Context context, int connectRetryCount)

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

ตัวอย่างโค้ด

  • ตัวอย่างตั้งค่าจำนวนครั้งลองใหม่เป็น 10 ครั้ง
MTCorePrivatesApi.configConnectRetryCount(this,10);
              
              MTCorePrivatesApi.configConnectRetryCount(this,10);

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

setTcpSSl

  • ต้องเรียกในเมธอด Application.onCreate()
  • กรุณาเรียกก่อน init
/** * ตั้งค่าการเข้ารหัสการเชื่อมต่อแบบยาว ค่าเริ่มต้นคือไม่เข้ารหัส * * ต้องเรียกในเมธอด Application.onCreate() * * @param isSSL true เข้ารหัส, false ไม่เข้ารหัส */ public static void setTcpSSl(boolean isSSL)
              
                   /**
      * ตั้งค่าการเข้ารหัสการเชื่อมต่อแบบยาว ค่าเริ่มต้นคือไม่เข้ารหัส
      *
      * ต้องเรียกในเมธอด Application.onCreate()
      *
      * @param isSSL true เข้ารหัส, false ไม่เข้ารหัส
      */
     public static void setTcpSSl(boolean isSSL)

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

ตัวอย่างโค้ด

  • ตัวอย่างตั้งค่าเป็นเข้ารหัส
MTCorePrivatesApi.setTcpSSl(true);
              
              MTCorePrivatesApi.setTcpSSl(true);

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

configDebugMode

  • ต้องเรียกในเมธอด Application.onCreate()
  • กรุณาเรียกก่อน init
  • รูปแบบล็อกของ Engagelab ค้นหา "ENGAGELAB-PRIVATES"
  • Engagelab จะพิมพ์ล็อกในกระบวนการหลักและกระบวนการย่อยแยกกัน
/** * ตั้งค่าการทำงานในโหมดดีบัก โหมดดีบักจะพิมพ์ล็อกที่ละเอียดมากขึ้น * * ต้องเรียกในเมธอด Application.onCreate() * * @param context ต้องไม่เป็น null * @param enable เป็นโหมดดีบักหรือไม่, true เป็นโหมดดีบัก, false ไม่เป็นโหมดดีบัก */ public static void configDebugMode(Context context, boolean enable)
              
                   /**
      * ตั้งค่าการทำงานในโหมดดีบัก โหมดดีบักจะพิมพ์ล็อกที่ละเอียดมากขึ้น
      *
      * ต้องเรียกในเมธอด Application.onCreate()
      *
      * @param context ต้องไม่เป็น null
      * @param enable เป็นโหมดดีบักหรือไม่, true เป็นโหมดดีบัก, false ไม่เป็นโหมดดีบัก
      */
     public static void configDebugMode(Context context, boolean enable)

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

ตัวอย่างโค้ด

  • sdk ทำงานในสองกระบวนการ กระบวนการหลักและกระบวนการย่อย ชื่อกระบวนการย่อยคือชื่อคุณสมบัติ process ของบริการย่อย MTCommonService
  • แท็กล็อกของ sdk คือ "ENGAGELAB-PRIVATES"
  • ล็อกที่เกี่ยวข้องกับ udp/tcp/http จะอยู่ในกระบวนการย่อย
  • ดังนั้น หากไม่สามารถส่งข้อความได้ กรุณาเปิดโหมดดีบักก่อน แล้วไปที่กระบวนการย่อยเพื่อรับล็อกที่มีแท็ก "ENGAGELAB-PRIVATES" และส่งให้ฝ่ายสนับสนุนทางเทคนิคเพื่อวิเคราะห์
// แนะนำให้ตั้งค่าเป็น true เมื่อแอปยังไม่ออนไลน์ เพื่อความสะดวกในการรวม MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true); // แนะนำให้ตั้งค่าเป็น false เมื่อแอปออนไลน์แล้ว MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), false);
              
              // แนะนำให้ตั้งค่าเป็น true เมื่อแอปยังไม่ออนไลน์ เพื่อความสะดวกในการรวม
MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true);

// แนะนำให้ตั้งค่าเป็น false เมื่อแอปออนไลน์แล้ว
MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), false);

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

configSM4

  • ต้องเรียกในเมธอด Application.onCreate()
  • กรุณาเรียกก่อน init
/** * ตั้งค่าการใช้การเข้ารหัส SM4 * * @param context ต้องไม่เป็น null */ public static void configSM4(Context context)
              
                   /**
      * ตั้งค่าการใช้การเข้ารหัส SM4
      *
      * @param context ต้องไม่เป็น null
      */
     public static void configSM4(Context context)

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

ตัวอย่างโค้ด

// เปิดใช้งานการเข้ารหัส SM4 หากไม่ได้เรียกใช้ จะใช้วิธีการเข้ารหัสเริ่มต้น MTCorePrivatesApi.configSM4(context.getApplicationContext());
              
                   // เปิดใช้งานการเข้ารหัส SM4 หากไม่ได้เรียกใช้ จะใช้วิธีการเข้ารหัสเริ่มต้น
     MTCorePrivatesApi.configSM4(context.getApplicationContext());

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

getUserId

เมื่อค่าที่ส่งกลับเป็น null ต้องตรวจสอบว่าตั้งค่าสภาพแวดล้อมและเรียกใช้การเริ่มต้นหรือไม่

หากตรวจสอบการตั้งค่าถูกต้อง อาจยังอยู่ในกระบวนการเชื่อมต่อ สามารถรับได้เมื่อ onConnectStatus ส่งกลับค่า true

/** * รับ userId ของอุปกรณ์ปัจจุบัน ซึ่งเป็นตัวระบุเฉพาะของ Engagelab สามารถใช้สำหรับการส่งข้อความ * * @param context ต้องไม่เป็น null * @return userId */ public static String getUserId(Context context)
              
                   /**
      * รับ userId ของอุปกรณ์ปัจจุบัน ซึ่งเป็นตัวระบุเฉพาะของ Engagelab สามารถใช้สำหรับการส่งข้อความ
      *
      * @param context ต้องไม่เป็น null
      * @return userId
      */
     public static String getUserId(Context context)

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

ตัวอย่างโค้ด

String userId = MTCorePrivatesApi.getUserId(context);
              
              String userId = MTCorePrivatesApi.getUserId(context);

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

getRegistrationId

เมื่อค่าที่ส่งกลับเป็น null ต้องตรวจสอบว่าตั้งค่าสภาพแวดล้อมและเรียกใช้การเริ่มต้นหรือไม่

หากตรวจสอบการตั้งค่าถูกต้อง อาจยังอยู่ในกระบวนการเชื่อมต่อ สามารถรับได้เมื่อ onConnectStatus ส่งกลับค่า true

/** * รับ registrationId ของอุปกรณ์ปัจจุบัน ซึ่งเป็นตัวระบุเฉพาะของ Engagelab สามารถใช้สำหรับการส่งข้อความ * * @param context ต้องไม่เป็น null * @return registrationId */ public static String getRegistrationId(Context context)
              
                   /**
      * รับ registrationId ของอุปกรณ์ปัจจุบัน ซึ่งเป็นตัวระบุเฉพาะของ Engagelab สามารถใช้สำหรับการส่งข้อความ
      *
      * @param context ต้องไม่เป็น null
      * @return registrationId
      */
     public static String getRegistrationId(Context context)

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

ตัวอย่างโค้ด

String registrationId = MTCorePrivatesApi.getRegistrationId(context);
              
              String registrationId = MTCorePrivatesApi.getRegistrationId(context);

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

setEnableResetOnDeviceChange

  • ต้องเรียกใช้ในเมธอด Application.onCreate()
  • กรุณาเรียกใช้ก่อน init
  • ค่าเริ่มต้นคือ false (ปิดใช้งาน)
/** * กำหนดค่าฟังก์ชันการย้ายอุปกรณ์ * หากเปิดใช้งาน เมื่อเปลี่ยนรุ่นอุปกรณ์ ข้อมูลรหัสการลงทะเบียนและ UID ในเครื่องจะถูกล้างและลงทะเบียนใหม่ * ค่าเริ่มต้นคือ false * * @param context ต้องไม่เป็น null * @param enable เปิดใช้งานการย้ายอุปกรณ์หรือไม่ true เพื่อเปิดใช้งาน, false เพื่อปิดใช้งาน */ public static void setEnableResetOnDeviceChange(Context context, boolean enable)
              
                  /**
     * กำหนดค่าฟังก์ชันการย้ายอุปกรณ์
     * หากเปิดใช้งาน เมื่อเปลี่ยนรุ่นอุปกรณ์ ข้อมูลรหัสการลงทะเบียนและ UID ในเครื่องจะถูกล้างและลงทะเบียนใหม่
     * ค่าเริ่มต้นคือ false
     *
     * @param context ต้องไม่เป็น null
     * @param enable  เปิดใช้งานการย้ายอุปกรณ์หรือไม่ true เพื่อเปิดใช้งาน, false เพื่อปิดใช้งาน
     */
    public static void setEnableResetOnDeviceChange(Context context, boolean enable)

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

ตัวอย่างโค้ด:

  • เมื่อเปลี่ยนรุ่นอุปกรณ์ (เช่น การแฟลชอุปกรณ์, การเปลี่ยนอุปกรณ์ ฯลฯ) ข้อมูลการลงทะเบียนที่แคชไว้ในเครื่องจะถูกล้างโดยอัตโนมัติ
// เปิดใช้งานฟังก์ชันการย้ายอุปกรณ์ MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true); // ปิดใช้งานฟังก์ชันการย้ายอุปกรณ์ (สถานะเริ่มต้น) MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false);
              
                      // เปิดใช้งานฟังก์ชันการย้ายอุปกรณ์
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true);
        
        // ปิดใช้งานฟังก์ชันการย้ายอุปกรณ์ (สถานะเริ่มต้น)
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false);

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

MTPushPrivatesApi

  • ใช้สำหรับฟังก์ชันการแจ้งเตือนเป็นหลัก
  • ทุกเมธอดต้องถูกเรียกในกระบวนการหลัก กรุณาอย่าตรวจสอบกระบวนการก่อนเรียกเมธอดและวางไว้ในกระบวนการย่อย มิฉะนั้นการเรียกจะผิดพลาด

configOldPushVersion

  • หากเวอร์ชัน tag: V3.5.4-newportal-20210823-gamma.57 ยังไม่ได้อัปเกรดในระบบหลังบ้าน ฝั่งหน้าต้องเรียกใช้เมธอดนี้ มิฉะนั้นจะมีปัญหาในการคลิกแจ้งเตือนเพื่อกระโดดไปยังหน้าอื่น
  • เรียกใช้ในเมธอด Application.onCreate()
  • กรุณาเรียกใช้ก่อน init
/** * กำหนดค่าเวอร์ชันการแจ้งเตือนเป็น 3.9.X * * @param context ต้องไม่เป็นค่าว่าง */ public static void configOldPushVersion(Context context)
              
                   /**
      * กำหนดค่าเวอร์ชันการแจ้งเตือนเป็น 3.9.X
      *
      * @param context ต้องไม่เป็นค่าว่าง
      */
     public static void configOldPushVersion(Context context)

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

ตัวอย่างโค้ดดังนี้:

public class ExampleApplication extends Application { @Override public void onCreate() { // เปิดโหมดดีบัก MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true); // ใช้เวอร์ชันเก่าของการแจ้งเตือนเพื่อคลิกกระโดด MTPushPrivatesApi.configOldPushVersion(context.getApplicationContext()); // การเริ่มต้น MTPushPrivatesApi.init(context.getApplicationContext()); } }
              
              public class ExampleApplication extends Application {

     @Override
     public void onCreate() {
         // เปิดโหมดดีบัก
     MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true);
     // ใช้เวอร์ชันเก่าของการแจ้งเตือนเพื่อคลิกกระโดด
     MTPushPrivatesApi.configOldPushVersion(context.getApplicationContext());
     // การเริ่มต้น
         MTPushPrivatesApi.init(context.getApplicationContext());
     }
}

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

setEnablePushTextToSpeech

/** * การตั้งค่าฟีเจอร์การประกาศด้วยเสียง ต้องนำเข้าแพ็คเกจเสียง (mt-sdk-sound-x.x.x.aar) * * @param context ต้องไม่เป็นค่าว่าง * @param enable true เพื่อเปิดใช้งาน, false เพื่อปิดใช้งาน, ค่าเริ่มต้นคือ false */ public static void setEnablePushTextToSpeech(Context context, boolean enable)
              
                  /**
     * การตั้งค่าฟีเจอร์การประกาศด้วยเสียง ต้องนำเข้าแพ็คเกจเสียง (mt-sdk-sound-x.x.x.aar)
     *
     * @param context      ต้องไม่เป็นค่าว่าง
     * @param enable true เพื่อเปิดใช้งาน, false เพื่อปิดใช้งาน, ค่าเริ่มต้นคือ false
     */
    public static void setEnablePushTextToSpeech(Context context, boolean enable)

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

ตัวอย่างโค้ดดังนี้:

MTPushPrivatesApi.setEnablePushTextToSpeech(context,true);
              
                  MTPushPrivatesApi.setEnablePushTextToSpeech(context,true);   

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

init

  • แนะนำให้เรียกใช้ในเมธอด Application.onCreate()
/** * การเริ่มต้น MTPush * * แนะนำให้เรียกใช้ในเมธอด Application.onCreate() * * @param context ต้องไม่เป็นค่าว่าง กรุณาใช้วัตถุ applicationContext */ public static void init(Context context)
              
                   /**
      * การเริ่มต้น MTPush
      *
      * แนะนำให้เรียกใช้ในเมธอด Application.onCreate()
      *
      * @param context ต้องไม่เป็นค่าว่าง กรุณาใช้วัตถุ applicationContext
      */
     public static void init(Context context)

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

ตัวอย่างโค้ดดังนี้:

public class ExampleApplication extends Application { @Override public void onCreate() { // เปิดโหมดดีบัก MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true); // การเริ่มต้น MTPushPrivatesApi.init(context.getApplicationContext()); } }
              
              public class ExampleApplication extends Application {

     @Override
     public void onCreate() {
         // เปิดโหมดดีบัก
     MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true);
     // การเริ่มต้น
         MTPushPrivatesApi.init(context.getApplicationContext());
     }
}

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

goToAppNotificationSettings

  • หลังจากเริ่มต้น sdk แล้ว คุณสามารถเรียกกลับผลลัพธ์ตาม onNotificationStatus และตัดสินใจว่าจำเป็นต้องเรียกใช้ข้ออ้างนี้หรือไม่
/** * ไปยังหน้าการตั้งค่าสวิตช์การแจ้งเตือน * * @param context ต้องไม่เป็นค่าว่าง */ public static void goToAppNotificationSettings(Context context)
              
                   /**
      * ไปยังหน้าการตั้งค่าสวิตช์การแจ้งเตือน
      *
      * @param context ต้องไม่เป็นค่าว่าง
      */
     public static void goToAppNotificationSettings(Context context)

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

ตัวอย่างโค้ดดังนี้:

// ไปยังหน้าการตั้งค่าสวิตช์การแจ้งเตือน ลูกค้าต้องเปิดสวิตช์การแจ้งเตือนด้วยตนเอง MTPushPrivatesApi.goToAppNotificationSettings(this); // หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onNotificationStatus เพื่อรับสถานะของสวิตช์การแจ้งเตือน หาก enable เป็น true หมายความว่าเปิดใช้งานสำเร็จแล้ว @Override public void onNotificationStatus(Context context, boolean enable) { if(enable){ // สวิตช์การแจ้งเตือนถูกตั้งค่าให้เปิด } }
              
                   // ไปยังหน้าการตั้งค่าสวิตช์การแจ้งเตือน ลูกค้าต้องเปิดสวิตช์การแจ้งเตือนด้วยตนเอง
     MTPushPrivatesApi.goToAppNotificationSettings(this);
    
     // หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onNotificationStatus เพื่อรับสถานะของสวิตช์การแจ้งเตือน หาก enable เป็น true หมายความว่าเปิดใช้งานสำเร็จแล้ว
     @Override
     public void onNotificationStatus(Context context, boolean enable) {
if(enable){
// สวิตช์การแจ้งเตือนถูกตั้งค่าให้เปิด
}
     }

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

turnOnPush

  • โดยทั่วไปใช้เพื่อเปิดการแจ้งเตือนหลังจากเรียก turnOffPush
  • การเรียกซ้ำจะมีผลเพียงครั้งเดียว หากเปิดใช้งานอยู่แล้วจะไม่มีผลอีก
  • หากไม่มีปัญหากับสภาพแวดล้อม onConnectStatus จะเรียกกลับผลลัพธ์
  • ช่องทางที่รองรับในปัจจุบัน: Engagelab/Huawei/Xiaomi/Meizu/oppo/vivo
/** * เปิดใช้งานการแจ้งเตือน และสถานะสวิตช์การเก็บข้อมูลถาวรเป็น true ค่าเริ่มต้นคือ true * * @param context ต้องไม่เป็นค่าว่าง */ public static void turnOnPush(Context context)
              
                   /**
      * เปิดใช้งานการแจ้งเตือน และสถานะสวิตช์การเก็บข้อมูลถาวรเป็น true ค่าเริ่มต้นคือ true
      *
      * @param context ต้องไม่เป็นค่าว่าง
      */
     public static void turnOnPush(Context context)

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

ตัวอย่างโค้ดดังนี้:

// เปิดการแจ้งเตือน ซึ่งเปิดใช้งานโดยค่าเริ่มต้น MTPushPrivatesApi.turnOnPush(context); // หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onConnectStatus เพื่อรับสถานะการเชื่อมต่อ หาก enable เป็น true หมายความว่าเปิดใช้งานสำเร็จแล้ว @Override public void onConnectStatus(Context context, boolean enable){ if(enable){ // เปิดการแจ้งเตือนสำเร็จ } }
              
              // เปิดการแจ้งเตือน ซึ่งเปิดใช้งานโดยค่าเริ่มต้น
MTPushPrivatesApi.turnOnPush(context);

// หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onConnectStatus เพื่อรับสถานะการเชื่อมต่อ หาก enable เป็น true หมายความว่าเปิดใช้งานสำเร็จแล้ว
@Override
public void onConnectStatus(Context context, boolean enable){
     if(enable){
         // เปิดการแจ้งเตือนสำเร็จ
     }
}

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

turnOffPush

  • โดยทั่วไปใช้เพื่อปิดการแจ้งเตือน
  • หลังจากปิดการแจ้งเตือน การเรียก init จะไม่เปิดการแจ้งเตือน
  • การเรียกซ้ำจะมีผลเพียงครั้งเดียว
  • หากไม่มีปัญหากับสภาพแวดล้อม onConnectStatus จะเรียกกลับผลลัพธ์
  • ช่องทางที่รองรับในปัจจุบัน: Engagelab/Huawei/Xiaomi/Meizu/oppo/vivo
/** * ปิดการแจ้งเตือน และสถานะสวิตช์การเก็บข้อมูลถาวรเป็น false ค่าเริ่มต้นคือ true * * @param context ต้องไม่เป็นค่าว่าง */ public static void turnOffPush(Context context)
              
                   /**
      * ปิดการแจ้งเตือน และสถานะสวิตช์การเก็บข้อมูลถาวรเป็น false ค่าเริ่มต้นคือ true
      *
      * @param context ต้องไม่เป็นค่าว่าง
      */
     public static void turnOffPush(Context context)

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

ตัวอย่างโค้ดดังนี้:

// ปิดการแจ้งเตือน คุณต้องเรียก turnOnPush อีกครั้งเพื่อเปิดการแจ้งเตือน MTPushPrivatesApi.turnOffPush(context); // หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onConnectStatus เพื่อรับสถานะการเชื่อมต่อ หาก enable เป็น false หมายความว่าปิดสำเร็จแล้ว @Override public void onConnectStatus(Context context, boolean enable){ if(!enable){ // ปิดการแจ้งเตือนสำเร็จ } }
              
              // ปิดการแจ้งเตือน คุณต้องเรียก turnOnPush อีกครั้งเพื่อเปิดการแจ้งเตือน
MTPushPrivatesApi.turnOffPush(context);

// หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onConnectStatus เพื่อรับสถานะการเชื่อมต่อ หาก enable เป็น false หมายความว่าปิดสำเร็จแล้ว
@Override
public void onConnectStatus(Context context, boolean enable){
     if(!enable){
         // ปิดการแจ้งเตือนสำเร็จ
     }
}

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

addTag

  • กรุณา init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
  • หากไม่มีปัญหากับสภาพแวดล้อม onTagMessage จะเรียกกลับผลลัพธ์
/** * เพิ่มแท็กที่ระบุ, การสะสมตรรกะ, แท็กที่ตั้งไว้ก่อนหน้านี้ยังคงอยู่ * * @param context ต้องไม่เป็นค่าว่าง * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดเองของผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ * @param tags อาร์เรย์แท็ก ความยาวของชื่อแท็กแต่ละชื่อจำกัดที่ 40 ไบต์ สามารถตั้งค่าแท็กได้สูงสุด 1000 แท็ก และความยาวรวมของการดำเนินการเดียวไม่เกิน 5000 ไบต์ */ public static void addTag(Context context, int sequence, String... tags)
              
                   /**
      * เพิ่มแท็กที่ระบุ, การสะสมตรรกะ, แท็กที่ตั้งไว้ก่อนหน้านี้ยังคงอยู่
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดเองของผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ
      * @param tags อาร์เรย์แท็ก ความยาวของชื่อแท็กแต่ละชื่อจำกัดที่ 40 ไบต์ สามารถตั้งค่าแท็กได้สูงสุด 1000 แท็ก และความยาวรวมของการดำเนินการเดียวไม่เกิน 5000 ไบต์
      */
     public static void addTag(Context context, int sequence, String... tags)

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

ตัวอย่างโค้ดดังนี้:

// กำหนดค่าคงที่ที่นี่ ซึ่งแทนการเพิ่มแท็กที่ระบุ private static final int SEQUENCE_TAG_ADD = 1; // เพิ่มแท็ก: "china","guangdong","shenzhen" MTPushPrivatesApi.addTag(context,SEQUENCE_TAG_ADD,"china","guangdong","shenzhen") // หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onTagMessage เพื่อรับการเรียกกลับการดำเนินการแท็ก @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // การดำเนินการแท็กล้มเหลว สามารถดูข้อมูลข้อผิดพลาดโดยละเอียดได้ใน MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_ADD){ // เพิ่มแท็กที่ระบุสำเร็จ ในขณะนี้ คุณสามารถดูอาร์เรย์แท็กของการดำเนินการที่สำเร็จ String[] tags = tagMessage. getTags(); } }
              
              // กำหนดค่าคงที่ที่นี่ ซึ่งแทนการเพิ่มแท็กที่ระบุ
private static final int SEQUENCE_TAG_ADD = 1;
// เพิ่มแท็ก: "china","guangdong","shenzhen"
MTPushPrivatesApi.addTag(context,SEQUENCE_TAG_ADD,"china","guangdong","shenzhen")

// หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onTagMessage เพื่อรับการเรียกกลับการดำเนินการแท็ก
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
// การดำเนินการแท็กล้มเหลว สามารถดูข้อมูลข้อผิดพลาดโดยละเอียดได้ใน MTPushPrivatesApi.Code
return;
}
if(tagMessage.getSequence() == SEQUENCE_TAG_ADD){
// เพิ่มแท็กที่ระบุสำเร็จ ในขณะนี้ คุณสามารถดูอาร์เรย์แท็กของการดำเนินการที่สำเร็จ
String[] tags = tagMessage. getTags();
}
}

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

deleteTag

  • กรุณา init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
  • หากไม่มีปัญหากับสภาพแวดล้อม onTagMessage จะเรียกกลับผลลัพธ์
/** * ลบแท็กที่ระบุ, ลบตรรกะ, และแท็กที่ระบุจะถูกลบ * * @param context ต้องไม่เป็นค่าว่าง * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดเองของผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ * @param tags อาร์เรย์แท็ก ความยาวของชื่อแท็กแต่ละชื่อจำกัดที่ 40 ไบต์ สามารถตั้งค่าแท็กได้สูงสุด 1000 แท็ก และความยาวรวมของการดำเนินการเดียวไม่เกิน 5000 ไบต์ */ public static void deleteTag(Context context, int sequence, String... tags)
              
                   /**
      * ลบแท็กที่ระบุ, ลบตรรกะ, และแท็กที่ระบุจะถูกลบ
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดเองของผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ
      * @param tags อาร์เรย์แท็ก ความยาวของชื่อแท็กแต่ละชื่อจำกัดที่ 40 ไบต์ สามารถตั้งค่าแท็กได้สูงสุด 1000 แท็ก และความยาวรวมของการดำเนินการเดียวไม่เกิน 5000 ไบต์
      */
     public static void deleteTag(Context context, int sequence, String... tags)

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

ตัวอย่างโค้ดดังนี้:

// กำหนดค่าคงที่ที่นี่ ซึ่งแทนการลบแท็กที่ระบุ private static final int SEQUENCE_TAG_DELETE = 2; // ลบแท็ก: "china","guangdong","shenzhen" MTPushPrivatesApi.deleteTag(context,SEQUENCE_TAG_DELETE,"china","guangdong","shenzhen") // หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onTagMessage เพื่อรับการเรียกกลับการดำเนินการแท็ก @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // การดำเนินการแท็กล้มเหลว สามารถดูข้อมูลข้อผิดพลาดโดยละเอียดได้ใน MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE){ // ลบแท็กที่ระบุสำเร็จ ในขณะนี้ คุณสามารถดูอาร์เรย์แท็กของการดำเนินการที่สำเร็จ String[] tags = tagMessage. getTags(); } }
              
              // กำหนดค่าคงที่ที่นี่ ซึ่งแทนการลบแท็กที่ระบุ
private static final int SEQUENCE_TAG_DELETE = 2;
// ลบแท็ก: "china","guangdong","shenzhen"
MTPushPrivatesApi.deleteTag(context,SEQUENCE_TAG_DELETE,"china","guangdong","shenzhen")

// หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onTagMessage เพื่อรับการเรียกกลับการดำเนินการแท็ก
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
// การดำเนินการแท็กล้มเหลว สามารถดูข้อมูลข้อผิดพลาดโดยละเอียดได้ใน MTPushPrivatesApi.Code
return;
}
if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE){
// ลบแท็กที่ระบุสำเร็จ ในขณะนี้ คุณสามารถดูอาร์เรย์แท็กของการดำเนินการที่สำเร็จ
String[] tags = tagMessage. getTags();
}
}

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

updateTag

  • กรุณา init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
  • หากไม่มีปัญหากับสภาพแวดล้อม onTagMessage จะเรียกกลับผลลัพธ์
/** * อัปเดตแท็กที่ระบุ, เขียนทับตรรกะ, และแท็กที่เพิ่มก่อนหน้านี้จะถูกล้าง * * @param context ต้องไม่เป็นค่าว่าง * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดเองของผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ * @param tags อาร์เรย์แท็ก ความยาวของชื่อแท็กแต่ละชื่อจำกัดที่ 40 ไบต์ สามารถตั้งค่าแท็กได้สูงสุด 1000 แท็ก และความยาวรวมของการดำเนินการเดียวไม่เกิน 5000 ไบต์ */ public static void updateTag(Context context, int sequence, String... tags)
              
                   /**
      * อัปเดตแท็กที่ระบุ, เขียนทับตรรกะ, และแท็กที่เพิ่มก่อนหน้านี้จะถูกล้าง
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดเองของผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ
      * @param tags อาร์เรย์แท็ก ความยาวของชื่อแท็กแต่ละชื่อจำกัดที่ 40 ไบต์ สามารถตั้งค่าแท็กได้สูงสุด 1000 แท็ก และความยาวรวมของการดำเนินการเดียวไม่เกิน 5000 ไบต์
      */
     public static void updateTag(Context context, int sequence, String... tags)

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

ตัวอย่างโค้ดดังนี้:

// กำหนดค่าคงที่ที่นี่ ซึ่งแทนการอัปเดตแท็กที่ระบุ private static final int SEQUENCE_TAG_UPDATE = 3; // อัปเดตแท็ก: "beijing","shanghai","guangzhou","shenzhen", แท็กที่ตั้งไว้ก่อนหน้านี้จะไม่ถูกต้อง MTPushPrivatesApi.updateTag(context,SEQUENCE_TAG_UPDATE,"beijing","shanghai","guangzhou","shenzhen") // หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onTagMessage เพื่อรับการเรียกกลับการดำเนินการแท็ก @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // การดำเนินการแท็กล้มเหลว สามารถดูข้อมูลข้อผิดพลาดโดยละเอียดได้ใน MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_UPDATE){ // อัปเดตแท็กที่ระบุสำเร็จ และคุณสามารถดูอาร์เรย์แท็กที่สำเร็จได้ในขณะนี้ String[] tags = tagMessage. getTags(); } }
              
              // กำหนดค่าคงที่ที่นี่ ซึ่งแทนการอัปเดตแท็กที่ระบุ
private static final int SEQUENCE_TAG_UPDATE = 3;
// อัปเดตแท็ก: "beijing","shanghai","guangzhou","shenzhen", แท็กที่ตั้งไว้ก่อนหน้านี้จะไม่ถูกต้อง
MTPushPrivatesApi.updateTag(context,SEQUENCE_TAG_UPDATE,"beijing","shanghai","guangzhou","shenzhen")

// หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onTagMessage เพื่อรับการเรียกกลับการดำเนินการแท็ก
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
// การดำเนินการแท็กล้มเหลว สามารถดูข้อมูลข้อผิดพลาดโดยละเอียดได้ใน MTPushPrivatesApi.Code
return;
}
if(tagMessage.getSequence() == SEQUENCE_TAG_UPDATE){
// อัปเดตแท็กที่ระบุสำเร็จ และคุณสามารถดูอาร์เรย์แท็กที่สำเร็จได้ในขณะนี้
String[] tags = tagMessage. getTags();
}
}

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

queryTag

  • กรุณา init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
  • หากไม่มีปัญหากับสภาพแวดล้อม onTagMessage จะเรียกกลับผลลัพธ์
/** * ค้นหาแท็กที่ระบุ * * @param context ต้องไม่เป็นค่าว่าง * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดเองของผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ * @param tag, ความยาวของชื่อแท็กแต่ละชื่อจำกัดที่ 40 ไบต์ */ public static void queryTag(Context context, int sequence, String tag)
              
                   /**
      * ค้นหาแท็กที่ระบุ
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดเองของผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ
      * @param tag, ความยาวของชื่อแท็กแต่ละชื่อจำกัดที่ 40 ไบต์
      */
     public static void queryTag(Context context, int sequence, String tag)

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

ตัวอย่างโค้ดดังนี้:

// กำหนดค่าคงที่ที่นี่ ซึ่งแทนการค้นหาแท็กที่ระบุ private static final int SEQUENCE_TAG_QUERY = 4; // ค้นหาแท็ก MTPushPrivatesApi.queryTag(context,SEQUENCE_TAG_QUERY,"china") // หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onTagMessage เพื่อรับการเรียกกลับการดำเนินการแท็ก @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // การดำเนินการแท็กล้มเหลว สามารถดูข้อมูลข้อผิดพลาดโดยละเอียดได้ใน MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_QUERY){ // ค้นหาแท็กที่ระบุสำเร็จ ในขณะนี้ คุณสามารถดูแท็กและสถานะของการดำเนินการที่สำเร็จ String tag = tagMessage. getQueryTag(); boolean valid = tagMessage.isQueryTagValid(); } } ### deleteAllTag > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง > * หากไม่มีปัญหาเกี่ยวกับสภาพแวดล้อม [onTagMessage](#onTagMessage) จะเรียกกลับผลลัพธ์
              
              // กำหนดค่าคงที่ที่นี่ ซึ่งแทนการค้นหาแท็กที่ระบุ
private static final int SEQUENCE_TAG_QUERY = 4;
// ค้นหาแท็ก
MTPushPrivatesApi.queryTag(context,SEQUENCE_TAG_QUERY,"china")

// หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onTagMessage เพื่อรับการเรียกกลับการดำเนินการแท็ก
@Override
public void onTagMessage(Context context, TagMessage tagMessage){
if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){
// การดำเนินการแท็กล้มเหลว สามารถดูข้อมูลข้อผิดพลาดโดยละเอียดได้ใน MTPushPrivatesApi.Code
return;
}
if(tagMessage.getSequence() == SEQUENCE_TAG_QUERY){
// ค้นหาแท็กที่ระบุสำเร็จ ในขณะนี้ คุณสามารถดูแท็กและสถานะของการดำเนินการที่สำเร็จ
String tag = tagMessage. getQueryTag();
boolean valid = tagMessage.isQueryTagValid();
}
}


### deleteAllTag

> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง
> * หากไม่มีปัญหาเกี่ยวกับสภาพแวดล้อม [onTagMessage](#onTagMessage) จะเรียกกลับผลลัพธ์

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ลบแท็กทั้งหมด ล้างลอจิก และลบแท็กทั้งหมด * * @param context ไม่สามารถเป็นค่าว่างได้ * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดโดยผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ */ public static void deleteAllTag(Context context, int sequence, String... tags)
              
               /**
  * ลบแท็กทั้งหมด ล้างลอจิก และลบแท็กทั้งหมด
  *
  * @param context ไม่สามารถเป็นค่าว่างได้
  * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดโดยผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ
  */
 public static void deleteAllTag(Context context, int sequence, String... tags)

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

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

// กำหนดค่าคงที่ที่นี่เพื่อแสดงถึงการดำเนินการลบแท็กทั้งหมด private static final int SEQUENCE_TAG_DELETE_ALL = 5; // ลบแท็กทั้งหมด MTPushPrivatesApi.deleteTag(context,SEQUENCE_TAG_DELETE_ALL)

// หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onTagMessage เพื่อรับการเรียกกลับการดำเนินการแท็ก @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // การดำเนินการแท็กล้มเหลว สามารถดูข้อมูลข้อผิดพลาดโดยละเอียดได้ใน MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL){ // ลบแท็กทั้งหมดสำเร็จ } }

### queryAllTag > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง > * หากไม่มีปัญหาเกี่ยวกับสภาพแวดล้อม [onTagMessage](#onTagMessage) จะเรียกกลับผลลัพธ์
              
              
### queryAllTag

> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง
> * หากไม่มีปัญหาเกี่ยวกับสภาพแวดล้อม [onTagMessage](#onTagMessage) จะเรียกกลับผลลัพธ์

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ค้นหาแท็กทั้งหมด รับลอจิก และรับแท็กทั้งหมด * * @param context ไม่สามารถเป็นค่าว่างได้ * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดโดยผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ */ public static void queryAllTag(Context context, int sequence, String... tags)
              
               /**
  * ค้นหาแท็กทั้งหมด รับลอจิก และรับแท็กทั้งหมด
  *
  * @param context ไม่สามารถเป็นค่าว่างได้
  * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดโดยผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ
  */
 public static void queryAllTag(Context context, int sequence, String... tags)

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

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

// กำหนดค่าคงที่ที่นี่ซึ่งแสดงถึงการค้นหาแท็กทั้งหมด private static final int SEQUENCE_TAG_QUERY_ALL = 6; // ค้นหาแท็กทั้งหมด MTPushPrivatesApi.queryAllTag(context,SEQUENCE_TAG_QUERY_ALL)

// หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onTagMessage เพื่อรับการเรียกกลับการดำเนินการแท็ก @Override public void onTagMessage(Context context, TagMessage tagMessage){ if(tagMessage.getCode != MTPushPrivatesApi.Code.Success){ // การดำเนินการแท็กล้มเหลว สำหรับข้อมูลข้อผิดพลาดโดยละเอียด โปรดดูที่ MTPushPrivatesApi.Code return; } if(tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL){ // ค้นหาแท็กทั้งหมดสำเร็จ ในขณะนี้ คุณสามารถดูอาร์เรย์แท็กที่ดำเนินการสำเร็จได้ String[] tags = tagMessage. getTags(); } }

### setAlias > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง > * หากไม่มีปัญหาเกี่ยวกับสภาพแวดล้อม [onAliasMessage](#onAliasMessage) จะเรียกกลับผลลัพธ์
              
              
### setAlias
> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง
> * หากไม่มีปัญหาเกี่ยวกับสภาพแวดล้อม [onAliasMessage](#onAliasMessage) จะเรียกกลับผลลัพธ์

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ตั้งค่า alias * * ขอแนะนำให้ใช้ alias ที่แตกต่างกันสำหรับผู้ใช้ที่แตกต่างกันในแอปพลิเคชันเดียวกัน วิธีนี้จะระบุผู้ใช้โดย alias ของพวกเขาได้อย่างชัดเจนเมื่อเป็นไปได้ * * อย่าจำกัด alias และกำหนดผู้ใช้เพียงคนเดียว * * @param context ไม่สามารถเป็นค่าว่างได้ * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดโดยผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ * @param alias องค์ประกอบ alias ที่ถูกต้อง: ตัวอักษร (แยกตัวพิมพ์ใหญ่และเล็ก), ตัวเลข, ขีดล่าง, อักษรจีน, อักขระพิเศษ @!#$&*+=.|. ข้อจำกัด: ความยาวของชื่อ alias ถูกจำกัดไว้ที่ 40 ไบต์ (ต้องใช้การเข้ารหัส UTF-8 เพื่อกำหนดความยาว) * */ public static void setAlias(Context context, int sequence, String alias)
              
               /**
  * ตั้งค่า alias
  *
  * ขอแนะนำให้ใช้ alias ที่แตกต่างกันสำหรับผู้ใช้ที่แตกต่างกันในแอปพลิเคชันเดียวกัน วิธีนี้จะระบุผู้ใช้โดย alias ของพวกเขาได้อย่างชัดเจนเมื่อเป็นไปได้
  *
  * อย่าจำกัด alias และกำหนดผู้ใช้เพียงคนเดียว
  *
  * @param context ไม่สามารถเป็นค่าว่างได้
  * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดโดยผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ
  * @param alias องค์ประกอบ alias ที่ถูกต้อง: ตัวอักษร (แยกตัวพิมพ์ใหญ่และเล็ก), ตัวเลข, ขีดล่าง, อักษรจีน, อักขระพิเศษ @!#$&*+=.|. ข้อจำกัด: ความยาวของชื่อ alias ถูกจำกัดไว้ที่ 40 ไบต์ (ต้องใช้การเข้ารหัส UTF-8 เพื่อกำหนดความยาว)
  *
  */
 public static void setAlias(Context context, int sequence, String alias)

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

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

// กำหนดค่าคงที่ที่นี่ซึ่งแสดงถึงการตั้งค่า alias private static final int SEQUENCE_ALIAS_SET = 7; // ตั้งค่า alias: "young" MTPushPrivatesApi.setAlias(context,SEQUENCE_ALIAS_SET,"young")

// หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onAliasMessage เพื่อรับการเรียกกลับการดำเนินการ alias @Override public void onAliasMessage(Context context, AliasMessage aliasMessage){ if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){ // การดำเนินการ alias ล้มเหลว สำหรับข้อมูลข้อผิดพลาดโดยละเอียด โปรดดูที่ MTPushPrivatesApi.Code return; } if(aliasMessage.getSequence() == SEQUENCE_ALIAS_SET){ // ตั้งค่า alias สำเร็จ และคุณสามารถดู alias ที่ดำเนินการสำเร็จได้ในขณะนี้ String alias = aliasMessage. getAlias(); } }

### getAlias > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง > * หากไม่มีปัญหาเกี่ยวกับสภาพแวดล้อม [onAliasMessage](#onAliasMessage) จะเรียกกลับผลลัพธ์
              
              
### getAlias

> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง
> * หากไม่มีปัญหาเกี่ยวกับสภาพแวดล้อม [onAliasMessage](#onAliasMessage) จะเรียกกลับผลลัพธ์

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * รับ alias * * ขอแนะนำให้ใช้ alias ที่แตกต่างกันสำหรับผู้ใช้ที่แตกต่างกันในแอปพลิเคชันเดียวกัน วิธีนี้จะระบุผู้ใช้โดย alias ของพวกเขาได้อย่างชัดเจนเมื่อเป็นไปได้ * * อย่าจำกัด alias และกำหนดผู้ใช้เพียงคนเดียว * * @param context ไม่สามารถเป็นค่าว่างได้ * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดโดยผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ */ public static void getAlias(Context context, int sequence)
              
               /**
  * รับ alias
  *
  * ขอแนะนำให้ใช้ alias ที่แตกต่างกันสำหรับผู้ใช้ที่แตกต่างกันในแอปพลิเคชันเดียวกัน วิธีนี้จะระบุผู้ใช้โดย alias ของพวกเขาได้อย่างชัดเจนเมื่อเป็นไปได้
  *
  * อย่าจำกัด alias และกำหนดผู้ใช้เพียงคนเดียว
  *
  * @param context ไม่สามารถเป็นค่าว่างได้
  * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดโดยผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ
  */
 public static void getAlias(Context context, int sequence)

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

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

// กำหนดค่าคงที่ที่นี่ซึ่งแสดงถึงการดำเนินการรับ alias private static final int SEQUENCE_ALIAS_GET = 8; // รับ alias MTPushPrivatesApi.getAlias(context,SEQUENCE_ALIAS_GET)

// หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onAliasMessage เพื่อรับการเรียกกลับการดำเนินการ alias @Override public void onAliasMessage(Context context, AliasMessage aliasMessage){ if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){ // การดำเนินการ alias ล้มเหลว สำหรับข้อมูลข้อผิดพลาดโดยละเอียด โปรดดูที่ MTPushPrivatesApi.Code return; } if(aliasMessage.getSequence() == SEQUENCE_ALIAS_GET){ // รับ alias สำเร็จ คุณสามารถดู alias ที่ดำเนินการสำเร็จได้ในขณะนี้ String alias = aliasMessage. getAlias(); } }

### clearAlias > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง > * หากไม่มีปัญหาเกี่ยวกับสภาพแวดล้อม [onAliasMessage](#onAliasMessage) จะเรียกกลับผลลัพธ์
              
              
### clearAlias

> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง
> * หากไม่มีปัญหาเกี่ยวกับสภาพแวดล้อม [onAliasMessage](#onAliasMessage) จะเรียกกลับผลลัพธ์

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ลบ alias * * ขอแนะนำให้ใช้ alias ที่แตกต่างกันสำหรับผู้ใช้ที่แตกต่างกันในแอปพลิเคชันเดียวกัน วิธีนี้จะระบุผู้ใช้โดย alias ของพวกเขาได้อย่างชัดเจนเมื่อเป็นไปได้ * * อย่าจำกัด alias และกำหนดผู้ใช้เพียงคนเดียว * * @param context ไม่สามารถเป็นค่าว่างได้ * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดโดยผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ */ public static void clearAlias(Context context, int sequence)
              
               /**
  * ลบ alias
  *
  * ขอแนะนำให้ใช้ alias ที่แตกต่างกันสำหรับผู้ใช้ที่แตกต่างกันในแอปพลิเคชันเดียวกัน วิธีนี้จะระบุผู้ใช้โดย alias ของพวกเขาได้อย่างชัดเจนเมื่อเป็นไปได้
  *
  * อย่าจำกัด alias และกำหนดผู้ใช้เพียงคนเดียว
  *
  * @param context ไม่สามารถเป็นค่าว่างได้
  * @param sequence หมายเลขลำดับการดำเนินการที่กำหนดโดยผู้ใช้ ส่งคืนพร้อมกับผลลัพธ์การดำเนินการ ใช้เพื่อระบุความเป็นเอกลักษณ์ของการดำเนินการ
  */
 public static void clearAlias(Context context, int sequence)

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

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

// กำหนดค่าคงที่ที่นี่เพื่อแสดงถึงการดำเนินการลบ alias private static final int SEQUENCE_ALIAS_CLEAR = 7; // ลบ alias MTPushPrivatesApi.clearAlias(context,SEQUENCE_ALIAS_CLEAR)

// หลังจากสืบทอด MTCommonReceiver ให้เขียนทับเมธอด onAliasMessage เพื่อรับการเรียกกลับการดำเนินการ alias @Override public void onAliasMessage(Context context, AliasMessage aliasMessage){ if(aliasMessage.getCode != MTPushPrivatesApi.Code.Success){ // การดำเนินการ alias ล้มเหลว สำหรับข้อมูลข้อผิดพลาดโดยละเอียด โปรดดูที่ MTPushPrivatesApi.Code return; } if(aliasMessage.getSequence() == SEQUENCE_ALIAS_CLEAR){ // ลบ alias สำเร็จ } }

### setNotificationShowTime > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง > * ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab/ช่องทาง Google เมื่อแอปอยู่ในโหมดเบื้องหน้า (แสดงโดย Engagelab)
              
              
### setNotificationShowTime

> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง
> * ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab/ช่องทาง Google เมื่อแอปอยู่ในโหมดเบื้องหน้า (แสดงโดย Engagelab)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ตั้งค่าเวลาการแสดงการแจ้งเตือน ซึ่งจะแสดงโดยค่าเริ่มต้นตลอดเวลา * * @param context ไม่สามารถเป็นค่าว่างได้ * @param beginHour เวลาเริ่มต้น (ในรูปแบบ 24 ชั่วโมง ช่วง 0 ถึง 23) เพื่ออนุญาตให้แสดงการแจ้งเตือน * @param endHour เวลาสิ้นสุดที่อนุญาตให้แสดงการแจ้งเตือน (นาฬิกา 24 ชั่วโมง ช่วงคือ 0 ถึง 23) beginHour ไม่สามารถมากกว่าหรือเท่ากับ endHour * @param weekDays อาร์เรย์วันในสัปดาห์ที่อนุญาตให้แสดงการแจ้งเตือน (ระบบ 7 วัน ช่วงตั้งแต่ 1 ถึง 7) อาร์เรย์ว่างหมายถึงจะไม่มีการแสดงการแจ้งเตือนในเวลาใด ๆ */ public static void setNotificationShowTime(Context context, int beginHour, int endHour, int... weekDays)
              
               /**
  * ตั้งค่าเวลาการแสดงการแจ้งเตือน ซึ่งจะแสดงโดยค่าเริ่มต้นตลอดเวลา
  *
  * @param context ไม่สามารถเป็นค่าว่างได้
  * @param beginHour เวลาเริ่มต้น (ในรูปแบบ 24 ชั่วโมง ช่วง 0 ถึง 23) เพื่ออนุญาตให้แสดงการแจ้งเตือน
  * @param endHour เวลาสิ้นสุดที่อนุญาตให้แสดงการแจ้งเตือน (นาฬิกา 24 ชั่วโมง ช่วงคือ 0 ถึง 23) beginHour ไม่สามารถมากกว่าหรือเท่ากับ endHour
  * @param weekDays อาร์เรย์วันในสัปดาห์ที่อนุญาตให้แสดงการแจ้งเตือน (ระบบ 7 วัน ช่วงตั้งแต่ 1 ถึง 7) อาร์เรย์ว่างหมายถึงจะไม่มีการแสดงการแจ้งเตือนในเวลาใด ๆ
  */
 public static void setNotificationShowTime(Context context, int beginHour, int endHour, int... weekDays)

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
// ตั้งค่าเวลาการแสดงการแจ้งเตือนตั้งแต่ 9 โมงเช้าถึง 3 ทุ่มในวัน 1/3/5/7 ของทุกสัปดาห์ MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1,3,5,7);
              
               // ตั้งค่าเวลาการแสดงการแจ้งเตือนตั้งแต่ 9 โมงเช้าถึง 3 ทุ่มในวัน 1/3/5/7 ของทุกสัปดาห์
 MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1,3,5,7);

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
### resetNotificationShowTime > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง > * ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab/ช่องทาง Google เมื่อแอปอยู่ในโหมดเบื้องหน้า (แสดงโดย Engagelab)
              
              ### resetNotificationShowTime

> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง
> * ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab/ช่องทาง Google เมื่อแอปอยู่ในโหมดเบื้องหน้า (แสดงโดย Engagelab)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * รีเซ็ตเวลาการแสดงการแจ้งเตือน จะแสดงโดยค่าเริ่มต้นตลอดเวลา * * @param context ไม่สามารถเป็นค่าว่างได้ */ public static void resetNotificationShowTime(Context context)
              
               /**
  * รีเซ็ตเวลาการแสดงการแจ้งเตือน จะแสดงโดยค่าเริ่มต้นตลอดเวลา
  *
  * @param context ไม่สามารถเป็นค่าว่างได้
  */
 public static void resetNotificationShowTime(Context context)

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
// รีเซ็ตเวลาการแสดงการแจ้งเตือน ซึ่งจะแสดงโดยค่าเริ่มต้นตลอดเวลา MTPushPrivatesApi.resetNotificationShowTime(context);
              
               // รีเซ็ตเวลาการแสดงการแจ้งเตือน ซึ่งจะแสดงโดยค่าเริ่มต้นตลอดเวลา
 MTPushPrivatesApi.resetNotificationShowTime(context);

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
### setNotificationSilenceTime > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง > * ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab/ช่องทาง Google เมื่อแอปอยู่ในโหมดเบื้องหน้า (แสดงโดย Engagelab)
              
              
### setNotificationSilenceTime

> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง
> * ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab/ช่องทาง Google เมื่อแอปอยู่ในโหมดเบื้องหน้า (แสดงโดย Engagelab)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ตั้งค่าเวลาการแจ้งเตือนแบบเงียบ ค่าเริ่มต้นจะไม่เงียบในเวลาใด ๆ * * @param context ไม่สามารถเป็นค่าว่างได้ * @param beginHour เวลาเริ่มต้นที่อนุญาตให้การแจ้งเตือนเงียบ เป็นชั่วโมง (รูปแบบ 24 ชั่วโมง ช่วง 0 ถึง 23) * @param beginMinute เวลาเริ่มต้นที่อนุญาตให้การแจ้งเตือนเงียบ เป็นนาที (60 นาที ช่วงคือ 0 ถึง 59 ) * @param endHour เวลาสิ้นสุดที่อนุญาตให้การแจ้งเตือนเงียบ เป็นชั่วโมง (นาฬิกา 24 ชั่วโมง ช่วง 0 ถึง 23 ) * @param endMinute เวลาสิ้นสุดที่อนุญาตให้การแจ้งเตือนเงียบ เป็นนาที (60 นาที ช่วงคือ 0 ถึง 59) */ public static void setNotificationSilenceTime(Context context, int beginHour, int beginMinute, int endHour, int endMinute)
              
               /**
  * ตั้งค่าเวลาการแจ้งเตือนแบบเงียบ ค่าเริ่มต้นจะไม่เงียบในเวลาใด ๆ
  *
  * @param context ไม่สามารถเป็นค่าว่างได้
  * @param beginHour เวลาเริ่มต้นที่อนุญาตให้การแจ้งเตือนเงียบ เป็นชั่วโมง (รูปแบบ 24 ชั่วโมง ช่วง 0 ถึง 23)
  * @param beginMinute เวลาเริ่มต้นที่อนุญาตให้การแจ้งเตือนเงียบ เป็นนาที (60 นาที ช่วงคือ 0 ถึง 59 )
  * @param endHour เวลาสิ้นสุดที่อนุญาตให้การแจ้งเตือนเงียบ เป็นชั่วโมง (นาฬิกา 24 ชั่วโมง ช่วง 0 ถึง 23 )
  * @param endMinute เวลาสิ้นสุดที่อนุญาตให้การแจ้งเตือนเงียบ เป็นนาที (60 นาที ช่วงคือ 0 ถึง 59)
  */
 public static void setNotificationSilenceTime(Context context, int beginHour, int beginMinute, int endHour, int endMinute)

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
// ตั้งค่าเวลาการแจ้งเตือนแบบเงียบตั้งแต่ 3 ทุ่มครึ่งถึง 9 โมงครึ่งของวันถัดไป MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30);
              
               // ตั้งค่าเวลาการแจ้งเตือนแบบเงียบตั้งแต่ 3 ทุ่มครึ่งถึง 9 โมงครึ่งของวันถัดไป
 MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30);

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
### resetNotificationSilenceTime > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง > * ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab/ช่องทาง Google เมื่อแอปอยู่ในโหมดเบื้องหน้า (แสดงโดย Engagelab)
              
              
### resetNotificationSilenceTime

> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้งานจะไม่ถูกต้อง
> * ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab/ช่องทาง Google เมื่อแอปอยู่ในโหมดเบื้องหน้า (แสดงโดย Engagelab)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * รีเซ็ตเวลาการแจ้งเตือนแบบเงียบ ค่าเริ่มต้นจะไม่เงียบในเวลาใด ๆ * * @param context ไม่สามารถเป็นค่าว่างได้ */ public static void resetNotificationSilenceTime(Context context)
              
               /**
  * รีเซ็ตเวลาการแจ้งเตือนแบบเงียบ ค่าเริ่มต้นจะไม่เงียบในเวลาใด ๆ
  *
  * @param context ไม่สามารถเป็นค่าว่างได้
  */
 public static void resetNotificationSilenceTime(Context context)

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
// รีเซ็ตเวลาการแจ้งเตือนแบบเงียบ ค่าเริ่มต้นจะไม่เงียบในเวลาใด ๆ MTPushPrivatesApi.resetNotificationSilenceTime(context);
              
               // รีเซ็ตเวลาการแจ้งเตือนแบบเงียบ ค่าเริ่มต้นจะไม่เงียบในเวลาใด ๆ
 MTPushPrivatesApi.resetNotificationSilenceTime(context);

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

setNotificationLayout

  • โปรด init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
  • ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab
/** * ตั้งค่าการจัดวางการแจ้งเตือนแบบกำหนดเอง โดยค่าเริ่มต้นจะใช้การจัดวางการแจ้งเตือนของระบบ * * @param context ต้องไม่เป็นค่าว่าง * @param builderId รหัสการสร้าง * @param notificationLayout วัตถุของการจัดวางการแจ้งเตือนแบบกำหนดเอง ต้องไม่เป็นค่าว่าง */ public static void setNotificationLayout(Context context, int builderId, NotificationLayout notificationLayout)
              
                   /**
      * ตั้งค่าการจัดวางการแจ้งเตือนแบบกำหนดเอง โดยค่าเริ่มต้นจะใช้การจัดวางการแจ้งเตือนของระบบ
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param builderId รหัสการสร้าง
      * @param notificationLayout วัตถุของการจัดวางการแจ้งเตือนแบบกำหนดเอง ต้องไม่เป็นค่าว่าง
      */
     public static void setNotificationLayout(Context context, int builderId, NotificationLayout notificationLayout)

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

ตัวอย่างโค้ดดังนี้

// กำหนดค่าคงที่ที่นี่ แทนรหัสการสร้าง private static final int BUILDER_ID = 11; // สร้าง notificationLayout NotificationLayout notificationLayout = new NotificationLayout() .setLayoutId(R.layout.custom_notification_layout) // layout layout_id .setIconViewId(R.id.iv_notification_icon) // notification icon view_id .setIconResourceId(R.drawable.mtpush_notification_icon) // notification icon source_id .setTitleViewId(R.id.tv_notification_title) // notification title view_id .setContentViewId(R.id.tv_notification_content) // notification content view_id .setTimeViewId(R.id.tv_notification_time); // notification time view_id // ตั้งค่าการจัดวางแบบกำหนดเองด้วยรหัสการสร้างเป็น BUILDER_ID และระบุ builderId เป็น BUILDER_ID เมื่อส่งการแจ้งเตือนเพื่อเปลี่ยนการจัดวางการแจ้งเตือน MTPushPrivatesApi.setNotificationLayout(this.getApplicationContext(), BUILDER_ID, notificationLayout);
              
              // กำหนดค่าคงที่ที่นี่ แทนรหัสการสร้าง
private static final int BUILDER_ID = 11;

// สร้าง notificationLayout
     NotificationLayout notificationLayout = new NotificationLayout()
             .setLayoutId(R.layout.custom_notification_layout) // layout layout_id
             .setIconViewId(R.id.iv_notification_icon) // notification icon view_id
             .setIconResourceId(R.drawable.mtpush_notification_icon) // notification icon source_id
             .setTitleViewId(R.id.tv_notification_title) // notification title view_id
             .setContentViewId(R.id.tv_notification_content) // notification content view_id
             .setTimeViewId(R.id.tv_notification_time); // notification time view_id
 
     // ตั้งค่าการจัดวางแบบกำหนดเองด้วยรหัสการสร้างเป็น BUILDER_ID และระบุ builderId เป็น BUILDER_ID เมื่อส่งการแจ้งเตือนเพื่อเปลี่ยนการจัดวางการแจ้งเตือน
     MTPushPrivatesApi.setNotificationLayout(this.getApplicationContext(), BUILDER_ID, notificationLayout);

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

resetNotificationLayout

  • โปรด init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
  • ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab
/** * รีเซ็ตการจัดวางการแจ้งเตือนแบบกำหนดเอง โดยค่าเริ่มต้นจะใช้การจัดวางการแจ้งเตือนของระบบ * * @param context ต้องไม่เป็นค่าว่าง * @param builderId รหัสของการจัดวางการแจ้งเตือนแบบกำหนดเอง */ public static void resetNotificationLayout(Context context, int builderId)
              
                   /**
      * รีเซ็ตการจัดวางการแจ้งเตือนแบบกำหนดเอง โดยค่าเริ่มต้นจะใช้การจัดวางการแจ้งเตือนของระบบ
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param builderId รหัสของการจัดวางการแจ้งเตือนแบบกำหนดเอง
      */
     public static void resetNotificationLayout(Context context, int builderId)

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

ตัวอย่างโค้ดดังนี้

// กำหนดค่าคงที่ที่นี่ แทนรหัสการสร้าง private static final int BUILDER_ID = 11; // รีเซ็ตการจัดวางแบบกำหนดเองด้วยรหัสการสร้างเป็น BUILDER_ID ระบุ builderId เป็น BUILDER_ID เมื่อส่งการแจ้งเตือน และใช้การจัดวางเริ่มต้นของระบบ MTPushPrivatesApi.resetNotificationLayout(context,BUILDER_ID);
              
              // กำหนดค่าคงที่ที่นี่ แทนรหัสการสร้าง
private static final int BUILDER_ID = 11;

     // รีเซ็ตการจัดวางแบบกำหนดเองด้วยรหัสการสร้างเป็น BUILDER_ID ระบุ builderId เป็น BUILDER_ID เมื่อส่งการแจ้งเตือน และใช้การจัดวางเริ่มต้นของระบบ
     MTPushPrivatesApi.resetNotificationLayout(context,BUILDER_ID);

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

setNotificationCount

  • โปรด init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
  • ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab/ช่องทาง Google เมื่อแอปอยู่ในโหมด foreground (แสดงโดย Engagelab)
/** * ตั้งค่าจำนวนการแจ้งเตือนในแถบการแจ้งเตือน ค่าเริ่มต้นคือ 5 * * @param context ต้องไม่เป็นค่าว่าง * @param count จำกัดจำนวนการแจ้งเตือนในแถบการแจ้งเตือน หากจำนวนเกินขีดจำกัด การแจ้งเตือนที่เก่าที่สุดจะถูกลบออก ไม่สามารถน้อยกว่าหรือเท่ากับ 0 */ public static void setNotificationCount(Context context, int count)
              
                   /**
      * ตั้งค่าจำนวนการแจ้งเตือนในแถบการแจ้งเตือน ค่าเริ่มต้นคือ 5
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param count จำกัดจำนวนการแจ้งเตือนในแถบการแจ้งเตือน หากจำนวนเกินขีดจำกัด การแจ้งเตือนที่เก่าที่สุดจะถูกลบออก ไม่สามารถน้อยกว่าหรือเท่ากับ 0
      */
     public static void setNotificationCount(Context context, int count)

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

ตัวอย่างโค้ดดังนี้

// ตั้งค่าจำนวนการแจ้งเตือนในแถบการแจ้งเตือนเป็น 50 MTPushPrivatesApi.setNotificationCount(context,50);
              
                   // ตั้งค่าจำนวนการแจ้งเตือนในแถบการแจ้งเตือนเป็น 50
     MTPushPrivatesApi.setNotificationCount(context,50);

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

resetNotificationCount

  • โปรด init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
  • ช่องทางที่รองรับในปัจจุบัน: ช่องทาง Engagelab/ช่องทาง Google เมื่อแอปอยู่ในโหมด foreground (แสดงโดย Engagelab)
/** * รีเซ็ตจำนวนการแจ้งเตือนในแถบการแจ้งเตือน ค่าเริ่มต้นคือ 5 * * @param context ต้องไม่เป็นค่าว่าง */ public static void resetNotificationCount(Context context)
              
                   /**
      * รีเซ็ตจำนวนการแจ้งเตือนในแถบการแจ้งเตือน ค่าเริ่มต้นคือ 5
      *
      * @param context ต้องไม่เป็นค่าว่าง
      */
     public static void resetNotificationCount(Context context)

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

ตัวอย่างโค้ดดังนี้

// รีเซ็ตจำนวนการแจ้งเตือนในแถบการแจ้งเตือน ค่าเริ่มต้นคือ 5 MTPushPrivatesApi.resetNotificationCount(context);
              
                   // รีเซ็ตจำนวนการแจ้งเตือนในแถบการแจ้งเตือน ค่าเริ่มต้นคือ 5
     MTPushPrivatesApi.resetNotificationCount(context);

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

setNotificationBadge

  • โปรด init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
/** * ตั้งค่าจำนวน badge ของแอป ค่าเริ่มต้นคือ 0 (ใช้ได้เฉพาะ Huawei/Honor) * * @param context ต้องไม่เป็นค่าว่าง * @param badge จำนวน badge ของแอป */ public static void setNotificationBadge(Context context, int badge)
              
                   /**
      * ตั้งค่าจำนวน badge ของแอป ค่าเริ่มต้นคือ 0 (ใช้ได้เฉพาะ Huawei/Honor)
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param badge จำนวน badge ของแอป
      */
     public static void setNotificationBadge(Context context, int badge)

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

ตัวอย่างโค้ดดังนี้

// ตั้งค่าจำนวน badge ของแอปเป็น 1 MTPushPrivatesApi.setNotificationBadge(context,1);
              
                   // ตั้งค่าจำนวน badge ของแอปเป็น 1
     MTPushPrivatesApi.setNotificationBadge(context,1);

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

resetNotificationBadge

  • โปรด init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
/** * รีเซ็ตจำนวน badge ของแอป ค่าเริ่มต้นคือ 0 (ใช้ได้เฉพาะ Huawei/Honor) * * @param context ต้องไม่เป็นค่าว่าง */ public static void resetNotificationBadge(Context context) {
              
                   /**
      * รีเซ็ตจำนวน badge ของแอป ค่าเริ่มต้นคือ 0 (ใช้ได้เฉพาะ Huawei/Honor)
      *
      * @param context ต้องไม่เป็นค่าว่าง
      */
     public static void resetNotificationBadge(Context context) {

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

ตัวอย่างโค้ดดังนี้

// รีเซ็ตจำนวน badge ของแอป ค่าเริ่มต้นคือ 0 MTPushPrivatesApi.resetNotificationBadge(context);
              
                   // รีเซ็ตจำนวน badge ของแอป ค่าเริ่มต้นคือ 0
     MTPushPrivatesApi.resetNotificationBadge(context);

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

showNotification

  • โปรด init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
/** * แสดงการแจ้งเตือน * * @param context ต้องไม่เป็นค่าว่าง * @param notificationMessage วัตถุการแจ้งเตือนที่สร้างขึ้น ต้องไม่เป็นค่าว่าง */ public static void showNotification(Context context, NotificationMessage notificationMessage)
              
                   /**
      * แสดงการแจ้งเตือน
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param notificationMessage วัตถุการแจ้งเตือนที่สร้างขึ้น ต้องไม่เป็นค่าว่าง
      */
     public static void showNotification(Context context, NotificationMessage notificationMessage)

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

ตัวอย่างโค้ดดังนี้

// สร้างการแจ้งเตือนพื้นฐาน โดย messageId และ content เป็นสิ่งจำเป็น มิฉะนั้นการแจ้งเตือนจะไม่สามารถแสดงได้ NotificationMessage notificationMessage = new NotificationMessage() .setMessageId("12345") .setNotificationId(12345) .setTitle("custom_notification_title") .setContent("custom_notification_content"); // แสดงการแจ้งเตือน MTPushPrivatesApi. showNotification(context, notificationMessage);
              
                   // สร้างการแจ้งเตือนพื้นฐาน โดย messageId และ content เป็นสิ่งจำเป็น มิฉะนั้นการแจ้งเตือนจะไม่สามารถแสดงได้
     NotificationMessage notificationMessage = new NotificationMessage()
             .setMessageId("12345")
             .setNotificationId(12345)
             .setTitle("custom_notification_title")
             .setContent("custom_notification_content");
     // แสดงการแจ้งเตือน
     MTPushPrivatesApi. showNotification(context, notificationMessage);

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

clearNotification

  • โปรด init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
/** * ลบการแจ้งเตือนด้วย notifyId ที่ระบุ * * @param context ต้องไม่เป็นค่าว่าง * @param notifyId รหัสการแจ้งเตือน */ public static void clearNotification(Context context, int notifyId)
              
                   /**
      * ลบการแจ้งเตือนด้วย notifyId ที่ระบุ
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param notifyId รหัสการแจ้งเตือน
      */
     public static void clearNotification(Context context, int notifyId)

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

ตัวอย่างโค้ดดังนี้

// ลบการแจ้งเตือนด้วย notifyId ที่ระบุ MTPushPrivatesApi.clearNotification(context,12345);
              
                   // ลบการแจ้งเตือนด้วย notifyId ที่ระบุ
     MTPushPrivatesApi.clearNotification(context,12345);

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

reportNotificationArrived

  • โปรด init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
  • ไม่ได้รวมแพ็คเกจผู้ผลิตของ Engagelab แต่ต้องการให้ Engagelab นับอัตราการส่งการแจ้งเตือน โปรดเรียกใช้อินเทอร์เฟซนี้
/** * รายงานการมาถึงของการแจ้งเตือนช่องทางผู้ผลิต * * ใช้ http/https ในการรายงาน * * @param context ต้องไม่เป็นค่าว่าง * @param messageId รหัสข้อความของ Engagelab ต้องไม่เป็นค่าว่าง * @param platform ผู้ผลิต ช่วงค่าคือ (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId รหัสข้อความของผู้ผลิต สามารถเป็นค่าว่างได้ */ public static void reportNotificationArrived(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * รายงานการมาถึงของการแจ้งเตือนช่องทางผู้ผลิต
      *
      * ใช้ http/https ในการรายงาน
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param messageId รหัสข้อความของ Engagelab ต้องไม่เป็นค่าว่าง
      * @param platform ผู้ผลิต ช่วงค่าคือ (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId รหัสข้อความของผู้ผลิต สามารถเป็นค่าว่างได้
      */
     public static void reportNotificationArrived(Context context, String messageId, byte platform, String platformMessageId)

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

ตัวอย่างโค้ดดังนี้

// รายงานการมาถึงของการแจ้งเตือนผู้ผลิต โดย messageId คือ "12345" ผู้ผลิตคือ Xiaomi และรหัสข้อความของผู้ผลิตคือ "MI-6476RHT25" MTPushPrivatesApi.reportNotificationArrived(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25");
              
                   // รายงานการมาถึงของการแจ้งเตือนผู้ผลิต โดย messageId คือ "12345" ผู้ผลิตคือ Xiaomi และรหัสข้อความของผู้ผลิตคือ "MI-6476RHT25"
     MTPushPrivatesApi.reportNotificationArrived(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25");

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

reportNotificationClicked

  • โปรด init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
  • ไม่ได้รวมแพ็คเกจผู้ผลิตของ Engagelab แต่ต้องการให้ Engagelab นับและแจ้งอัตราการคลิก โปรดเรียกใช้อินเทอร์เฟซนี้
/** * รายงานการคลิกการแจ้งเตือนช่องทางผู้ผลิต * * ใช้ http/https ในการรายงาน * * @param context ต้องไม่เป็นค่าว่าง * @param messageId รหัสข้อความของ Engagelab ต้องไม่เป็นค่าว่าง * @param platform ผู้ผลิต ช่วงค่าคือ (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId รหัสข้อความของผู้ผลิต สามารถเป็นค่าว่างได้ */ public static void reportNotificationClicked(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * รายงานการคลิกการแจ้งเตือนช่องทางผู้ผลิต
      *
      * ใช้ http/https ในการรายงาน
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param messageId รหัสข้อความของ Engagelab ต้องไม่เป็นค่าว่าง
      * @param platform ผู้ผลิต ช่วงค่าคือ (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId รหัสข้อความของผู้ผลิต สามารถเป็นค่าว่างได้
      */
     public static void reportNotificationClicked(Context context, String messageId, byte platform, String platformMessageId)

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

ตัวอย่างโค้ดดังนี้

// รายงานการคลิกการแจ้งเตือนของผู้ผลิต โดย messageId คือ "12345" ผู้ผลิตคือ Xiaomi และรหัสข้อความของผู้ผลิตคือ "MI-6476RHT25" MTPushPrivatesApi.reportNotificationClicked(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25");
              
                   // รายงานการคลิกการแจ้งเตือนของผู้ผลิต โดย messageId คือ "12345" ผู้ผลิตคือ Xiaomi และรหัสข้อความของผู้ผลิตคือ "MI-6476RHT25"
     MTPushPrivatesApi.reportNotificationClicked(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25");

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

reportNotificationDeleted

  • โปรด init ก่อน มิฉะนั้นการเรียกจะไม่ถูกต้อง
  • ไม่ได้รวมแพ็คเกจผู้ผลิตของ Engagelab แต่ต้องการให้ Engagelab นับอัตราการลบการแจ้งเตือน โปรดเรียกใช้อินเทอร์เฟซนี้
/** * รายงานการลบการแจ้งเตือนช่องทางผู้ผลิต * * ใช้ http/https ในการรายงาน * * @param context ต้องไม่เป็นค่าว่าง * @param messageId รหัสข้อความของ Engagelab ต้องไม่เป็นค่าว่าง * @param platform ผู้ผลิต ช่วงค่าคือ (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId รหัสข้อความของผู้ผลิต สามารถเป็นค่าว่างได้ */ public static void reportNotificationDeleted(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * รายงานการลบการแจ้งเตือนช่องทางผู้ผลิต
      *
      * ใช้ http/https ในการรายงาน
      *
      * @param context ต้องไม่เป็นค่าว่าง
      * @param messageId รหัสข้อความของ Engagelab ต้องไม่เป็นค่าว่าง
      * @param platform ผู้ผลิต ช่วงค่าคือ (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId รหัสข้อความของผู้ผลิต สามารถเป็นค่าว่างได้
      */
     public static void reportNotificationDeleted(Context context, String messageId, byte platform, String platformMessageId)

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

ตัวอย่างโค้ดดังนี้

// รายงานการลบการแจ้งเตือนของผู้ผลิต โดย messageId คือ "12345" ผู้ผลิตคือ mi และรหัสข้อความของผู้ผลิตคือ "MI-6476RHT25" MTPushPrivatesApi.reportNotificationDeleted(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25"); ### reportNotificationOpened > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้จะไม่ถูกต้อง > * หากแพ็กเกจผู้จำหน่ายของ Engagelab ไม่ได้ถูกรวมเข้าด้วยกัน แต่ต้องการให้ Engagelab นับอัตราการเปิดการแจ้งเตือน โปรดเรียกใช้อินเทอร์เฟซนี้ > * ผู้ผลิตบางราย (เช่น Huawei/Oppo/Vivo) ไม่ได้ให้การเรียกกลับสำหรับการมาถึงของการแจ้งเตือนและการคลิกการแจ้งเตือน หลังจากกำหนดค่ากิจกรรมที่การคลิกการแจ้งเตือนจะกระโดดไป คุณสามารถรับพารามิเตอร์รายงานในกิจกรรมที่กระโดดได้ ขอแนะนำให้ผู้ผลิตทั้งหมดกำหนดค่ากิจกรรมที่การคลิกการแจ้งเตือนจะกระโดดไป > * เวอร์ชัน MTPush4.0.0 และสูงกว่าไม่จำเป็นต้องใช้สิ่งนี้
              
                   // รายงานการลบการแจ้งเตือนของผู้ผลิต โดย messageId คือ "12345" ผู้ผลิตคือ mi และรหัสข้อความของผู้ผลิตคือ "MI-6476RHT25"
     MTPushPrivatesApi.reportNotificationDeleted(context,"12345",MTPushPrivatesApi.PLATFORM_XIAOMI,"MI-6476RHT25");


### reportNotificationOpened

> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้จะไม่ถูกต้อง
> * หากแพ็กเกจผู้จำหน่ายของ Engagelab ไม่ได้ถูกรวมเข้าด้วยกัน แต่ต้องการให้ Engagelab นับอัตราการเปิดการแจ้งเตือน โปรดเรียกใช้อินเทอร์เฟซนี้
> * ผู้ผลิตบางราย (เช่น Huawei/Oppo/Vivo) ไม่ได้ให้การเรียกกลับสำหรับการมาถึงของการแจ้งเตือนและการคลิกการแจ้งเตือน หลังจากกำหนดค่ากิจกรรมที่การคลิกการแจ้งเตือนจะกระโดดไป คุณสามารถรับพารามิเตอร์รายงานในกิจกรรมที่กระโดดได้ ขอแนะนำให้ผู้ผลิตทั้งหมดกำหนดค่ากิจกรรมที่การคลิกการแจ้งเตือนจะกระโดดไป
> * เวอร์ชัน MTPush4.0.0 และสูงกว่าไม่จำเป็นต้องใช้สิ่งนี้

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * รายงานไปยังช่องทางของผู้ผลิตว่าการแจ้งเตือนถูกเปิด * * ใช้ http/https ในการรายงาน * * @param context ไม่สามารถเป็น null * @param messageId รหัสข้อความของ Engagelab ไม่สามารถเป็น null * @param platform ผู้ผลิต ช่วงค่าคือ (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId รหัสข้อความของผู้จำหน่าย สามารถเป็น null */ public static void reportNotificationOpened(Context context, String messageId, byte platform, String platformMessageId)
              
               /**
  * รายงานไปยังช่องทางของผู้ผลิตว่าการแจ้งเตือนถูกเปิด
  *
  * ใช้ http/https ในการรายงาน
  *
  * @param context ไม่สามารถเป็น null
  * @param messageId รหัสข้อความของ Engagelab ไม่สามารถเป็น null
  * @param platform ผู้ผลิต ช่วงค่าคือ (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
  * @param platformMessageId รหัสข้อความของผู้จำหน่าย สามารถเป็น null
  */
 public static void reportNotificationOpened(Context context, String messageId, byte platform, String platformMessageId)

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
Bundle bundle = intent.getExtras(); String platformMessage = ""; // Huawei if (intent.getData() != null) { platformMessage = intent.getData().toString(); } // ผู้ผลิตรายอื่น if (TextUtils.isEmpty(platformMessage) && intent.getExtras() != null) { if (bundle.containsKey("JMessageExtra")) { platformMessage = bundle.getString("JMessageExtra"); } else { platformMessage = bundle.getString("MTMessageExtra"); } } if (TextUtils.isEmpty(platformMessage)) { return; } JSONObject messageJson = new JSONObject(platformMessage); tvMessage.setText(toLogString(messageJson)); // การแยกวิเคราะห์ String messageId = messageJson.optString("msg_id"); byte platform = (byte) messageJson.optInt("rom_type"); String title = messageJson.optString("n_title"); String content = messageJson.optString("n_content"); // รายงานการแจ้งเตือนและคลิกเพื่อเปิดกิจกรรม ขอแนะนำให้ผู้ผลิตทั้งหมดเพิ่มการกระโดดนี้ จำเป็นเฉพาะสำหรับเวอร์ชันต่ำกว่า MTPush4.0.0 MTPushPrivatesApi.reportNotificationOpened(this, messageId, platform, "");
              
               Bundle bundle = intent.getExtras();
 String platformMessage = "";
 // Huawei
 if (intent.getData() != null) {
     platformMessage = intent.getData().toString();
 }
 // ผู้ผลิตรายอื่น
 if (TextUtils.isEmpty(platformMessage) && intent.getExtras() != null) {
     if (bundle.containsKey("JMessageExtra")) {
          platformMessage = bundle.getString("JMessageExtra");
     } else {
          platformMessage = bundle.getString("MTMessageExtra");
     }
 }
 if (TextUtils.isEmpty(platformMessage)) {
     return;
 }
 JSONObject messageJson = new JSONObject(platformMessage);
 tvMessage.setText(toLogString(messageJson));
 // การแยกวิเคราะห์
 String messageId = messageJson.optString("msg_id");
 byte platform = (byte) messageJson.optInt("rom_type");
 String title = messageJson.optString("n_title");
 String content = messageJson.optString("n_content");
 // รายงานการแจ้งเตือนและคลิกเพื่อเปิดกิจกรรม ขอแนะนำให้ผู้ผลิตทั้งหมดเพิ่มการกระโดดนี้ จำเป็นเฉพาะสำหรับเวอร์ชันต่ำกว่า MTPush4.0.0
 MTPushPrivatesApi.reportNotificationOpened(this, messageId, platform, "");

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
### uploadPlatformToken > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้จะไม่ถูกต้อง > * เนื่องจากการอัปโหลด TCP การเชื่อมต่อระยะยาวต้องสำเร็จ กล่าวคือ [onConnectStatus](#onConnectStatus) เรียกใช้อินเทอร์เฟซนี้หลังจากผลลัพธ์การเรียกกลับเป็นจริง > * หากแพ็กเกจผู้จำหน่ายของ Engagelab ไม่ได้ถูกรวมเข้าด้วยกัน แต่ต้องการให้ Engagelab ส่งข้อความผู้จำหน่าย โปรดเรียกใช้อินเทอร์เฟซนี้
              
              
### uploadPlatformToken

> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้จะไม่ถูกต้อง
> * เนื่องจากการอัปโหลด TCP การเชื่อมต่อระยะยาวต้องสำเร็จ กล่าวคือ [onConnectStatus](#onConnectStatus) เรียกใช้อินเทอร์เฟซนี้หลังจากผลลัพธ์การเรียกกลับเป็นจริง
> * หากแพ็กเกจผู้จำหน่ายของ Engagelab ไม่ได้ถูกรวมเข้าด้วยกัน แต่ต้องการให้ Engagelab ส่งข้อความผู้จำหน่าย โปรดเรียกใช้อินเทอร์เฟซนี้

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * อัปโหลดโทเค็นของผู้ผลิต * * ใช้การอัปโหลด TCP * * @param context ไม่สามารถเป็น null * @param platform ผู้ผลิต ช่วงค่าคือ (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param token โทเค็นที่ผู้ผลิตส่งกลับมา ไม่สามารถเป็น null * @param region เวอร์ชันต่างประเทศของ Xiaomi และ Oppo ต้องตั้งค่าภูมิภาค สำหรับเวอร์ชันระหว่างประเทศให้ใส่: "GLOBAL" และสำหรับเวอร์ชันที่ไม่ใช่ต่างประเทศให้ใส่: "NULL" */ public static void uploadPlatformToken(Context context, byte platform, String token, String region)
              
               /**
  * อัปโหลดโทเค็นของผู้ผลิต
  *
  * ใช้การอัปโหลด TCP
  *
  * @param context ไม่สามารถเป็น null
  * @param platform ผู้ผลิต ช่วงค่าคือ (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
  * @param token โทเค็นที่ผู้ผลิตส่งกลับมา ไม่สามารถเป็น null
  * @param region เวอร์ชันต่างประเทศของ Xiaomi และ Oppo ต้องตั้งค่าภูมิภาค สำหรับเวอร์ชันระหว่างประเทศให้ใส่: "GLOBAL" และสำหรับเวอร์ชันที่ไม่ใช่ต่างประเทศให้ใส่: "NULL"
  */
 public static void uploadPlatformToken(Context context, byte platform, String token, String region)

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
// รายงานโทเค็นของผู้ผลิต ผู้ผลิตคือ mi และโทเค็นของผู้ผลิตคือ "MI-6476s-afs-afs-afaR-HT25" MTPushPrivatesApi.uploadPlatformToken(context, MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476s-afs-afs-afaR-HT25", "NULL");
              
               // รายงานโทเค็นของผู้ผลิต ผู้ผลิตคือ mi และโทเค็นของผู้ผลิตคือ "MI-6476s-afs-afs-afaR-HT25"
 MTPushPrivatesApi.uploadPlatformToken(context, MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476s-afs-afs-afaR-HT25", "NULL");

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
### clearPlatformToken > * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้จะไม่ถูกต้อง > * เนื่องจากใช้ TCP ในการอัปโหลด อินเทอร์เฟซนี้ควรถูกเรียกหลังจากการเชื่อมต่อระยะยาวสำเร็จ กล่าวคือเมื่อผลลัพธ์การเรียกกลับของ [onConnectStatus](#onConnectStatus) เป็นจริง > * หากแพ็กเกจผู้จำหน่ายของ Engagelab ไม่ได้ถูกรวมเข้าด้วยกัน แต่ต้องการให้ Engagelab ส่งข้อความผู้จำหน่าย โปรดเรียกใช้อินเทอร์เฟซนี้
              
              
### clearPlatformToken

> * โปรด [init](#init) ก่อน มิฉะนั้นการเรียกใช้จะไม่ถูกต้อง
> * เนื่องจากใช้ TCP ในการอัปโหลด อินเทอร์เฟซนี้ควรถูกเรียกหลังจากการเชื่อมต่อระยะยาวสำเร็จ กล่าวคือเมื่อผลลัพธ์การเรียกกลับของ [onConnectStatus](#onConnectStatus) เป็นจริง
> * หากแพ็กเกจผู้จำหน่ายของ Engagelab ไม่ได้ถูกรวมเข้าด้วยกัน แต่ต้องการให้ Engagelab ส่งข้อความผู้จำหน่าย โปรดเรียกใช้อินเทอร์เฟซนี้

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ล้างโทเค็น หลังจากเรียกใช้อินเทอร์เฟซนี้ โทเค็นสามารถรายงานได้เฉพาะผ่าน uploadPlatformToken SDK จะไม่ดึงและรายงานโทเค็นโดยอัตโนมัติอีกต่อไป และจะถูกรีเซ็ตหลังจากการเริ่มต้นใหม่แบบเย็น * ฟังผ่านการเรียกกลับ onPlatformToken เมื่อแพลตฟอร์มการเรียกกลับเป็น -128 หมายถึงการล้างสำเร็จ * * ต้องการการเชื่อมต่อ TCP * * @param context ไม่สามารถเป็น null */ public static void clearPlatformToken(Context context)
              
              /**
 * ล้างโทเค็น หลังจากเรียกใช้อินเทอร์เฟซนี้ โทเค็นสามารถรายงานได้เฉพาะผ่าน uploadPlatformToken SDK จะไม่ดึงและรายงานโทเค็นโดยอัตโนมัติอีกต่อไป และจะถูกรีเซ็ตหลังจากการเริ่มต้นใหม่แบบเย็น
 * ฟังผ่านการเรียกกลับ onPlatformToken เมื่อแพลตฟอร์มการเรียกกลับเป็น -128 หมายถึงการล้างสำเร็จ
 * 
 * ต้องการการเชื่อมต่อ TCP
 *
 * @param context ไม่สามารถเป็น null
 */
public static void clearPlatformToken(Context context)

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
MTPushPrivatesApi.clearPlatformToken(context);
              
              MTPushPrivatesApi.clearPlatformToken(context);

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
### onFragmentResume > * โปรดเรียก [init](#init) ก่อน มิฉะนั้นการเรียกใช้จะไม่ถูกต้อง ```java /** * @param context ไม่สามารถเป็น null * @param fragmentName ชื่อคลาสเต็มของ Fragment (this.getClass().getCanonicalName()) */ public static void onFragmentResume(Context context, String fragmentName)
              
              
### onFragmentResume
> * โปรดเรียก [init](#init) ก่อน มิฉะนั้นการเรียกใช้จะไม่ถูกต้อง

```java
/**
 * @param context           ไม่สามารถเป็น null
 * @param fragmentName      ชื่อคลาสเต็มของ Fragment (this.getClass().getCanonicalName())
 */
public static void onFragmentResume(Context context, String fragmentName)

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

onFragmentPause

  • โปรดเรียก init ก่อน มิฉะนั้นการเรียกใช้จะไม่ถูกต้อง
/** * @param context ไม่สามารถเป็น null * @param fragmentName ชื่อคลาสเต็มของ Fragment (this.getClass().getCanonicalName()) */ public static void onFragmentPause(Context context, String fragmentName)
              
              /**
 * @param context           ไม่สามารถเป็น null
 * @param fragmentName      ชื่อคลาสเต็มของ Fragment (this.getClass().getCanonicalName())
 */
public static void onFragmentPause(Context context, String fragmentName)

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

คำแนะนำการใช้งาน: เนื่องจากมีสี่วิธีในการเพิ่ม Fragment ใน Android แต่ละวิธีต้องการการจัดการ Fragment ที่แตกต่างกัน ด้านล่างเป็นคำอธิบายสำหรับการควบคุมการแสดงผลในแอปสำหรับ Fragment ที่ระบุโดยอิงจากสี่วิธีเหล่านี้

วิธีการใช้ Fragment สามารถฟังวงจรชีวิตของ Fragment ได้หรือไม่ วิธีการเรียกอินเทอร์เฟซการแสดงผลแบบไดนามิกของ JPush
วิธีที่ 1: add/show/hide ไม่สามารถฟังวงจรชีวิตได้ เรียก onFragmentResume และ onHiddenChanged ใน Fragment
วิธีที่ 2: ViewPager ไม่สามารถฟังวงจรชีวิตได้ เรียก setUserVisibleHint ใน Fragment
วิธีที่ 3: replace สามารถฟังวงจรชีวิตได้ เรียกวิธีวงจรชีวิต onResume และ onPause ใน Fragment
วิธีที่ 4: attach/detach สามารถฟังวงจรชีวิตได้ เรียกวิธีวงจรชีวิต onResume และ onPause ใน Fragment
  • วิธี add/show/hide

    1) เรียกอินเทอร์เฟซควบคุมแบบไดนามิกในฟังก์ชัน callback onCreateView ของ Fragment และส่งพารามิเตอร์ที่ต้องการ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); return inflater.inflate(R.layout.black_fragment, container, false); } 2) เรียกอินเทอร์เฟซควบคุมแบบไดนามิกใน callback onHiddenChanged ของ Fragment และส่งพารามิเตอร์ที่ต้องการ @Override public void onHiddenChanged(boolean hidden) { String classname = this.getClass().getCanonicalName(); if (!hidden) { // context ควรเป็น context ของแอปพลิเคชัน MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); } else { // ซ่อน MTPushPrivatesApi.onFragmentPaused(MyApplication.gContext, classname); } super.onHiddenChanged(hidden); }
                  
                  1) เรียกอินเทอร์เฟซควบคุมแบบไดนามิกในฟังก์ชัน callback onCreateView ของ Fragment และส่งพารามิเตอร์ที่ต้องการ
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        return inflater.inflate(R.layout.black_fragment, container, false);
    }  
    
    2) เรียกอินเทอร์เฟซควบคุมแบบไดนามิกใน callback onHiddenChanged ของ Fragment และส่งพารามิเตอร์ที่ต้องการ
    
    @Override
    public void onHiddenChanged(boolean hidden) {
        String classname = this.getClass().getCanonicalName();
        if (!hidden) { // context ควรเป็น context ของแอปพลิเคชัน
            MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        } else { // ซ่อน
            MTPushPrivatesApi.onFragmentPaused(MyApplication.gContext, classname);  
        } 
        
        super.onHiddenChanged(hidden);
    }  
    
                
    โค้ดนี้โชว์เป็นหน้าต่างลอย
  • วิธี ViewPager

    1) เรียกอินเทอร์เฟซควบคุมแบบไดนามิกใน callback setUserVisibleHint ของ Fragment และส่งพารามิเตอร์ที่ต้องการ @Override public void setUserVisibleHint(boolean isVisibleToUser) { String classname = this.getClass().getCanonicalName(); if (isVisibleToUser) { // ส่ง context ของแอปพลิเคชัน MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); } else { // ซ่อน MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname); } super.setUserVisibleHint(isVisibleToUser); }
                  
                  1) เรียกอินเทอร์เฟซควบคุมแบบไดนามิกใน callback setUserVisibleHint ของ Fragment และส่งพารามิเตอร์ที่ต้องการ
    
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        String classname = this.getClass().getCanonicalName();
        if (isVisibleToUser) {
            // ส่ง context ของแอปพลิเคชัน
            MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        } else { // ซ่อน
            MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname);  
        } 
        
        super.setUserVisibleHint(isVisibleToUser);
    }    
    
                
    โค้ดนี้โชว์เป็นหน้าต่างลอย
  • วิธี replace หรือ attach/detach

    เรียกอินเทอร์เฟซการกำหนดค่าหน้าแบบไดนามิกใน callback วงจรชีวิตของ Fragment ที่เพิ่มเข้ามา @Override public void onResume() { // ส่ง context ของแอปพลิเคชัน String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname); super.onResume(); } @Override public void onPause() { String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname); super.onPause(); }
                  
                  เรียกอินเทอร์เฟซการกำหนดค่าหน้าแบบไดนามิกใน callback วงจรชีวิตของ Fragment ที่เพิ่มเข้ามา
    
    @Override
    public void onResume() { // ส่ง context ของแอปพลิเคชัน
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentResumed(MyApplication.gContext, classname);
        super.onResume();
    }
    
    @Override
    public void onPause() {
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname);  
        super.onPause();
    }
    
                
    โค้ดนี้โชว์เป็นหน้าต่างลอย

MTCommonReceiver

  • ใช้สำหรับการเรียกกลับของเมธอดเป็นหลัก
  • การเรียกกลับของเมธอดทั้งหมดในคลาสนี้อยู่ในกระบวนการหลัก

onNotificationStatus

  • ทุกครั้งที่ SDK เริ่มต้น สถานะสวิตช์การแจ้งเตือนปัจจุบันจะถูกเรียกกลับ
  • การเรียกกลับจะเกิดขึ้นเฉพาะเมื่อมีการเปลี่ยนแปลงในสวิตช์การแจ้งเตือนในภายหลัง
/** * การเรียกกลับสถานะสวิตช์การแจ้งเตือนของแอปพลิเคชัน * * @param context ไม่สามารถเป็น null * @param enable สวิตช์การแจ้งเตือนเปิดอยู่หรือไม่ true คือเปิด false คือปิด */ @Override public void onNotificationStatus(Context context, boolean enable)
              
                   /**
      * การเรียกกลับสถานะสวิตช์การแจ้งเตือนของแอปพลิเคชัน
      *
      * @param context ไม่สามารถเป็น null
      * @param enable สวิตช์การแจ้งเตือนเปิดอยู่หรือไม่ true คือเปิด false คือปิด
      */
     @Override
     public void onNotificationStatus(Context context, boolean enable)

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

onConnectStatus

/** * การเชื่อมต่อระยะยาวสำเร็จหรือไม่ * * หลังจากการเริ่มต้น จะมีการเชื่อมต่อระยะยาว และเมธอดนี้จะถูกเรียกกลับเมื่อการเชื่อมต่อสำเร็จหรือไม่สำเร็จ * * @param context ไม่สามารถเป็น null * @param enable การเชื่อมต่อระยะยาวสำเร็จหรือไม่ true หมายถึงสำเร็จ false หมายถึงไม่สำเร็จ */ public void onConnectStatus(Context context, boolean enable)
              
                   /**
      * การเชื่อมต่อระยะยาวสำเร็จหรือไม่
      *
      * หลังจากการเริ่มต้น จะมีการเชื่อมต่อระยะยาว และเมธอดนี้จะถูกเรียกกลับเมื่อการเชื่อมต่อสำเร็จหรือไม่สำเร็จ
      *
      * @param context ไม่สามารถเป็น null
      * @param enable การเชื่อมต่อระยะยาวสำเร็จหรือไม่ true หมายถึงสำเร็จ false หมายถึงไม่สำเร็จ
      */
public void onConnectStatus(Context context, boolean enable)

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

onNotificationArrived

  • ช่องทาง Engagelab/Xiaomi/Meizu จะมีการเรียกกลับเมธอดนี้ (ช่องทาง Google ต้องอยู่ในโหมด foreground เพื่อให้มีการเรียกกลับ)
  • notificationMessage ดูรายละเอียดได้ที่ NotificationMessage
/** * การส่งข้อความการแจ้งเตือน * * เมธอดนี้จะถูกเรียกกลับเมื่อข้อความการแจ้งเตือนถูกส่ง * * @param context ไม่สามารถเป็น null * @param notificationMessage ข้อความการแจ้งเตือน */ public void onNotificationArrived(Context context, NotificationMessage notificationMessage) ### onNotificationUnShow > * การแจ้งเตือนที่ส่งในพื้นหลังจะไม่แสดงในส่วนหน้า แอปพลิเคชันมือถือจะเรียกใช้วิธีนี้เมื่ออยู่ในส่วนหน้า
              
                   /**
      * การส่งข้อความการแจ้งเตือน
      *
      * เมธอดนี้จะถูกเรียกกลับเมื่อข้อความการแจ้งเตือนถูกส่ง
      *
      * @param context ไม่สามารถเป็น null
      * @param notificationMessage ข้อความการแจ้งเตือน
      */
     public void onNotificationArrived(Context context, NotificationMessage notificationMessage)

### onNotificationUnShow

> * การแจ้งเตือนที่ส่งในพื้นหลังจะไม่แสดงในส่วนหน้า แอปพลิเคชันมือถือจะเรียกใช้วิธีนี้เมื่ออยู่ในส่วนหน้า

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * การแจ้งเตือนไม่แสดงในส่วนหน้า * * @param context ไม่เป็น null * @param notificationMessage ข้อความการแจ้งเตือน */ @Override public void onNotificationUnShow(Context context, NotificationMessage notificationMessage)
              
               /**
  * การแจ้งเตือนไม่แสดงในส่วนหน้า
  *
  * @param context ไม่เป็น null
  * @param notificationMessage ข้อความการแจ้งเตือน
  */
 @Override
 public void onNotificationUnShow(Context context, NotificationMessage notificationMessage)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
### onNotificationClicked > * รายละเอียด notificationMessage ดูได้ที่ [NotificationMessage](#NotificationMessage)
              
              
### onNotificationClicked

> * รายละเอียด notificationMessage ดูได้ที่ [NotificationMessage](#NotificationMessage)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * คลิกข้อความการแจ้งเตือน *
              
               /**
  * คลิกข้อความการแจ้งเตือน
  *

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
  • การคลิกข้อความการแจ้งเตือนจะเรียกใช้วิธีนี้
  • * @param context ไม่เป็น null * @param notificationMessage ข้อความการแจ้งเตือน */ public void onNotificationClicked(Context context, NotificationMessage notificationMessage)
                  
                   * @param context ไม่เป็น null
     * @param notificationMessage ข้อความการแจ้งเตือน
     */
    public void onNotificationClicked(Context context, NotificationMessage notificationMessage)
    
                
    โค้ดนี้โชว์เป็นหน้าต่างลอย
### onNotificationDeleted > * การลบข้อความการแจ้งเตือนของช่องทาง Engagelab เท่านั้นที่จะถูกเรียกใช้ > * รายละเอียด notificationMessage ดูได้ที่ [NotificationMessage](#NotificationMessage) > * ไม่สามารถเรียกกลับได้เมื่อแอปพลิเคชันอยู่ในสถานะปิด
              
              
### onNotificationDeleted

> * การลบข้อความการแจ้งเตือนของช่องทาง Engagelab เท่านั้นที่จะถูกเรียกใช้
> * รายละเอียด notificationMessage ดูได้ที่ [NotificationMessage](#NotificationMessage)
> * ไม่สามารถเรียกกลับได้เมื่อแอปพลิเคชันอยู่ในสถานะปิด

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ลบข้อความการแจ้งเตือน *
              
               /**
  * ลบข้อความการแจ้งเตือน
  *

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
  • การลบข้อความการแจ้งเตือนจะเรียกใช้วิธีนี้
  • * @param context ไม่เป็น null * @param notificationMessage ข้อความการแจ้งเตือน */ public void onNotificationDeleted(Context context, NotificationMessage notificationMessage)
                  
                   * @param context ไม่เป็น null
     * @param notificationMessage ข้อความการแจ้งเตือน
     */
    public void onNotificationDeleted(Context context, NotificationMessage notificationMessage)
    
                
    โค้ดนี้โชว์เป็นหน้าต่างลอย
### onCustomMessage > * ข้อความที่กำหนดเองจะไม่แสดงในแถบการแจ้งเตือน > * การลบข้อความการแจ้งเตือนของช่องทาง Engagelab เท่านั้นที่จะถูกเรียกใช้ > * รายละเอียด customMessage ดูได้ที่ [CustomMessage](#CustomMessage)
              
              
### onCustomMessage

> * ข้อความที่กำหนดเองจะไม่แสดงในแถบการแจ้งเตือน
> * การลบข้อความการแจ้งเตือนของช่องทาง Engagelab เท่านั้นที่จะถูกเรียกใช้
> * รายละเอียด customMessage ดูได้ที่ [CustomMessage](#CustomMessage)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ส่งข้อความที่กำหนดเอง * * จะเรียกใช้วิธีนี้เมื่อข้อความที่กำหนดเองถูกส่งถึง * * @param context ไม่เป็น null * @param customMessage ข้อความที่กำหนดเอง */ public void onCustomMessage(Context context, CustomMessage customMessage)
              
               /**
  * ส่งข้อความที่กำหนดเอง
  *
  * จะเรียกใช้วิธีนี้เมื่อข้อความที่กำหนดเองถูกส่งถึง
  *
  * @param context ไม่เป็น null
  * @param customMessage ข้อความที่กำหนดเอง
  */
 public void onCustomMessage(Context context, CustomMessage customMessage)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
### onTagMessage > * รายละเอียด tagMessage ดูได้ที่ [TagMessage](#TagMessage)
              
              
### onTagMessage

> * รายละเอียด tagMessage ดูได้ที่ [TagMessage](#TagMessage)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ข้อความการดำเนินการ tag * * @param context ไม่เป็น null * @param tagMessage ข้อมูล tag */ public void onTagMessage(Context context, TagMessage tagMessage)
              
               /**
  * ข้อความการดำเนินการ tag
  *
  * @param context ไม่เป็น null
  * @param tagMessage ข้อมูล tag
  */
 public void onTagMessage(Context context, TagMessage tagMessage)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
### onAliasMessage > * รายละเอียด aliasMessage ดูได้ที่ [AliasMessage](#AliasMessage)
              
              
### onAliasMessage

> * รายละเอียด aliasMessage ดูได้ที่ [AliasMessage](#AliasMessage)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ข้อความการดำเนินการ alias * * @param context ApplicationContext วัตถุ * @param aliasMessage ข้อความ alias */ public void onAliasMessage(Context context, AliasMessage aliasMessage)
              
               /**
  * ข้อความการดำเนินการ alias
  *
  * @param context ApplicationContext วัตถุ
  * @param aliasMessage ข้อความ alias
  */
 public void onAliasMessage(Context context, AliasMessage aliasMessage)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
### onPlatformToken > * การเรียกกลับข้อความ token ของผู้ผลิต
              
              
### onPlatformToken

> * การเรียกกลับข้อความ token ของผู้ผลิต

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * ข้อความการดำเนินการของผู้ผลิต * * @param context ApplicationContext วัตถุ * @param platformMessage ข้อความ token ของผู้ผลิต */ public void onPlatformToken(Context context, PlatformTokenMessage platformMessage)
              
              /**
 * ข้อความการดำเนินการของผู้ผลิต
 *
 * @param context         ApplicationContext วัตถุ
 * @param platformMessage ข้อความ token ของผู้ผลิต
 */
public void onPlatformToken(Context context, PlatformTokenMessage platformMessage)

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
### onInAppMessageShow > * การเรียกกลับการแสดงข้อความในแอปพลิเคชัน ```java /** * * * @param context ApplicationContext วัตถุ * @param inAppMessage ข้อความในแอปพลิเคชัน */ public void onInAppMessageShow(Context context, InAppMessage inAppMessage)
              
              
### onInAppMessageShow

> * การเรียกกลับการแสดงข้อความในแอปพลิเคชัน

```java
/**
 * 
 *
 * @param context         ApplicationContext วัตถุ
 * @param inAppMessage    ข้อความในแอปพลิเคชัน
 */
public void onInAppMessageShow(Context context, InAppMessage inAppMessage)

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

onInAppMessageClick

  • การเรียกกลับการคลิกข้อความในแอปพลิเคชัน
/** * * * @param context ApplicationContext วัตถุ * @param inAppMessage ข้อความในแอปพลิเคชัน */ public void onInAppMessageClick(Context context, InAppMessage inAppMessage)
              
              /**
 * 
 *
 * @param context         ApplicationContext วัตถุ
 * @param inAppMessage    ข้อความในแอปพลิเคชัน
 */
public void onInAppMessageClick(Context context, InAppMessage inAppMessage)

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

การตั้งค่า NotificationChannel

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

รองรับตั้งแต่เวอร์ชัน: MTPush SDK v3.3.0

คำอธิบายฟังก์ชัน

ตั้งแต่ Android 8.0 เป็นต้นไป การแจ้งเตือนจะถูกจัดการผ่าน NotificationChannels นักพัฒนาสามารถกำหนด NotificationChannels เอง และระบุ channelId ในการส่งการแจ้งเตือนผ่าน API; บนอุปกรณ์ที่รัน Android 8.0 หรือสูงกว่า การแจ้งเตือนจะค้นหา channelId ที่กำหนดไว้ก่อน และระดับความสำคัญของการแจ้งเตือน, เสียง, การสั่น และ LED จะถูกกำหนดโดยช่อง; หากไม่พบ channelId หรืออยู่ในช่วงเงียบ จะใช้ช่องทาง engagelab โดยค่าเริ่มต้น

ตัวอย่างการกำหนด NotificationChannel

private void initChannel(){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); if (nm != null){ NotificationChannelGroup notificationChannelGroup = new NotificationChannelGroup("MyGroupId", "กลุ่มการแจ้งเตือนที่กำหนดเอง"); nm.createNotificationChannelGroup(notificationChannelGroup); NotificationChannel notificationChannel = new NotificationChannel("MyChannelId", "การแจ้งเตือนที่กำหนดเอง", NotificationManager.IMPORTANCE_HIGH); notificationChannel.setGroup("MyGroupId"); notificationChannel.enableLights(true); notificationChannel.enableVibration(true); notificationChannel.setSound("android.resource:// package_name /raw/ ringtone_file", null); // ตั้งค่าเสียงที่กำหนดเอง nm.createNotificationChannel(notificationChannel); } } }
              
                  private void initChannel(){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
            if (nm != null){ NotificationChannelGroup notificationChannelGroup = new NotificationChannelGroup("MyGroupId", "กลุ่มการแจ้งเตือนที่กำหนดเอง");
                nm.createNotificationChannelGroup(notificationChannelGroup);

                NotificationChannel notificationChannel = new NotificationChannel("MyChannelId", "การแจ้งเตือนที่กำหนดเอง", NotificationManager.IMPORTANCE_HIGH);
                notificationChannel.setGroup("MyGroupId");
                notificationChannel.enableLights(true);
                notificationChannel.enableVibration(true);
                notificationChannel.setSound("android.resource:// package_name /raw/ ringtone_file", null); // ตั้งค่าเสียงที่กำหนดเอง

                nm.createNotificationChannel(notificationChannel);
            }
        }
    }

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

NotificationMessage

  • ข้อความการแจ้งเตือน
คุณสมบัติ ประเภท คำอธิบาย
messageId String จำเป็นต้องกรอก Engagelab message ID ใช้สำหรับการติดตามและสถิติข้อความ ห้ามว่าง หากว่างการแจ้งเตือนจะไม่แสดง
overrideMessageId String Engagelab override message ID ใช้สำหรับการติดตามและสถิติข้อความ
platform byte ประเภทผู้ผลิต ค่าเริ่มต้นคือ Engagelab MTPushPrivatesApi.PLATFORM_DEFAULT: 0
Xiaomi: MTPushPrivatesApi.PLATFORM_XIAOMI: 1
Huawei: MTPushPrivatesApi.PLATFORM_HUAWEI: 2
Meizu: MTPushPrivatesApi.PLATFORM_MEIZU: 3
Oppo: MTPushPrivatesApi.PLATFORM_OPPO: 4
Vivo: MTPushPrivatesApi.PLATFORM_VIVO: 5
Honor: MTPushPrivatesApi.PLATFORM_HONOR: 7
Google: MTPushPrivatesApi.PLATFORM_GOOGLE: 8
platformMessageId String ID ข้อความของผู้ผลิต ใช้สำหรับการติดตามและสถิติข้อความของผู้ผลิต
notificationId int ID การแจ้งเตือน สามารถยกเลิกการแจ้งเตือนได้โดยเรียก clearNotification
smallIcon String ไอคอนเล็ก ค่าเริ่มต้น: drawable/mtpush_notification_icon.png
largeIcon String ไอคอนใหญ่ มักจะแสดงทางด้านขวาของการแจ้งเตือน
title String หัวข้อการแจ้งเตือน หากว่างจะใช้ชื่อแอปพลิเคชันแทน
content String จำเป็นต้องกรอก เนื้อหาการแจ้งเตือน ห้ามว่าง หากว่างการแจ้งเตือนจะไม่แสดง
extras Bundle ฟิลด์เพิ่มเติมในรูปแบบ key/value ทั้งหมดเป็น String
builderId int ID รูปแบบการแจ้งเตือน สามารถตั้งค่าได้โดย setNotificationLayout ค่าเริ่มต้นคือรูปแบบระบบ
style int รูปแบบการแจ้งเตือน ค่าเริ่มต้นคือ 0
รูปแบบข้อความใหญ่ (NOTIFICATION_STYLE_BIG_TEXT): 1
รูปแบบกล่องจดหมาย (NOTIFICATION_STYLE_INBOX): 2
รูปแบบรูปภาพใหญ่ (NOTIFICATION_STYLE_BIG_PICTURE): 3
bigText String ข้อความใหญ่ เมื่อรูปแบบเป็น NOTIFICATION_STYLE_BIG_TEXT จะมีผล
inbox String[] กล่องจดหมาย เมื่อรูปแบบเป็น NOTIFICATION_STYLE_INBOX จะมีผล
bigPicture String รูปภาพใหญ่ เมื่อรูปแบบเป็น NOTIFICATION_STYLE_BIG_PICTURE จะมีผล
priority int ลำดับความสำคัญของการแจ้งเตือน ค่าเริ่มต้นคือ 0
ลำดับความสำคัญต่ำ การแจ้งเตือนไม่มี LED, การสั่น และเสียง (Notification.PRIORITY_LOW: -1)
ลำดับความสำคัญปกติ การแจ้งเตือนสามารถมี LED, การสั่น และเสียง (Notification.PRIORITY_DEFAULT: 0)
ลำดับความสำคัญสูง การแจ้งเตือนสามารถมี LED, การสั่น, เสียง และสามารถแสดงหน้าต่างลอย (Notification.PRIORITY_HIGH: 1)
defaults int ค่าเริ่มต้นของเสียง, การสั่น และ LED ค่าเริ่มต้น: Notification.DEFAULT_ALL: -1
เสียง: Notification.DEFAULT_SOUND: 1
การสั่น: Notification.DEFAULT_VIBRATE: 2
LED: Notification.DEFAULT_LIGHTS: 4
ค่าพวกนี้สามารถรวมกันได้ เช่น 7 หมายถึงเสียง, การสั่น และ LED
ตั้งแต่ Android 8.0 เป็นต้นไป คุณสมบัตินี้จะปฏิบัติตามการตั้งค่าช่อง
category String หมวดหมู่การแจ้งเตือน ใช้สำหรับการจัดเรียงหรือกรองในแถบการแจ้งเตือน
หมวดหมู่มีหลากหลาย เช่น Notification.CATEGORY_ALARM, Notification#CATEGORY_CALL เป็นต้น
sound String ไฟล์เสียงที่แนบมากับการแจ้งเตือน ไฟล์เสียงต้องมีอยู่ล่วงหน้าในไดเรกทอรี res/raw
ตั้งแต่ Android 8.0 เป็นต้นไป เสียงจะปฏิบัติตามการตั้งค่าช่อง หากช่องที่ใช้ในการแจ้งเตือนไม่ได้ตั้งค่าเสียง เสียงที่กำหนดเองจะไม่มีผล
แนะนำให้ตั้งค่าเสียงในช่องล่วงหน้า และตรวจสอบให้แน่ใจว่าเสียงของการแจ้งเตือนในภายหลังสอดคล้องกับเสียงใน channelId เพื่อรักษาผลลัพธ์เสียงของการแจ้งเตือนให้สม่ำเสมอ
channelId String จำเป็นต้องกรอกตั้งแต่ Android 8.0 หากไม่ได้ตั้งค่าล่วงหน้า SDK จะช่วยตั้งค่า (ใช้ได้เฉพาะกับช่องทาง Engagelab และช่องทาง Google เมื่อแอปพลิเคชันอยู่ในส่วนหน้า)
intentUri String การดำเนินการ Intent URI หลังจากคลิกการแจ้งเตือน ปัจจุบันรองรับเฉพาะ activity ผ่าน Intent.toURI() เพื่อแปลงการกระโดด activity
badge int จำนวนมุมที่เพิ่มขึ้นของการแจ้งเตือนนี้ สะสม ค่า > 0 แนะนำให้ตั้งค่าเป็น 1
ใช้ได้เฉพาะกับ Huawei และ Xiaomi
สำหรับ Xiaomi หลังจากคลิกการแจ้งเตือน จำนวนมุมจะลดลงโดยอัตโนมัติ 1
สำหรับ Huawei หลังจากคลิกการแจ้งเตือน จำนวนมุมจะไม่ลดลงโดยอัตโนมัติ 1 แนะนำให้ใช้ setNotificationBadge ตั้งค่า

CustomMessage

  • ข้อความที่กำหนดเอง
คุณสมบัติ ประเภท คำอธิบาย
messageId String จำเป็นต้องกรอก ID ข้อความของ Engagelab ใช้สำหรับการติดตามและสถิติข้อความ ห้ามปล่อยว่าง
platform byte ประเภทผู้ผลิต ค่าเริ่มต้นคือ Engagelab MTPushPrivatesApi.PLATFORM_DEFAULT: 0
Xiaomi: MTPushPrivatesApi.PLATFORM_XIAOMI: 1
Huawei: MTPushPrivatesApi.PLATFORM_HUAWEI: 2
Meizu: MTPushPrivatesApi.PLATFORM_MEIZU: 3
Oppo: MTPushPrivatesApi.PLATFORM_OPPO: 4
Vivo: MTPushPrivatesApi.PLATFORM_VIVO: 5
Honor: MTPushPrivatesApi.PLATFORM_HONOR: 7
Google: MTPushPrivatesApi.PLATFORM_GOOGLE: 8
platformMessageId String ID ข้อความของผู้ผลิต ใช้สำหรับการติดตามและสถิติข้อความของผู้ผลิต
title String หัวข้อข้อความ
content String เนื้อหาข้อความ
contentType String ประเภทข้อความ
extras Bundle ฟิลด์เพิ่มเติมในรูปแบบคีย์/ค่า ทั้งหมดเป็นประเภท String

TagMessage

  • ข้อความแท็ก
คุณสมบัติ ประเภท คำอธิบาย
sequence int หมายเลขลำดับการดำเนินการที่ผู้ใช้กำหนด ส่งกลับพร้อมผลการดำเนินการ ใช้ระบุความเป็นเอกลักษณ์ของการดำเนินการ
code int ผลการดำเนินการ รายละเอียดดูที่ code
tags String[] อาร์เรย์แท็ก การดำเนินการต่อไปนี้จะส่งกลับ:
addTag
deleteTag
updateTag
queryAllTag
queryTag String แท็ก การดำเนินการต่อไปนี้จะส่งกลับ:
queryTag
queryTagValid boolean สถานะแท็ก การดำเนินการต่อไปนี้จะส่งกลับ:
queryTag

AliasMessage

  • ข้อความนามแฝง
คุณสมบัติ ประเภท คำอธิบาย
sequence int หมายเลขลำดับการดำเนินการที่ผู้ใช้กำหนด ส่งกลับพร้อมผลการดำเนินการ ใช้ระบุความเป็นเอกลักษณ์ของการดำเนินการ
code int ผลการดำเนินการ รายละเอียดดูที่ code
alias String นามแฝง การดำเนินการต่อไปนี้จะส่งกลับ:
setAlias
getAlias

PlatformTokenMessage

  • ข้อความโทเค็นแพลตฟอร์ม
คุณสมบัติ ประเภท คำอธิบาย
platform byte ประเภทผู้ผลิต ค่าเริ่มต้นคือ Engagelab MTPushPrivatesApi.PLATFORM_DEFAULT: 0
Xiaomi: MTPushPrivatesApi.PLATFORM_XIAOMI: 1
Huawei: MTPushPrivatesApi.PLATFORM_HUAWEI: 2
Meizu: MTPushPrivatesApi.PLATFORM_MEIZU: 3
Oppo: MTPushPrivatesApi.PLATFORM_OPPO: 4
Vivo: MTPushPrivatesApi.PLATFORM_VIVO: 5
Honor: MTPushPrivatesApi.PLATFORM_HONOR: 7
Google: MTPushPrivatesApi.PLATFORM_GOOGLE: 8
token String โทเค็นที่ผู้ผลิตส่งกลับ

InAppMessage

  • ข้อความในแอป
คุณสมบัติ ประเภท คำอธิบาย
messageId String จำเป็นต้องกรอก ID ข้อความของ Engagelab ใช้สำหรับการติดตามและสถิติข้อความ ห้ามปล่อยว่าง มิฉะนั้นข้อความจะไม่แสดง
overrideMessageId String ID ข้อความที่ถูกแทนที่ของ Engagelab ใช้สำหรับการติดตามและสถิติข้อความ
target String เส้นทางหน้าที่เป้าหมายสำหรับการแสดงข้อความในแอป
imageUrl String URL ของภาพในข้อความในแอป
extras String ข้อมูลเพิ่มเติมที่ส่งผ่าน
content String เนื้อหาของข้อความในแอป
expired long เวลาหมดอายุ
delay long เวลาหน่วงสำหรับการแสดงข้อความ
interval long ช่วงเวลาสำหรับการแสดงข้อความในแอป
duration long ระยะเวลาการแสดงข้อความในแอป
msgTime long เวลาที่ SDK รับข้อความในแอป

コード

コード 整数値 説明
SUCCESS 0 成功
NULL_TAG_AND_ALIAS 6001 無効な設定
TIMEOUT 6002 タイムアウト、再試行を推奨。通常、ネットワークが不安定または初期化が完了していない場合に発生
INVALID_ALIAS 6003 エイリアス文字列が無効です。有効なエイリアスおよびタグは以下で構成されます:英字(大文字小文字区別)、数字、アンダースコア、中国語文字、特殊文字(2.1.6でサポート)@!#$&*+=.|
TOO_LONG_ALIAS 6004 エイリアスが長すぎます。最大40バイト、中国語UTF-8は3バイトです
INVALID_TAGS 6005 タグ文字列が無効です。有効なエイリアスおよびタグは以下で構成されます:英字(大文字小文字区別)、数字、アンダースコア、中国語文字、特殊文字(2.1.6でサポート)@!#$&*+=.|
TOO_LONG_TAG 6006 タグが長すぎます。単一のタグは最大40バイト、中国語UTF-8は3バイトです
TOO_MANY_TAGS 6007 単一の操作でデバイスにバインドされるタグの数が制限を超えました。1回の操作で最大1000個までです。
TOO_LONG_TAGS 6008 単一リクエスト内のタグ操作の長さが5000を超えました
UNKNOWN_ERROR 6009 不明なエラー
INVALID_JSON 6010 無効なJSON
INVOKE_TOO_SOON 6012 タグ/エイリアス操作が頻繁すぎます
CONNECT_NOT_ENABLE 6013 CONNECT_NOT_ENABLE
INVALID_MOBILE_NUMBER 6023 無効な携帯電話番号
icon
ติดต่อฝ่ายขาย