ข้ามไปที่เนื้อหา

ขั้นสูง

การสร้างกลุ่มการแจ้งเตือน

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

กลุ่มการแจ้งเตือนสามารถสร้างได้โดยการเปลี่ยนคีย์กลุ่มให้เป็นเปิดใช้งานและเพิ่มค่าคีย์ในคอนโซล > การแจ้งเตือน > การผลักดัน v4 > ลงทะเบียนแคมเปญการผลักดัน > การลงทะเบียนแคมเปญ > ตัวเลือก > คีย์กลุ่ม หลังจากสร้างกลุ่มในคอนโซลแล้ว คุณสามารถใช้กลุ่มการแจ้งเตือนด้วย groupId เมื่อส่ง การผลักดันในท้องถิ่น และการแจ้งเตือนการผลักดันระยะไกล เมื่อกลุ่มถูกนำไปใช้ การแจ้งเตือนจะถูกแสดงในรูปแบบที่ยุบโดยกลุ่มตามที่แสดงด้านล่าง

แอนดรอยด์
iOS
</tbody>

การแจ้งเตือนสื่อ iOS

โดยการใช้กรอบงาน UserNotifications ของ Apple คุณสามารถเพิ่มไฟล์สื่อ เช่น รูปภาพและวิดีโอ ลงในการแจ้งเตือน

JPG(ภาพ)
GIF(ภาพ)
MP4(วิดีโอ)

กระบวนการดำเนินงาน

ฟีเจอร์การแจ้งเตือนสื่อทำงานโดยใช้ Notification Service Extension ของ iOS (ซึ่งจะเรียกว่า Extension ต่อไป)

บริการขยายการแจ้งเตือนเป็นประเภทหนึ่งของการขยายแอปที่ช่วยให้คุณสามารถปรับเปลี่ยน Payload ก่อนที่จะมีการส่งการแจ้งเตือนระยะไกลไปยังผู้ใช้ ซึ่งช่วยให้สามารถใช้กระบวนการ (UI หรือฟังก์ชัน) จากแอปอื่นได้โดยไม่ต้องเปลี่ยนบริบท สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ เพิ่มเติม.

  • กระบวนการส่งการแจ้งเตือนระยะไกลหลังจากการใช้ส่วนขยาย

ข้อจำกัดขนาดและประเภทไฟล์

มีขีดจำกัดขนาดเมื่อแนบไฟล์มีเดีย และข้อมูลรายละเอียดสามารถดูได้ที่ UNNotificationAttachment.

Warning

เราได้ค้นพบว่าเมื่อแอพที่ใช้ AVAudioSession กำลังทำงาน เช่น Youtube และเกมมือถือหลายเกม (เช่น Summoners War, Be a Star, Chain Strike) การส่งเสียงที่ได้รับผ่านการแจ้งเตือนแบบพุชอาจทำให้หน้าจอหลัก (Springboard) รีบูต ปัญหานี้เกิดขึ้นไม่ว่าจะเป็นเวอร์ชัน iOS หรือประเภทอุปกรณ์ใด และได้รับการยืนยันว่ามีความขัดแย้งเกิดขึ้นภายในระบบของ Apple ซึ่งแยกจาก Hive

เมื่อวันที่ 20 ธันวาคม 2018 เราได้สอบถามเกี่ยวกับปัญหานี้กับ Apple และจนกว่าจะมีการเตรียมคำตอบ โปรด หยุดใช้ ฟีเจอร์การส่งเสียงโดยใช้การแจ้งเตือนแบบพุช.

หมวดหมู่ ประเภท ขนาดสูงสุด
เสียง WAV, MP3, MP4(เสียง) 5MB
ภาพ JPG, JPEG, PNG, GIF 10MB
วิดีโอ MP4, AVI 50MB
  • หากเกิดการหมดเวลาเนื่องจากสภาพเครือข่ายที่ไม่ดี ผู้ใช้จะได้รับการแจ้งเตือนปกติโดยไม่มีสื่อ
  • ในเครือข่ายที่ช้ามาก การดาวน์โหลดอาจใช้เวลานานถึง 10 นาที ดังนั้นจึงจำเป็นต้องพิจารณาสภาพเครือข่ายในพื้นที่และใช้สื่อที่มีขนาดเหมาะสม

