คู่มือการผสานรวม SDK ของช่องทางผู้ผลิต

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

สำหรับการดาวน์โหลด SDK โปรดดูที่ ดาวน์โหลดทรัพยากร สำหรับหมายเลขเวอร์ชัน SDK ล่าสุด โปรดดูที่ บันทึกการเปลี่ยนแปลง

ข้อกำหนดเบื้องต้น

  1. ได้ผสานรวมช่องทาง Engagelab แล้ว
  2. ก่อนการผสานรวม SDK ของผู้ผลิต คุณต้องสมัครพารามิเตอร์ช่องทางของผู้ผลิตที่เกี่ยวข้อง โปรดดูรายละเอียดใน คู่มือการสมัครพารามิเตอร์ช่องทางผู้ผลิต

ไฟล์ทรัพยากร

  • วางไอคอนการแจ้งเตือนชื่อ mtpush_notification_icon.png ไว้ใน res/drawable/ หากไม่ได้กำหนดค่า SDK จะใช้ไอคอนของแอปพลิเคชัน และในเวอร์ชัน Android ที่สูงกว่าอาจมีปัญหาในการแสดงผล

คู่มือการผสานรวมช่องทาง Xiaomi

กำหนดค่า mavenCentral Support

กำหนดค่า mavenCentral support ในไฟล์ gradle หลักของไดเรกทอรีรากของ Project (โครงการใหม่มักจะกำหนดค่าการสนับสนุนนี้โดยค่าเริ่มต้น)

buildscript { repositories { mavenCentral() } } allprojects { repositories { mavenCentral() } }
              
              buildscript {  
    repositories {  
        mavenCentral()  
    }  
}  

allprojects {
    repositories {  
        mavenCentral()  
    } 
}

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

กำหนดค่าการพึ่งพา

ในส่วน dependencies ของไฟล์ gradle ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:

dependencies { // เวอร์ชันของผู้ผลิตควรตรงกับเวอร์ชัน SDK ของ Engagelab implementation 'com.engagelab.plugin:mi:5.x.x' }
              
              dependencies {
    // เวอร์ชันของผู้ผลิตควรตรงกับเวอร์ชัน SDK ของ Engagelab
    implementation 'com.engagelab.plugin:mi:5.x.x'
}

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

กำหนดค่าพารามิเตอร์

ในส่วน defaultConfig ของไฟล์ gradle ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:

manifestPlaceholders = [ // กำหนดตัวแปรในไฟล์ manifest.xml XIAOMI_APPKEY : "MI-Your Xiaomi app's APPID", // appkey ที่ลงทะเบียนบนแพลตฟอร์ม Xiaomi XIAOMI_APPID : "MI-Your Xiaomi app's APPKEY", // appid ที่ลงทะเบียนบนแพลตฟอร์ม Xiaomi ]
              
              manifestPlaceholders = [
    // กำหนดตัวแปรในไฟล์ manifest.xml
    XIAOMI_APPKEY : "MI-Your Xiaomi app's APPID", // appkey ที่ลงทะเบียนบนแพลตฟอร์ม Xiaomi
    XIAOMI_APPID : "MI-Your Xiaomi app's APPKEY", // appid ที่ลงทะเบียนบนแพลตฟอร์ม Xiaomi
]

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

กำหนดค่าการป้องกันโค้ด

หากใช้ proguard ให้เพิ่มเนื้อหาต่อไปนี้ในไฟล์การกำหนดค่าเพื่อป้องกันการรายงานคำเตือนผิดพลาดที่อาจทำให้การคอมไพล์ไม่สำเร็จ:

-dontwarn com.xiaomi.push.** -keep class com.xiaomi.push.** { *; }
              
              -dontwarn com.xiaomi.push.**
-keep class com.xiaomi.push.** { *; }

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

การตรวจสอบความสำเร็จของการผสานรวม

หากการผสานรวมสำเร็จ จะมีการแสดงบันทึกดังนี้:

D [MTMiBusiness] support xiaomi push D [MTMiBusiness] onTokenSuccess:get token is Tv3KBknVcnEaXnLe89MGEH3SWVgUYdLDYzJaST30IoIGATl2tv5eu6iuT/PTO0Mj D [MTPlatformBusiness] onPlatformTokenSuccess, rid:5, platformToken: { platform=1, token=Tv3KBknVcnEaXnLe89MGEH3SWVgUYdLDYzJaST30IoIGATl2tv5eu6iuT/PTO0Mj region=NULL isUserSettings=false }
              
              D  [MTMiBusiness] support xiaomi push
D  [MTMiBusiness] onTokenSuccess:get token is Tv3KBknVcnEaXnLe89MGEH3SWVgUYdLDYzJaST30IoIGATl2tv5eu6iuT/PTO0Mj
D  [MTPlatformBusiness] onPlatformTokenSuccess, rid:5, platformToken:
{
    platform=1,
    token=Tv3KBknVcnEaXnLe89MGEH3SWVgUYdLDYzJaST30IoIGATl2tv5eu6iuT/PTO0Mj
    region=NULL
    isUserSettings=false
}

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

วิธีการทดสอบช่องทาง Xiaomi

  1. ไปที่ [EngageLab Console] -> [AppPush] -> [การตั้งค่าพื้นฐาน] -> [การตั้งค่าการผสานรวม] ใส่พารามิเตอร์: AppKey, AppID, AppSecret และคลิก "บันทึก"
  2. หลังจากปิดกระบวนการแอป ให้ทำการผลักดัน หากได้รับการผลักดัน แสดงว่าการผสานรวมช่องทางของผู้ผลิตสำเร็จ

หมายเหตุพิเศษสำหรับ Xiaomi Android 13 และสูงกว่า

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

    โปรดดูรายละเอียดเพิ่มเติมในเอกสารของ Google เกี่ยวกับตัวกรอง Intent ใน Android 13 และสูงกว่า: เอกสารของ Google - Intent Filters

  • คำแนะนำสำหรับการทดสอบของนักพัฒนา:
    นักพัฒนาสามารถตรวจสอบ "การเปลี่ยนแปลงความเข้ากันได้ของแอปพลิเคชัน" ในตัวเลือกนักพัฒนาบนอุปกรณ์ Xiaomi และเปิดใช้งานตัวเลือก ENFORCE_INTENTS_TO_MATCH_INTENT_FILTERS ระหว่างการทดสอบเพื่อให้แน่ใจว่าแอปทำงานได้อย่างถูกต้องในทุกกรณี

คู่มือการผสานรวมช่องทาง Huawei

กำหนดค่า mavenCentral Support

กำหนดค่า mavenCentral support และ agconnect dependency ในไฟล์ gradle หลักของไดเรกทอรีรากของ Project

buildscript { repositories { google() mavenCentral() maven {url 'https://developer.huawei.com/repo/'} } } buildscript { dependencies { classpath 'com.huawei.agconnect:agcp:1.6.0.300' } } allprojects { repositories { google() mavenCentral() maven {url 'https://developer.huawei.com/repo/'} } }
              
              buildscript {
    repositories {
        google()
        mavenCentral()
        maven {url 'https://developer.huawei.com/repo/'}
    }
}
buildscript {
    dependencies {
        classpath 'com.huawei.agconnect:agcp:1.6.0.300'
    }
}
allprojects {
    repositories {
        google()
        mavenCentral()
        maven {url 'https://developer.huawei.com/repo/'}
    }
}

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

(ตัวเลือก) หากใช้ gradle 8.0 ให้เพิ่มคำสั่งต่อไปนี้ในไฟล์ gradle.properties ระดับโปรเจกต์:

หมายเหตุ: การผสานรวมเวอร์ชันของ AGC plugin ที่ต่ำกว่า 1.9.1.300 ไม่รองรับความเข้ากันได้กับ gradle 8.0 คุณต้องดำเนินการขั้นตอนนี้

apmsInstrumentationEnabled=false
              
              apmsInstrumentationEnabled=false

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

เพิ่ม Huawei Plugin

เพิ่มบรรทัดต่อไปนี้ที่ด้านล่างของไฟล์ build.gradle ของโมดูลแอปพลิเคชันเพื่อเปิดใช้งานปลั๊กอิน gradle:

apply plugin: 'com.huawei.agconnect'
              
              apply plugin: 'com.huawei.agconnect'

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

กำหนดค่าการพึ่งพา

ในส่วน dependencies ของไฟล์ gradle ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้ โดยเลือกเวอร์ชันล่าสุดตามการเผยแพร่ของ Huawei:

dependencies { implementation 'com.huawei.hms:push:6.11.0.300' // เวอร์ชันของผู้ผลิตควรตรงกับเวอร์ชัน SDK ของ AppPush implementation 'com.engagelab.plugin:huawei:5.x.x' }
              
              dependencies {
    
    implementation 'com.huawei.hms:push:6.11.0.300'
    
    // เวอร์ชันของผู้ผลิตควรตรงกับเวอร์ชัน SDK ของ AppPush
    implementation 'com.engagelab.plugin:huawei:5.x.x'
}

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

กำหนดค่าไฟล์ agconnect-services.json

อ้างอิง คู่มือการสมัครพารามิเตอร์ช่องทางผู้ผลิต เพื่อรับไฟล์ agconnect-services.json และกำหนดค่าในไดเรกทอรี app

alt text

กำหนดค่าใบรับรองลายเซ็น

ในไฟล์ build.gradle ให้กำหนดค่าลายเซ็นที่ตรงกับใบรับรองลายนิ้วมือที่เพิ่มใน Huawei backend

บริการ HMS ต้องการให้แอปมีการลงนามเพื่อการลงทะเบียนที่สำเร็จ คุณสามารถรับใบรับรองลายนิ้วมือที่สอดคล้องกันโดยใช้คำสั่ง keytool -list -v -keystore keystorefileName

signingConfigs { release { storeFile file("release.keystore") // เส้นทางไปยังไฟล์ลายเซ็น storePassword "123456" keyAlias "android.keystore" keyPassword "123456" } } buildTypes { release { minifyEnabled true proguardFiles 'proguard-rules.pro' signingConfig signingConfigs.release } debug{ minifyEnabled false signingConfig signingConfigs.release } }
              
              signingConfigs {
        release {
            storeFile file("release.keystore") // เส้นทางไปยังไฟล์ลายเซ็น
            storePassword "123456"
            keyAlias "android.keystore"
            keyPassword "123456"
        }
}

buildTypes {
        release {
            minifyEnabled true
            proguardFiles 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
        debug{
          minifyEnabled false
           signingConfig signingConfigs.release
        }
 }

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

กำหนดค่าการป้องกันโค้ด

หากใช้ proguard ให้เพิ่มเนื้อหาต่อไปนี้ในไฟล์การกำหนดค่าเพื่อป้องกันการรายงานคำเตือนผิดพลาดที่อาจทำให้การคอมไพล์ไม่สำเร็จ:

-ignorewarnings -keepattributes *Annotation* -keepattributes Exceptions -keepattributes InnerClasses -keepattributes Signature -keepattributes SourceFile,LineNumberTable -keep class com.hianalytics.android.**{*;} -keep class com.huawei.updatesdk.**{*;} -keep class com.huawei.hms.**{*;}
              
              -ignorewarnings
-keepattributes *Annotation* 
-keepattributes Exceptions 
-keepattributes InnerClasses 
-keepattributes Signature 
-keepattributes SourceFile,LineNumberTable 
-keep class com.hianalytics.android.**{*;} 
-keep class com.huawei.updatesdk.**{*;} 
-keep class com.huawei.hms.**{*;}

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

หากคุณใช้ AndResGuard ให้เพิ่ม AndResGuard whitelist ในไฟล์การกำหนดค่าการป้องกันโค้ด

"R.string.hms*", "R.string.connect_server_fail_prompt_toast", "R.string.getting_message_fail_prompt_toast", "R.string.no_available_network_prompt_toast", "R.string.third_app_*", "R.string.upsdk_*", "R.layout.hms*", "R.layout.upsdk_*", "R.drawable.upsdk*", "R.color.upsdk*", "R.dimen.upsdk*", "R.style.upsdk*", "R.string.agc*" ### การตรวจสอบความสำเร็จของการผสานรวม หากการผสานรวมสำเร็จ บันทึกจะปรากฏดังนี้:
              
              "R.string.hms*",
"R.string.connect_server_fail_prompt_toast",
"R.string.getting_message_fail_prompt_toast",
"R.string.no_available_network_prompt_toast",
"R.string.third_app_*",
"R.string.upsdk_*",
"R.layout.hms*",
"R.layout.upsdk_*",
"R.drawable.upsdk*",
"R.color.upsdk*",
"R.dimen.upsdk*",
"R.style.upsdk*",
"R.string.agc*"

### การตรวจสอบความสำเร็จของการผสานรวม

หากการผสานรวมสำเร็จ บันทึกจะปรากฏดังนี้:

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

D [MTHuaweiBusiness] support huawei push D [MTHuaweiBusiness] onTokenSuccess:get token is IQAAAACy0aL1AABEZ3l2C7jluCGX5XriooCvoOwK9TrjG1MTpH0CD47WPXFcAbtt3DdOeOPvX6d7xfAVctoyaOCGKRllRa-0RBP7WQrYI6SxnOp1GA D [MTPlatformBusiness] onPlatformTokenSuccess, rid:5, platformToken: { platform=2, token=IQAAAACy0aL1AABEZ3l2C7jluCGX5XriooCvoOwK9TrjG1MTpH0CD47WPXFcAbtt3DdOeOPvX6d7xfAVctoyaOCGKRllRa-0RBP7WQrYI6SxnOp1GA region=NULL isUserSettings=false }

### วิธีการทดสอบช่องทาง Huawei 1. ไปที่ \[EngageLab Console] -> \[AppPush] -> \[Basic Settings] -> \[Integration Settings] หน้าจอ ใส่พารามิเตอร์: AppID, AppSecret และคลิก "Save" ![alt text](https://res.engagelab.net/docs/20250530/092117724/hw2.png) 2\. หลังจากปิดกระบวนการแอป ให้ทำการ push หากได้รับ push การผสานรวมช่องทางผู้ผลิตสำเร็จ ## คู่มือการผสานรวมช่องทาง Meizu ### การตั้งค่า mavenCentral Support ในไฟล์ gradle หลักของไดเรกทอรี root ของ Project ให้ตั้งค่า mavenCentral support (โครงการใหม่มักจะตั้งค่าการสนับสนุนนี้โดยค่าเริ่มต้น)
              
              
### วิธีการทดสอบช่องทาง Huawei

1. ไปที่ \[EngageLab Console] -> \[AppPush] -> \[Basic Settings] -> \[Integration Settings] หน้าจอ ใส่พารามิเตอร์: AppID, AppSecret และคลิก "Save"

![alt text](https://res.engagelab.net/docs/20250530/092117724/hw2.png)
2\. หลังจากปิดกระบวนการแอป ให้ทำการ push หากได้รับ push การผสานรวมช่องทางผู้ผลิตสำเร็จ

## คู่มือการผสานรวมช่องทาง Meizu

### การตั้งค่า mavenCentral Support

ในไฟล์ gradle หลักของไดเรกทอรี root ของ Project ให้ตั้งค่า mavenCentral support (โครงการใหม่มักจะตั้งค่าการสนับสนุนนี้โดยค่าเริ่มต้น)

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

buildscript {
repositories {
mavenCentral()
}
}

allprojects { repositories {
mavenCentral()
} }

### การตั้งค่าการพึ่งพา ในส่วน `dependencies` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:
              
              
### การตั้งค่าการพึ่งพา

ในส่วน `dependencies` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:

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

dependencies { // เวอร์ชันของผู้ผลิตควรตรงกับเวอร์ชัน AppPush SDK implementation 'com.engagelab.plugin:meizu:5.x.x' }

### การตั้งค่าพารามิเตอร์ ในส่วน `defaultConfig` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้: > พารามิเตอร์สำหรับ Meizu ต้องมีคำนำหน้าด้วย "MZ-"
              
              
### การตั้งค่าพารามิเตอร์

ในส่วน `defaultConfig` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:

> พารามิเตอร์สำหรับ Meizu ต้องมีคำนำหน้าด้วย "MZ-"

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

manifestPlaceholders = [ // ตั้งค่าตัวแปรในไฟล์ manifest.xml MEIZU_APPKEY : "MZ-Your Meizu app's APPKEY", // appkey ที่ลงทะเบียนในแพลตฟอร์ม Meizu MEIZU_APPID : "MZ-Your Meizu app's APPID", // appid ที่ลงทะเบียนในแพลตฟอร์ม Meizu ]

### การตั้งค่าการลบโค้ด หากใช้ proguard ให้เพิ่มเนื้อหาต่อไปนี้ในไฟล์การตั้งค่าเพื่อป้องกันการรายงานคำเตือนที่ผิดพลาดซึ่งอาจทำให้การคอมไพล์ไม่สำเร็จ:
              
              
### การตั้งค่าการลบโค้ด

หากใช้ proguard ให้เพิ่มเนื้อหาต่อไปนี้ในไฟล์การตั้งค่าเพื่อป้องกันการรายงานคำเตือนที่ผิดพลาดซึ่งอาจทำให้การคอมไพล์ไม่สำเร็จ:

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

-dontwarn com.meizu.cloud.** -keep class com.meizu.cloud.** { *; }

### การตรวจสอบความสำเร็จของการผสานรวม หากการผสานรวมสำเร็จ บันทึกจะปรากฏดังนี้:
              
              
### การตรวจสอบความสำเร็จของการผสานรวม

หากการผสานรวมสำเร็จ บันทึกจะปรากฏดังนี้:

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

D [MTMeizuBusiness] support meizu push D [MTPlatformBusiness] onPlatformTokenSuccess, rid:5, platformToken: { platform=3, token=DDI5c060475064d447b40670206756d73605705037205 region=NULL isUserSettings=false }

หากช่องทาง Meizu ไม่สามารถรับ token ได้ ให้ลองเพิ่ม `android.enableR8 = false` ใน `gradle.properties` เพื่อปิดใช้งาน R8 ### วิธีการทดสอบช่องทางผู้ผลิต Meizu 1. ไปที่ \[EngageLab Console] -> \[AppPush] -> \[Basic Settings] -> \[Integration Settings] หน้าจอ ใส่พารามิเตอร์: AppKey, AppID, AppSecret และคลิก "Save" ![alt text](https://res.engagelab.net/docs/20250530/092117724/mz1.png) 2. หลังจากปิดกระบวนการแอป ให้ทำการ push หากได้รับ push การผสานรวมช่องทางผู้ผลิตสำเร็จ ## คู่มือการผสานรวมช่องทาง Vivo ### การตั้งค่า mavenCentral Support ในไฟล์ gradle หลักของไดเรกทอรี root ของ Project ให้ตั้งค่า mavenCentral support (โครงการใหม่มักจะตั้งค่าการสนับสนุนนี้โดยค่าเริ่มต้น)
              
              
หากช่องทาง Meizu ไม่สามารถรับ token ได้ ให้ลองเพิ่ม `android.enableR8 = false` ใน `gradle.properties` เพื่อปิดใช้งาน R8

### วิธีการทดสอบช่องทางผู้ผลิต Meizu

1. ไปที่ \[EngageLab Console] -> \[AppPush] -> \[Basic Settings] -> \[Integration Settings] หน้าจอ ใส่พารามิเตอร์: AppKey, AppID, AppSecret และคลิก "Save"
   ![alt text](https://res.engagelab.net/docs/20250530/092117724/mz1.png)

2. หลังจากปิดกระบวนการแอป ให้ทำการ push หากได้รับ push การผสานรวมช่องทางผู้ผลิตสำเร็จ

## คู่มือการผสานรวมช่องทาง Vivo

### การตั้งค่า mavenCentral Support

ในไฟล์ gradle หลักของไดเรกทอรี root ของ Project ให้ตั้งค่า mavenCentral support (โครงการใหม่มักจะตั้งค่าการสนับสนุนนี้โดยค่าเริ่มต้น)

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

buildscript {
repositories {
mavenCentral()
}
}

allprojects { repositories {
mavenCentral()
} }

### การตั้งค่าการพึ่งพา ในส่วน `dependencies` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:
              
              
### การตั้งค่าการพึ่งพา

ในส่วน `dependencies` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:

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

dependencies{
// เวอร์ชันของผู้ผลิตควรตรงกับเวอร์ชัน AppPush SDK implementation 'com.engagelab.plugin:vivo:5.x.x' }

### การตั้งค่าพารามิเตอร์ ในส่วน `defaultConfig` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:
              
              
### การตั้งค่าพารามิเตอร์

ในส่วน `defaultConfig` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:

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

manifestPlaceholders=[
VIVO_APPKEY : "Your Vivo app's APPKEY", // appkey ที่ลงทะเบียนในแพลตฟอร์ม Vivo VIVO_APPID : "Your Vivo app's APPID", // appid ที่ลงทะเบียนในแพลตฟอร์ม Vivo ]

### การตรวจสอบความสำเร็จของการผสานรวม หากการผสานรวมสำเร็จ บันทึกจะปรากฏดังนี้:
              
              
### การตรวจสอบความสำเร็จของการผสานรวม

หากการผสานรวมสำเร็จ บันทึกจะปรากฏดังนี้:

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

D [MTVivoBusiness] support vivo push D [MTVivoBusiness] getRegId onTokenSuccess:get token is v2-CRrhwCeK9eY77H6m_EeUqz3zGqmbh0LJPnhvsF0V-ia9OmMHQP9FGCjZ D [MTPlatformBusiness] onPlatformTokenSuccess, rid:5, platformToken: { platform=5, token=v2-CRrhwCeK9eY77H6m_EeUqz3zGqmbh0LJPnhvsF0V-ia9OmMHQP9FGCjZ region=NULL isUserSettings=false }

### การตั้งค่าการลบโค้ด หากใช้ proguard ให้เพิ่มเนื้อหาต่อไปนี้ในไฟล์การตั้งค่าเพื่อป้องกันการรายงานคำเตือนที่ผิดพลาดซึ่งอาจทำให้การคอมไพล์ไม่สำเร็จ:
              
              
### การตั้งค่าการลบโค้ด

หากใช้ proguard ให้เพิ่มเนื้อหาต่อไปนี้ในไฟล์การตั้งค่าเพื่อป้องกันการรายงานคำเตือนที่ผิดพลาดซึ่งอาจทำให้การคอมไพล์ไม่สำเร็จ:

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

-dontwarn com.vivo.push.** -keep class com.vivo.push.{*; } -keep class com.vivo.vms.{*; }

### วิธีการทดสอบช่องทาง Vivo 1. ไปที่ \[EngageLab Console] -> \[AppPush] -> \[Basic Settings] -> \[Integration Settings] หน้าจอ ใส่พารามิเตอร์: AppKey, AppID, AppSecret และคลิก "Save" ![alt text](https://res.engagelab.net/docs/20250530/092117724/vv1.png) 2\. หลังจากปิดกระบวนการแอป ให้ทำการ push หากได้รับ push การผสานรวมช่องทางผู้ผลิตสำเร็จ > หาก Vivo ไม่พร้อมใช้งานในตลาด เมื่อทดสอบการ push คุณจำเป็นต้องเพิ่มอุปกรณ์ทดสอบในแพลตฟอร์ม push ของ Vivo และส่ง push โดยใช้ API พร้อมระบุ `push_mode`
              
              
### วิธีการทดสอบช่องทาง Vivo

1. ไปที่ \[EngageLab Console] -> \[AppPush] -> \[Basic Settings] -> \[Integration Settings] หน้าจอ ใส่พารามิเตอร์: AppKey, AppID, AppSecret และคลิก "Save"

![alt text](https://res.engagelab.net/docs/20250530/092117724/vv1.png)
2\. หลังจากปิดกระบวนการแอป ให้ทำการ push หากได้รับ push การผสานรวมช่องทางผู้ผลิตสำเร็จ

> หาก Vivo ไม่พร้อมใช้งานในตลาด เมื่อทดสอบการ push คุณจำเป็นต้องเพิ่มอุปกรณ์ทดสอบในแพลตฟอร์ม push ของ Vivo และส่ง push โดยใช้ API พร้อมระบุ `push_mode`


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

"options": {
"classification": 1,
"third_party_channel": {
"vivo": {
"pushMode": 1, // ไม่บังคับ เพิ่มเมื่อ 2020/09/21 สอดคล้องกับฟิลด์ pushMode ของ Vivo ค่าเต็มตัวคือ: “0” สำหรับ push แบบปกติ; “1” สำหรับ push แบบทดสอบ ค่าเริ่มต้นคือ 0
"distribution_new": "pns_mtpush"
}
}
}

## คู่มือการผสานรวมช่องทาง OPPO ### การตั้งค่า mavenCentral Support ในไฟล์ gradle หลักของไดเรกทอรี root ของ Project ให้ตั้งค่า mavenCentral support (โครงการใหม่มักจะตั้งค่าการสนับสนุนนี้โดยค่าเริ่มต้น)
              
              
## คู่มือการผสานรวมช่องทาง OPPO

### การตั้งค่า mavenCentral Support

ในไฟล์ gradle หลักของไดเรกทอรี root ของ Project ให้ตั้งค่า mavenCentral support (โครงการใหม่มักจะตั้งค่าการสนับสนุนนี้โดยค่าเริ่มต้น)

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

buildscript {
repositories {
mavenCentral()
}
}

allprojects { repositories {
mavenCentral()
} }

### การตั้งค่าการพึ่งพา ในส่วน `dependencies` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:
              
              
### การตั้งค่าการพึ่งพา

ในส่วน `dependencies` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:

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

dependencies{
// เวอร์ชันของผู้ผลิตควรตรงกับเวอร์ชัน AppPush SDK implementation 'com.engagelab.plugin:oppo:5.x.x' implementation 'com.engagelab.plugin:oppo_th_push:5.x.x'

// OPPO ต้องเพิ่มการพึ่งพาต่อไปนี้ implementation 'com.google.code.gson:gson:2.8.9' implementation 'commons-codec:commons-codec:1.13' implementation 'androidx.annotation:annotation:1.1.0'
              
              // OPPO ต้องเพิ่มการพึ่งพาต่อไปนี้
implementation 'com.google.code.gson:gson:2.8.9'
implementation 'commons-codec:commons-codec:1.13'
implementation 'androidx.annotation:annotation:1.1.0'

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

}

### การตั้งค่าพารามิเตอร์ ในส่วน `defaultConfig` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้: > พารามิเตอร์ของ OPPO ต้องมีคำนำหน้าด้วย "OP-"
              
              
### การตั้งค่าพารามิเตอร์

ในส่วน `defaultConfig` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:

> พารามิเตอร์ของ OPPO ต้องมีคำนำหน้าด้วย "OP-"

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

manifestPlaceholders=[
OPPO_APPKEY : "OP-Your OPPO app's APPKEY", // appkey ที่ลงทะเบียนในแพลตฟอร์ม OPPO OPPO_APPID : "OP-Your OPPO app's APPID", // appid ที่ลงทะเบียนในแพลตฟอร์ม OPPO OPPO_APPSECRET: "OP-Your OPPO app's APPSECRET" // appsecret ที่ลงทะเบียนในแพลตฟอร์ม OPPO ]

### การตั้งค่าการลบโค้ด หากใช้ proguard ให้เพิ่มเนื้อหาต่อไปนี้ในไฟล์การตั้งค่าเพื่อป้องกันการรายงานคำเตือนที่ผิดพลาดซึ่งอาจทำให้การคอมไพล์ไม่สำเร็จ:
              
              
### การตั้งค่าการลบโค้ด

หากใช้ proguard ให้เพิ่มเนื้อหาต่อไปนี้ในไฟล์การตั้งค่าเพื่อป้องกันการรายงานคำเตือนที่ผิดพลาดซึ่งอาจทำให้การคอมไพล์ไม่สำเร็จ:

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

-dontwarn com.coloros.mcsdk.** -keep class com.coloros.mcsdk.** { *; }

-dontwarn com.heytap.** -keep class com.heytap.** { *; }

-dontwarn com.mcs.** -keep class com.mcs.** { *; }

### การตรวจสอบความสำเร็จของการผสานรวม หากการผสานรวมสำเร็จ บันทึกจะปรากฏดังนี้:
              
              
### การตรวจสอบความสำเร็จของการผสานรวม

หากการผสานรวมสำเร็จ บันทึกจะปรากฏดังนี้:

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

D [MTOppoBusiness] support oppo push D [MTOppoBusiness] onTokenSuccess:get token is OnePlus_CN_0e3c2f966c9d01d4e2423cbc9e7598b6 D [MTPlatformBusiness] onPlatformTokenSuccess, rid:5, platformToken: { platform=4, token=OnePlus_CN_0e3c2f966c9d01d4e2423cbc9e7598b6 region=NULL isUserSettings=false }

### วิธีการทดสอบช่องทาง OPPO 1. ไปที่ \[EngageLab Console] -> \[AppPush] -> \[Basic Settings] -> \[Integration Settings] หน้า, ป้อนพารามิเตอร์: AppKey, AppID, AppSecret, MasterSecret และคลิก "Save" ![alt text](https://res.engagelab.net/docs/20250530/092117724/oppo1.png) 2. หลังจากปิดกระบวนการแอปพลิเคชัน ให้ทำการ Push หากได้รับ Push การรวมช่องทางผู้ผลิตสำเร็จ > หากแอปไม่พร้อมใช้งาน การทดสอบต้องสมัครสิทธิ์ทดสอบ Push บนแพลตฟอร์ม OPPO แต่ละแอปสามารถ Push ข้อความสาธารณะได้ 1000 ข้อความต่อวัน ## คู่มือการรวมช่องทาง FCM ### การตั้งค่าการสนับสนุน mavenCentral ในไฟล์ gradle หลักของไดเรกทอรีรากของโปรเจกต์ ให้ตั้งค่าการสนับสนุน mavenCentral และการพึ่งพา google-services
              
              
### วิธีการทดสอบช่องทาง OPPO

1. ไปที่ \[EngageLab Console] -> \[AppPush] -> \[Basic Settings] -> \[Integration Settings] หน้า, ป้อนพารามิเตอร์: AppKey, AppID, AppSecret, MasterSecret และคลิก "Save"

![alt text](https://res.engagelab.net/docs/20250530/092117724/oppo1.png)
2. หลังจากปิดกระบวนการแอปพลิเคชัน ให้ทำการ Push หากได้รับ Push การรวมช่องทางผู้ผลิตสำเร็จ

> หากแอปไม่พร้อมใช้งาน การทดสอบต้องสมัครสิทธิ์ทดสอบ Push บนแพลตฟอร์ม OPPO แต่ละแอปสามารถ Push ข้อความสาธารณะได้ 1000 ข้อความต่อวัน

## คู่มือการรวมช่องทาง FCM

### การตั้งค่าการสนับสนุน mavenCentral

ในไฟล์ gradle หลักของไดเรกทอรีรากของโปรเจกต์ ให้ตั้งค่าการสนับสนุน mavenCentral และการพึ่งพา google-services

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

buildscript { repositories { mavenCentral() } dependencies { classpath 'com.google.gms:google-services:4.3.15' } }

allprojects { repositories { mavenCentral() maven { url "https://maven.google.com" } } }

### เพิ่มปลั๊กอิน FCM ที่ด้านล่างของไฟล์ `build.gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มบรรทัดต่อไปนี้เพื่อเปิดใช้งานปลั๊กอิน gradle:
              
              
### เพิ่มปลั๊กอิน FCM

ที่ด้านล่างของไฟล์ `build.gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มบรรทัดต่อไปนี้เพื่อเปิดใช้งานปลั๊กอิน gradle:

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

apply plugin: 'com.google.gms.google-services'

### การตั้งค่าการพึ่งพา ในส่วน `dependencies` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:
              
              
### การตั้งค่าการพึ่งพา

ในส่วน `dependencies` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:

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

dependencies { // เวอร์ชันผู้ผลิตควรตรงกับเวอร์ชัน AppPush SDK implementation 'com.engagelab.plugin:google:5.x.x' implementation 'com.google.firebase:firebase-messaging:23.2.0' }

ในส่วน `android` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:
              
              
ในส่วน `android` ของไฟล์ `gradle` ของโมดูลแอปพลิเคชัน ให้เพิ่มโค้ดต่อไปนี้:

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

android { // google push ต้องการ java 1.8 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }

### การตั้งค่าไฟล์ google-services.json อ้างอิง \[คู่มือการสมัครพารามิเตอร์ช่องทางผู้ผลิต](https://www.engagelab.com/zh_CN/docs/app-push/developer-guide/client-sdk-reference/android-sdk/application-guide-for-manufacturer-channel-parameters#fcm-%E5%8F%82%E6%95%B0%E8%8E%B7%E5%8F%96) เพื่อรับไฟล์ `google-services.json` และตั้งค่าในไดเรกทอรี `app` ![alt text](https://res.engagelab.net/docs/20250530/092117724/fcm3.png) ### การตั้งค่าไอคอนการแจ้งเตือน FCM เพิ่มการตั้งค่าต่อไปนี้ในไฟล์ AndroidManifest.xml เพื่อกำหนดไอคอนการแจ้งเตือน FCM:
              
              
### การตั้งค่าไฟล์ google-services.json

อ้างอิง \[คู่มือการสมัครพารามิเตอร์ช่องทางผู้ผลิต](https://www.engagelab.com/zh_CN/docs/app-push/developer-guide/client-sdk-reference/android-sdk/application-guide-for-manufacturer-channel-parameters#fcm-%E5%8F%82%E6%95%B0%E8%8E%B7%E5%8F%96) เพื่อรับไฟล์ `google-services.json` และตั้งค่าในไดเรกทอรี `app`

![alt text](https://res.engagelab.net/docs/20250530/092117724/fcm3.png)

### การตั้งค่าไอคอนการแจ้งเตือน FCM

เพิ่มการตั้งค่าต่อไปนี้ในไฟล์ AndroidManifest.xml เพื่อกำหนดไอคอนการแจ้งเตือน FCM:

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

### การตรวจสอบความสำเร็จของการรวม หากการรวมสำเร็จ จะมีการแสดงผลลัพธ์ใน log ดังนี้:
              
              
### การตรวจสอบความสำเร็จของการรวม

หากการรวมสำเร็จ จะมีการแสดงผลลัพธ์ใน log ดังนี้:

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

D [MTGoogleBusiness] support google push D [MTPlatformBusiness] onPlatformTokenSuccess, rid:5, platformToken: { platform=8, token=dj793yH_RO6FqNyKImQJYV:APA91bExj3PSVv50pwtl83LXVeB_HKOCSkyB6qCE12TIwIRl-RKiqCfXjvCshcqVrqn_8htlNBa8_A_8ixq7YIxfrloxig2BryZPCkunyx_z2drz0L-C2K8R7J8Yrojs61WCsF-BZj8h region=NULL isUserSettings=false }

### วิธีการทดสอบช่องทาง FCM 1. เงื่อนไขเบื้องต้นสำหรับการทดสอบ: * ระบบโทรศัพท์ต้องมี Google Play services เวอร์ชัน 17.3.4 หรือสูงกว่า * การทดสอบต้องเชื่อมต่อกับ VPN ต่างประเทศและตรวจสอบให้แน่ใจว่าเครือข่ายโทรศัพท์สามารถเข้าถึง Google ได้ * หากใช้โทรศัพท์ในประเทศสำหรับการทดสอบ แอปต้องทำงานในพื้นหลัง; การทดสอบจะล้มเหลวหากแอปถูกปิด เนื่องจากผู้ผลิตในประเทศอาจปิดกระบวนการในพื้นหลัง 2. ไปที่ \[EngageLab Console] -> \[AppPush] -> \[Basic Settings] -> \[Integration Settings] หน้า, ป้อนพารามิเตอร์: App Secret และคลิก "Save" ![alt text](https://res.engagelab.net/docs/20250530/092117724/fcm1.png) 3. หากทดสอบในประเทศจีน คุณต้องตั้งค่ารหัสประเทศหลังการเริ่มต้น ```java public class ExampleApplication extends Application { @Override public void onCreate() { super.onCreate(); MTCorePrivatesApi.configDebugMode(this, true); // ตั้งค่ารหัสประเทศ -- ไม่ควรตั้งค่านี้ในสภาพแวดล้อมการผลิต MTGlobal.setCountryCode("US"); // เริ่มต้น MTPushPrivatesApi.init(this); } }
              
              
### วิธีการทดสอบช่องทาง FCM

1. เงื่อนไขเบื้องต้นสำหรับการทดสอบ:

* ระบบโทรศัพท์ต้องมี Google Play services เวอร์ชัน 17.3.4 หรือสูงกว่า
* การทดสอบต้องเชื่อมต่อกับ VPN ต่างประเทศและตรวจสอบให้แน่ใจว่าเครือข่ายโทรศัพท์สามารถเข้าถึง Google ได้
* หากใช้โทรศัพท์ในประเทศสำหรับการทดสอบ แอปต้องทำงานในพื้นหลัง; การทดสอบจะล้มเหลวหากแอปถูกปิด เนื่องจากผู้ผลิตในประเทศอาจปิดกระบวนการในพื้นหลัง

2. ไปที่ \[EngageLab Console] -> \[AppPush] -> \[Basic Settings] -> \[Integration Settings] หน้า, ป้อนพารามิเตอร์: App Secret และคลิก "Save"
   ![alt text](https://res.engagelab.net/docs/20250530/092117724/fcm1.png)

3. หากทดสอบในประเทศจีน คุณต้องตั้งค่ารหัสประเทศหลังการเริ่มต้น

```java
public class ExampleApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
    
        MTCorePrivatesApi.configDebugMode(this, true);

        // ตั้งค่ารหัสประเทศ -- ไม่ควรตั้งค่านี้ในสภาพแวดล้อมการผลิต
        MTGlobal.setCountryCode("US");
         
        // เริ่มต้น
        MTPushPrivatesApi.init(this);
        
    }
}

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
  1. ใน backend ของ AppPush ให้ตรวจสอบว่าการ Push ถูกส่งผ่านช่องทาง FCM หรือช่องทาง EngageLab

alt text

คู่มือการรวมช่องทาง Honor

การตั้งค่าการสนับสนุน mavenCentral

ในไฟล์ gradle หลักของไดเรกทอรีรากของโปรเจกต์ ให้ตั้งค่าการสนับสนุน mavenCentral (โปรเจกต์ใหม่มักจะตั้งค่าการสนับสนุนนี้โดยค่าเริ่มต้น)

buildscript { repositories { ... mavenCentral() ... } } allprojets { repositories { ... mavenCentral() ... } }
              
              buildscript {
    repositories {
      ...
      mavenCentral()
      ...
    }
}

allprojets {
    repositories {
        ...
        mavenCentral()
        ...
    }
}

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

การตั้งค่าพารามิเตอร์และการพึ่งพา

ในไฟล์ build.gradle ของโมดูลโปรเจกต์ ให้เพิ่มโค้ดต่อไปนี้:

defaultConfig { ... manifestPlaceholders = [ ... HONOR_APPID : "Your Honor app's APP ID", // APP ID ที่ลงทะเบียนในแพลตฟอร์ม Honor ... ] ... } dependencies { ... // เวอร์ชันผู้ผลิตควรตรงกับเวอร์ชัน AppPush SDK implementation 'com.engagelab.plugin:honor:5.x.x' implementation 'com.engagelab.plugin:honor_th_push:5.x.x' ... }
              
                defaultConfig {
        ...
        manifestPlaceholders = [
               ...
               HONOR_APPID : "Your Honor app's APP ID", // APP ID ที่ลงทะเบียนในแพลตฟอร์ม Honor
               ...
        ]
        ...
    }
  dependencies {
        ...
        // เวอร์ชันผู้ผลิตควรตรงกับเวอร์ชัน AppPush SDK
        implementation 'com.engagelab.plugin:honor:5.x.x' 
        implementation 'com.engagelab.plugin:honor_th_push:5.x.x'
        ...
  }

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

การตั้งค่าใบรับรองลายเซ็น

ในไฟล์ build.gradle ให้ตั้งค่าใบรับรองที่ตรงกับลายนิ้วมือที่เพิ่มใน backend ของ Honor

บริการ Honor ต้องการให้แอปลงนามเพื่อการลงทะเบียนที่สำเร็จ คุณสามารถรับใบรับรองลายนิ้วมือที่ตรงกันได้โดยใช้คำสั่ง keytool -list -v -keystore <path to the keystore file>

การตรวจสอบความสำเร็จของการรวม

หากการรวมสำเร็จ จะมีการแสดงผลลัพธ์ใน log ดังนี้:

D [MTHonorBusiness] support honor push D [MTHonorBusiness] onTokenSuccess:get token is s18069ps301291893q1ssro2o40s1630-n262n542r9669q62o83s390306179rro-775875632-654-6105326555582-PA-0052993947080949113-5 D [MTPlatformBusiness] onPlatformTokenSuccess, rid:5, platformToken: { platform=7, token=s18069ps301291893q1ssro2o40s1630-n262n542r9669q62o83s390306179rro-775875632-654-6105326555582-PA-0052993947080949113-5 region=NULL isUserSettings=false }
              
              
D  [MTHonorBusiness] support honor push
D  [MTHonorBusiness] onTokenSuccess:get token is s18069ps301291893q1ssro2o40s1630-n262n542r9669q62o83s390306179rro-775875632-654-6105326555582-PA-0052993947080949113-5
D  [MTPlatformBusiness] onPlatformTokenSuccess, rid:5, platformToken:
{
    platform=7,
    token=s18069ps301291893q1ssro2o40s1630-n262n542r9669q62o83s390306179rro-775875632-654-6105326555582-PA-0052993947080949113-5
    region=NULL
    isUserSettings=false
}

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

การตั้งค่าการปกปิดโค้ด

หากใช้ proguard ให้เพิ่มเนื้อหาต่อไปนี้ในไฟล์การตั้งค่าเพื่อป้องกันการรายงานคำเตือนที่ผิดพลาดซึ่งอาจทำให้การคอมไพล์ล้มเหลว:

-ignorewarnings -keepattributes *Annotation* -keepattributes Exceptions -keepattributes InnerClasses -keepattributes Signature -keepattributes SourceFile,LineNumberTable -keep class com.hihonor.push.**{*;}
              
              
-ignorewarnings
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable
-keep class com.hihonor.push.**{*;}
  

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

วิธีการทดสอบช่องทาง Honor

  1. ไปที่ [EngageLab Console] -> [AppPush] -> [Basic Settings] -> [Integration Settings] หน้า, ป้อนพารามิเตอร์: App ID, Client ID, Client Secret, App Secret และคลิก "Save"

alt text

  1. หลังจากปิดกระบวนการแอปพลิเคชัน ให้ทำการ Push หากได้รับ Push การรวมช่องทางผู้ผลิตสำเร็จ

วิธีการรายงานการแจ้งเตือนของผู้ผลิตโดยไม่ต้องรวม SDK ของผู้ผลิตแต่ยังคงใช้ EngageLab เพื่อ Push ข้อความของผู้ผลิต

/** * รายงานการแจ้งเตือนช่องทางผู้ผลิตที่มาถึง * * รายงานผ่าน http/https * * @param context ต้องไม่เป็น null * @param messageId EngageLab message id, ต้องไม่เป็น null * @param platform ผู้ผลิต, ค่า (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 8:google) * @param platformMessageId message id ของผู้ผลิต, สามารถเป็น null ได้ */ public static void reportNotificationArrived(Context context, String messageId, byte platform, String platformMessageId)
              
                  /**
     * รายงานการแจ้งเตือนช่องทางผู้ผลิตที่มาถึง
     * 
     * รายงานผ่าน http/https
     *
     * @param context           ต้องไม่เป็น null
     * @param messageId         EngageLab message id, ต้องไม่เป็น null
     * @param platform          ผู้ผลิต, ค่า (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 8:google)
     * @param platformMessageId message id ของผู้ผลิต, สามารถเป็น null ได้
     */
    public static void reportNotificationArrived(Context context, String messageId, byte platform, String platformMessageId)

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

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

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

            
โค้ดนี้โชว์เป็นหน้าต่างลอย
/** * อัปโหลด token ของผู้ผลิต * * ต้องเรียกหลังจากการเชื่อมต่อ EngageLab long connection สำเร็จ มิฉะนั้นจะไม่ถูกต้อง สถานะการเชื่อมต่อ long connection สำเร็จเมื่อ `MTCommonReceiver.onConnectStatus` callback ส่งคืนค่า true * * อัปโหลดผ่าน TCP * * @param context ต้องไม่เป็น null * @param platform ผู้ผลิต, ค่า (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param token token ที่ส่งคืนโดยผู้ผลิต, ต้องไม่เป็น null */ public static void uploadPlatformToken(Context context, byte platform, String token)
              
                  /**
     * อัปโหลด token ของผู้ผลิต
     *
     * ต้องเรียกหลังจากการเชื่อมต่อ EngageLab long connection สำเร็จ มิฉะนั้นจะไม่ถูกต้อง สถานะการเชื่อมต่อ long connection สำเร็จเมื่อ `MTCommonReceiver.onConnectStatus` callback ส่งคืนค่า true
     * 
     * อัปโหลดผ่าน TCP
     *
     * @param context  ต้องไม่เป็น null
     * @param platform ผู้ผลิต, ค่า (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
     * @param token    token ที่ส่งคืนโดยผู้ผลิต, ต้องไม่เป็น null
     */
    public static void uploadPlatformToken(Context context, byte platform, String token)

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