การนำไปใช้และการใช้งาน

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

Note

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

การเพิ่มส่วนขยาย

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

เมื่อคุณเพิ่มเป้าหมาย เทมเพลตจะถูกสร้างขึ้นโดยอัตโนมัติ

<summary>การเพิ่มเป้าหมายในโปรเจกต์ Unity</summary>
ใน Unity Editor, Hive SDK จะทำการเพิ่มเป้าหมายและสร้าง Info.plist โดยอัตโนมัติด้วยฟีเจอร์ PostProcess คุณเพียงแค่ต้องเปิดใช้งานตัวเลือกการส่งสื่อ; ไม่มีขั้นตอนอื่นใดที่ต้องทำด้วยตนเอง.

1. ในแถบเมนูของ Unity Editor ให้ไปที่ **Hive > Build project post process settings > iOS**
2. เปิดใช้งาน **Push Media Contents**
<summary>การเพิ่มเป้าหมายในสภาพแวดล้อมที่ไม่ใช่ Unity</summary>
1. ในการตั้งค่าโปรเจกต์ ให้คลิกที่ปุ่ม **Add Target** (ปุ่ม **+** ที่มุมล่างซ้าย)
![noti_adv_1_plus-button](../img/noti_adv_1_plus-button.png){width="700px"}

2. เลือก **Notification Service Extension** และคลิก **ถัดไป** <br>
(ตั้งแต่ Xcode 8 เป็นต้นไป คุณสามารถเพิ่ม Notification Service Extension เป็นเป้าหมายในโปรเจกต์)
![noti_adv_1_plus-button](../img/noti_adv_2_template.png){width="700px"}

3. ป้อนชื่อ **ผลิตภัณฑ์**
![noti_adv_1_plus-button](../img/noti_adv_3_create.png){width="700px"}

4. เมื่อป๊อปอัพปรากฏขึ้น ให้คลิก **เปิดใช้งาน** <br>

ส่วนขยายจะถูกฝังโดยอัตโนมัติในโปรเจกต์ปัจจุบัน และจะมีแผนผังสำหรับการสร้างเพิ่มเข้ามา noti_adv_1_plus-button

5. ในแท็บ **ทั่วไป** ให้ตรวจสอบว่า **ส่วนขยาย** ได้ถูกเพิ่มลงในโปรเจกต์แล้ว
![noti_adv_1_plus-button](../img/noti_adv_5_general-frameworks.png){width="700px"}

6. ยืนยันว่า **NotificationService** คลาสแม่แบบได้ถูกเพิ่มเข้าไปในโปรเจกต์แล้ว
![noti_adv_1_plus-button](../img/noti_adv_6_template-source.png){width="700px"}


การเพิ่ม HIVEExtensions.framework

คุณสามารถดาวน์โหลดสื่อได้อย่างง่ายดายโดยใช้ HIVEExtensions.framework ที่จัดเตรียมโดย Hive.

วิธีการเพิ่ม HIVEExtensions.framework มีดังนี้:

  1. Hive SDK รองรับ CocoaPods หากไม่มี Podfile ในไดเรกทอรีโปรเจกต์ของคุณ ให้รัน pod init. noti_adv_7-2_pod-init-terminal

ถ้าคุณมี Podfile อยู่แล้ว ให้เปิดไฟล์และเพิ่มคำสั่งเป้าหมาย 'NotificationServiceExtension (ชื่อเป้าหมายตัวอย่าง)' do-end statement. noti_adv_7-2_pod-init-terminal

  1. อ้างอิงจากภาพหน้าจอและเขียนคำแถลงของ pod. noti_adv_7-2_pod-init-terminal

  2. ปิดไฟล์ Podfile และรัน pod install ในไดเรกทอรีโปรเจกต์ของคุณ. noti_adv_7-2_pod-init-terminal

  3. เมื่อคุณเปิด NotificationSample (ชื่อโปรเจ็กต์ตัวอย่าง).xcworkspace คุณจะเห็นว่าโปรเจ็กต์ Pods ได้ถูกเพิ่มเข้ามาแล้วตามที่แสดงด้านล่าง คุณสามารถนำเข้า HIVEExtensions ในทั้งเป้าหมาย NotificationSample และ NotificationServiceExtension ได้แล้ว noti_adv_7-2_pod-init-terminal

การใช้เฟรมเวิร์ก

นำเข้าเฟรมเวิร์กในไฟล์ NotificationService.swift ตามที่แสดงในตัวอย่าง ดำเนินการตามวิธีที่ให้ไว้ในแม่แบบเพื่อติดต่อกับวิธีการที่ให้โดย HIVEExtensions.framework และ ลบโค้ดแม่แบบเดิมที่อยู่ภายในวิธีการ

import HIVEExtensions

func didReceiveNotificationRequest(request: UNNotificationRequest, with contentHandler: (UNNotificationContent) -> Void) {
    HIVENotificationService.didReceive(request) { content in
        guard let content else { return }
        contentHandler(content)
    }
}

func serviceExtensionTimeWillExpire() {
    HIVENotificationService.serviceExtensionTimeWillExpire()
}
#import <HIVEExtensions/HIVEExtensions.h>

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
[HIVENotificationService didReceiveNotificationRequest:request withContentHandler:contentHandler];
}

- (void)serviceExtensionTimeWillExpire {
[HIVENotificationService serviceExtensionTimeWillExpire];
}

ข้อควรระวังในการใช้งาน

ความแตกต่างระหว่างเวลาที่ส่งและเวลาที่รับ

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

ตัวอย่างเช่น หากมีการส่งการแจ้งเตือนในเวลา 15:00 และการดาวน์โหลดเสร็จสิ้นในเวลา 15:05 การแจ้งเตือนจะแสดงว่าได้มาถึงในเวลา 15:00

ความจุของอุปกรณ์

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

การใช้งานข้อมูลมือถือของผู้ใช้

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

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

ในขณะนี้ ประเภทของสื่อที่ได้รับผ่านการส่งจะได้รับการยืนยันโดยนามสกุลที่ระบุไว้ที่ส่วนท้ายของ URL สื่อ และเฉพาะนามสกุลที่ระบุไว้ในส่วน [ขนาดไฟล์และประเภทจำกัด] เท่านั้นที่จะถูกแสดงอย่างถูกต้อง

URL ที่ได้รับ wifi LTE / 3G
http://xxx/notimovie.mp4 สื่อจะถูกเปิดเผยเสมอหลังจากดาวน์โหลด เนื่องจากมีนามสกุลที่ตรงกับไฟล์วิดีโอ (mp4) จึงเปิดเผยได้โดยไม่ต้องดาวน์โหลดสื่อ
http://xxx/notimovie สื่อจะถูกเปิดเผยเสมอหลังจากดาวน์โหลด มันไม่ใช่ไฟล์เสียง/สื่อ ดังนั้นสื่อจึงเปิดเผยหลังจากดาวน์โหลด
http://xxx/notisound.wav สื่อจะถูกเปิดเผยเสมอหลังจากดาวน์โหลด เนื่องจากมีนามสกุลที่ตรงกับไฟล์เสียง (wav) จึงเปิดเผยได้โดยไม่ต้องดาวน์โหลดสื่อ
http://xxx/notiimage.jpg สื่อจะถูกเปิดเผยเสมอหลังจากดาวน์โหลด มันไม่ใช่ไฟล์เสียง/สื่อ ดังนั้นสื่อจึงเปิดเผยหลังจากดาวน์โหลด

การตั้งค่าความปลอดภัยในการขนส่งแอป

นโยบายเริ่มต้นของ Apple อนุญาตให้การสื่อสารของเซิร์ฟเวอร์ที่ดำเนินการโดยแอปทั้งหมดใช้ https และ URL ที่ได้รับผ่านการแจ้งเตือนก็ได้รับผลกระทบจากนโยบายนี้เช่นกัน หากคุณต้องการสื่อสารโดยใช้โดเมน Http คุณจะต้องตั้งค่าการยกเว้น App Transport Security (ATS)
แม้ว่าแอปพลิเคชันจะมีการจัดการการยกเว้น ATS คุณจะต้องตั้งค่าการยกเว้น ATS ในส่วนขยายเพื่อใช้โดเมน http สำหรับ URL ที่ส่งผ่านการแจ้งเตือนแบบพุช

เมื่อสื่อไม่ได้ถูกส่งใน Unity

Hub connection error Error Domain=NSCocoaErrorDomain Code=4097 "connection to service named com.com2us.hivesdk.normal.freefull.apple.global.ios.universal.NotificationServiceExtension" UserInfo={NSDebugDescription=connection to service named com.com2us.hivesdk.normal.freefull.apple.global.ios.universal.NotificationServiceExtension}

ใน Unity อาจมีกรณีที่สื่อไม่ได้ถูกส่งในขณะที่แสดงบันทึกข้อผิดพลาดเช่นเดียวกับที่แสดงข้างต้น ในกรณีนี้ โปรดตรวจสอบว่าค่าทั้ง armv7 และ arm64 รวมอยู่ในสถาปัตยกรรมของเป้าหมายส่วนขยายที่สร้างขึ้นหรือไม่ noti_adv_7-2_pod-init-terminal

ปุ่มดำเนินการดัน

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

ด้วย Hive SDK คุณสามารถติดตั้งปุ่มการกระทำแบบพุชได้อย่างง่ายดายด้วยการตั้งค่าที่เรียบง่าย

แอนดรอยด์ ไอโอเอส
noti_adv_14-1_push_action_mockup_ad noti_adv_14-2_push_action_mockup_ios
Note

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

Warning

เมื่อใช้ปุ่มการกระทำการส่งข้อมูลร่วมกับ iOS Media Notification ใน iOS SDK ฟีเจอร์การแจ้งเตือนสื่ออาจทำงานไม่ถูกต้อง เมื่อส่งการแจ้งเตือน ให้ใช้ฟีเจอร์เพียงหนึ่งอย่างในแต่ละครั้ง—ไม่ว่าจะเป็น 'media URL' หรือ 'action push' หากใช้ทั้งสองอย่างพร้อมกัน จะมีเพียงภาพขนาดย่อของสื่อที่แสดงเมื่อได้รับ และผู้ดูขยายจะไม่ปรากฏเมื่อกดค้าง

การใช้งานพื้นฐาน (iOS)

SDK ของ Hive มีชุดปุ่มการกระทำแบบพุชที่ตั้งค่าไว้ล่วงหน้าซึ่งอิงจากรูปแบบที่ใช้บ่อย เช่น 'ยืนยัน', 'ปฏิเสธ' เป็นต้น การรวมปุ่มที่สร้างไว้ล่วงหน้านี้สามารถนำไปใช้ได้อย่างรวดเร็ว และคุณยังสามารถกำหนดและขยายชุดปุ่มการกระทำแบบกำหนดเองตามที่ต้องการ ชุดปุ่มการกระทำแบบพุชที่ตั้งค่าไว้ล่วงหน้ามีดังต่อไปนี้

* ยืนยัน
* ปิด
* ยืนยัน, ปิด
* ดำเนินการ, ยกเลิก
* ยอมรับทั้งหมด, ปิด
* ขอรับทันที, ปิด
* ซื้อ, ปฏิเสธ
* ขาย, ปฏิเสธ
* ยอมรับ, ปฏิเสธ, ถือ
| หมวดหมู่~(รหัสหมวดหมู่)~ | ชื่อปุ่ม~(รหัสการกระทำ)~ |
|:---:|:----|
|ยืนยัน~(INFO_CATEGORY)~|ยืนยัน~(CONFIRM_ID)~|
|ปิด~(CLOSE_CATEGORY)~|ปิด~(CLOSE_ID)~|
|ยืนยันการเลือก~(CONFIRM_CATEGORY)~|ยืนยัน~(CONFIRM_ID)~, ปิด~(CLOSE_ID)~|
|ดำเนินการ~(EXECUTE_CATEGORY)~|ดำเนินการ~(EXECUTE_ID)~, ยกเลิก~(CANCEL_ID)~|
|ยอมรับทั้งหมด~(ACCEPT_ALL_CATEGORY)~|ยอมรับทั้งหมด~(ACCEPT_ALL_ID)~, ปิด~(CLOSE_ID)~|
|ขอรับทันที~(ACCEPT_NOW_CATEGORY)~|ขอรับทันที~(ACCEPT_NOW_ID)~, ปิด~(CLOSE_ID)~|
|การตัดสินใจซื้อ~(PURCHASE_CATEGORY)~|ซื้อ~(PURCHASE_ID)~, ปฏิเสธ~(DECLINE_ID)~|
|คำขอขาย~(SALE_CATEGORY)~|ขาย~(SALE_ID)~, ปฏิเสธ~(DECLINE_ID)~|
|การตัดสินใจ~(ACCEPT_DECISION_CATEGORY)~|ยอมรับ~(ACCEPT_ID)~, ปฏิเสธ~(REJECT_ID)~, ถือ~(HOLDING_ID)~|

ไม่จำเป็นต้องมีโค้ดเพิ่มเติมเพื่อใช้ชุดปุ่มการกระทำแบบพุชเหล่านี้ แต่คุณต้องเพิ่มเป้าหมาย Notification Content Extension ลงในโปรเจกต์ของคุณ ดู 'คู่มือการใช้งานชุดปุ่มการกระทำแบบพุช' ด้านล่างสำหรับสภาพแวดล้อมการพัฒนาของคุณเพื่อเพิ่มเป้าหมายและเปิดใช้งานปุ่มการกระทำแบบพุช

<summary>การใช้ชุดปุ่มการกระทำแบบพุชใน Unity</summary>
ใน Unity Editor ฟีเจอร์ **PostProcess** ของ SDK Hive จะจัดการการเพิ่มเป้าหมายและการสร้าง Info.plist โดยอัตโนมัติ เพียงแค่เลือกตัวเลือกในการใช้ปุ่มการกระทำแบบพุช; ไม่ต้องมีขั้นตอนด้วยตนเองอื่น ๆ

1. ในแถบเมนูของ Unity Editor ให้ไปที่ **Hive > Build project post process settings > iOS**
2. เปิดใช้งาน **Push Action Buttons**
<BR> รายการที่แสดงเมื่อเปิดใช้งานปุ่มจะแสดงตัวอย่างฟิลด์ `categories` จากไฟล์ *hive_push_actions.json* ที่ใช้ใน [การใช้งานขั้นสูง](#ios_1) หากคุณดำเนินการด้วยการใช้งานเริ่มต้นโดยไม่มีไฟล์นี้ จะมีการแสดง 'none'.
<summary>การใช้ปุ่ม Push Action Set ในสภาพแวดล้อมที่ไม่ใช่ Unity</summary>
หลังจากสร้างโปรเจ็กต์ Xcode (.xcodeproj) แล้ว ให้ทำตามขั้นตอนเหล่านี้:

1. ในการตั้งค่าโปรเจกต์ ให้คลิก **เพิ่มเป้าหมาย**
2. เลือก **ส่วนขยายเนื้อหาการแจ้งเตือน** และคลิก **ถัดไป**
3. ป้อน **ชื่อผลิตภัณฑ์** และกำหนดเป้าหมายแอปเกมหลักให้ **ฝังในแอปพลิเคชัน**
4. ในแท็บ **ทั่วไป** ของเป้าหมายแอปเกมหลัก ให้ยืนยันว่าชื่อผลิตภัณฑ์ได้ถูกเพิ่มไปยังโปรเจกต์แล้ว
5. ตรวจสอบไฟล์คลาสเทมเพลตที่สร้างขึ้นโดยอัตโนมัติ~(NotificationContentViewController.swift)~ ภายใต้เส้นทาง 'ชื่อผลิตภัณฑ์' และป้อนตามที่แสดงด้านล่าง
![noti_adv_15-noti_adv_15_push_action_addTarget_step5](../img/noti_adv_15_push_action_addTarget_step5.png)

เมื่อคุณได้ใช้ปุ่มการกระทำแบบผลักที่ตั้งค่าในสภาพแวดล้อมการพัฒนาของคุณแล้ว ให้ระบุการกระทำเมื่อส่งการผลักจากคอนโซล.
เมื่อระบุการกระทำ ให้ใช้หมวดหมู่และตัวระบุการกระทำจากรายการรายละเอียดข้างต้น.

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการตั้งค่าคอนโซล โปรดดูที่คู่มือคอนโซล.

การใช้งานขั้นสูง (iOS)

กำหนดค่าของ actions และ categories ในไฟล์ hive_push_actions.json หลังจากกำหนดแล้ว ให้รวมไฟล์ hive_push_actions.json ในเป้าหมายของคุณและสร้างแอป เมื่อแอปทำงาน SDK Hive จะทำการวิเคราะห์ไฟล์โดยอัตโนมัติและลงทะเบียนการกระทำและหมวดหมู่ในศูนย์การแจ้งเตือน

ด้านล่างนี้เป็นตัวอย่างของไฟล์ hive_push_actions.json

ตัวอย่าง hive_push_actions.json
{
    "actions": {
        "ACCEPT_ALL_ID": { ... },
        "ACCEPT_ID": { ... },
        "ACCEPT_NOW_ID": { ... },
        "CANCEL_ID": { ... },
        "CLOSE_ID": { ... },
        "CONFIRM_ID": { ... },
        "DECLINE_ID": { ... },
        "EXECUTE_ID": { ... },
        "HOLDING_ID": { ... },
        "PURCHASE_ID": { ... },
        "REJECT_ID": { ... },
        "SALE_ID": { ... }
    },
    "categories": {
        "INFO_CATEGORY": ["CONFIRM_ID"],
        "CLOSE_CATEGORY": ["CLOSE_ID"],
        "CONFIRM_CATEGORY": ["CONFIRM_ID", "CLOSE_ID"],
        "EXECUTE_CATEGORY": ["EXECUTE_ID", "CANCEL_ID"],
        "ACCEPT_ALL_CATEGORY": ["ACCEPT_ALL_ID", "CLOSE_ID"],
        "ACCEPT_NOW_CATEGORY": ["ACCEPT_NOW_ID", "CLOSE_ID"],
        "PURCHASE_CATEGORY": ["PURCHASE_ID", "DECLINE_ID"],
        "SALE_CATEGORY": ["SALE_ID", "DECLINE_ID"]
    }
}

หมายเหตุสำหรับการเขียนไฟล์:

  • จำนวนปุ่มสูงสุดต่อหมวดหมู่ (ชุด) คือ 3.
  • ตัวอย่างข้างต้นกำหนดชุดปุ่มเริ่มต้น สำหรับปุ่มการกระทำที่กำหนดเอง ห้ามใช้ตัวระบุซ้ำ; ใช้สตริงที่ไม่ซ้ำกันและแยกแยะได้.
  • การสนับสนุนหลายภาษาจะตาม ภาษาของเกม และคุณสามารถป้อนได้สูงสุด 16 ภาษา ที่รองรับโดย Hive SDK. ภาษาอังกฤษ ("en") เป็นค่าที่จำเป็นสำหรับสตริงหลายภาษา.
Note

Unity PostProcess ได้รับการสนับสนุน หากคุณเพิ่มไฟล์ hive_push_actions.json ไปยังเส้นทางเดียวกับ hive_config.xml ในโปรเจกต์ Unity ของคุณ มันจะถูกเพิ่มโดยอัตโนมัติไปยังเป้าหมายแอปเมื่อสร้างโปรเจกต์ Xcode

Warning

หลังจากเขียนไฟล์แล้ว ให้เพิ่มคีย์จากฟิลด์ "categories" ในไฟล์ไปยัง UNNotificationExtensionCategory ใน Info.plist ของ Notification Content Extension.
ใน Unity จะทำโดยอัตโนมัติด้วยการวิเคราะห์ไฟล์

คำถามที่พบบ่อย

หากปุ่มการกระทำที่กำหนดเองไม่ปรากฏแม้หลังจากรวมไฟล์
  • ตรวจสอบให้แน่ใจว่าชื่อไฟล์คือ 'hive_push_actions.json'.
  • ตรวจสอบให้แน่ใจว่ามันถูกนำไปใช้ใน Copy Bundle Resources. noti_adv_15-1_push_action_faq1