แท็กเป็นหนึ่งในเครื่องมือที่มีประโยชน์ที่สุดที่ Pushwoosh นำเสนอ ซึ่งช่วยให้สามารถใช้งานฟังก์ชันที่ซับซ้อนได้หลากหลาย ด้วยการใช้แท็ก คุณสามารถแบ่งกลุ่มผู้ใช้งานของคุณและส่ง push notifications ที่ตรงเป้าหมายไปยังผู้ใช้เฉพาะกลุ่มตามคุณลักษณะของพวกเขาได้
แท็กสามารถบรรจุข้อมูลใดๆ ก็ได้ที่เกี่ยวข้องกับผู้ใช้หรืออุปกรณ์นั้นๆ ข้อมูลนี้อาจรวมถึงชื่อผู้ใช้, ID, เมือง, ทีมฟุตบอลที่ชื่นชอบ, หมวดหมู่ข่าวที่ต้องการ หรือข้อมูลอื่นๆ ที่เกี่ยวข้องกับผู้ใช้ของคุณ
เริ่มต้นด้วยการระบุความต้องการทางธุรกิจของคุณและกำหนดว่าคุณต้องการแบ่งกลุ่มผู้ใช้งานของคุณอย่างไร พิจารณาปัจจัยต่างๆ เช่น อายุ, สถานที่, ประวัติการซื้อในแอป หรือเกณฑ์อื่นๆ ที่เกี่ยวข้องสำหรับการกำหนดเป้าหมายผู้ใช้
ค่าของแท็กสามารถช่วยให้แคมเปญ push ของคุณฉลาดขึ้นได้ แต่ละแท็กสามารถจัดเก็บค่าได้เกือบไม่จำกัดจำนวน โดยพื้นฐานแล้ว นี่หมายความว่าแท็กเดียวก็เพียงพอที่จะบันทึกข้อมูลประเภทเฉพาะเกี่ยวกับผู้ใช้แต่ละคนในฐานข้อมูลของคุณ
มีแท็กเพียงไม่กี่แท็กที่ใช้ได้สำหรับแต่ละบัญชี แต่เมื่อพิจารณาถึงพื้นที่ที่เกือบจะไม่มีที่สิ้นสุดสำหรับแต่ละแท็กแล้ว แท็กเพียงไม่กี่แท็กก็เพียงพอที่จะรวบรวมข้อมูลจำนวนมหาศาลเกี่ยวกับผู้ใช้ของคุณและตั้งค่ารูปแบบการกำหนดเป้าหมายที่ซับซ้อนมากได้
Integer — ใช้สำหรับข้อมูลจำนวนเต็ม (จำนวนเงินในเกมที่ได้รับ, ระดับที่ไปถึง, อายุ)
String — ใช้สำหรับค่าที่เป็นข้อความ (ชื่อผู้ใช้, อีเมล, ตัวระบุ)
List — เหมือนกับประเภท String แต่ผู้ใช้แต่ละคนอาจมีค่าได้หลายค่าพร้อมกัน (ความชอบทางดนตรี, หมวดหมู่ข่าว, ความชอบด้านอาหาร)
Boolean — ประเภทของแท็กที่เป็น true / false
Date — ใช้สำหรับวันที่ในปฏิทิน โดยพื้นฐานแล้ว นี่คือแท็กประเภทจำนวนเต็มที่เก็บค่า Unix Epoch timestamps (แปลงจาก/เป็นวันที่แบบเกรกอเรียนโดยอัตโนมัติ)
Price — อนุญาตให้ตั้งค่าตามสกุลเงินที่ระบุในรูปแบบ “*.XX” เรียนรู้เพิ่มเติม
Version — ใช้สำหรับการกำหนดเวอร์ชัน ตัวอย่างของรูปแบบที่อนุญาตคือ w.x.y.z (Major.Minor.Patch.Build) ค่าสูงสุดสำหรับแต่ละส่วนของเวอร์ชันคือ 9999 ดังนั้นหมายเลขเวอร์ชันสูงสุดจึงไม่สามารถมากกว่า 9999.9999.9999.9999 ได้
แท็กแต่ละประเภทมีชุดของ ตัวดำเนินการ ที่สามารถใช้ได้เฉพาะ ตัวดำเนินการแท็กจะกำหนดความสัมพันธ์ระหว่างแท็กและค่าของมันเพื่อวัตถุประสงค์ในการแบ่งกลุ่ม
ตัวดำเนินการของ Integer Tag: is, is not, are, not in, not set, any
ตัวดำเนินการของ String Tag: is, is not, are, not in, not set, any
ตัวดำเนินการของ List Tag: in, not in, not set, any
ตัวดำเนินการของ Boolean Tag: is (true/false), not set, any
ตัวดำเนินการของ Date Tag: exactly on, on or after, on or before, between, not set, any
ตัวดำเนินการของ Price Tag: is, is not, greater or equals, less or equals, between, in, not in, not set, any
ตัวดำเนินการของ Version Tag: is, is not, greater or equals, less or equals, between, in, not in, not set, any
พารามิเตอร์นี้อธิบายพฤติกรรมของแท็กที่เกี่ยวข้องกับแอปต่างๆ ในบัญชีเดียวกัน แท็กเฉพาะแอปพลิเคชันสามารถมีชุดค่าที่แตกต่างกันสำหรับแต่ละแอปในบัญชีเดียวกัน ในทางตรงกันข้าม แท็กที่ไม่เฉพาะเจาะจงกับแอปพลิเคชันจะเก็บค่าเดียวกันสำหรับทุกแอปที่ใช้แท็กนี้
สมมติว่าคุณมีสองแอป คือแอปข่าวและเกม และคุณต้องการกำหนดเป้าหมายเฉพาะผู้ใช้ที่ตกลงอย่างชัดแจ้งที่จะรับ push จากคุณ ดังนั้น คุณจึงสร้างแท็กบูลีนชื่อ “Subscribed” และตั้งค่าเป็น "true" สำหรับผู้ใช้ที่ต้องการรับ push จากคุณ และ "false" สำหรับผู้ที่ไม่ต้องการรับการแจ้งเตือน
หนึ่งในผู้ใช้ของคุณชื่อแอนนา ได้ติดตั้งทั้งสองแอปของคุณ เธอโอเคกับการรับการแจ้งเตือนเกี่ยวกับข่าวด่วน แต่เลือกไม่รับ push ใดๆ จากแอปเกม
ถ้าแท็ก “Subscribed” เป็นแท็กเฉพาะแอปพลิเคชัน ทุกอย่างจะเป็นไปตามแผน อย่างไรก็ตาม ในกรณีที่แท็กนี้ไม่เฉพาะเจาะจงกับแอปพลิเคชัน แอปแต่ละตัวของคุณจะเขียนทับค่าที่ตั้งโดยแอปอื่น ซึ่งอาจทำลายการกำหนดเป้าหมายของคุณและทำให้เกิดความไม่พอใจได้
ในทางกลับกัน แท็กที่ไม่เฉพาะเจาะจงกับแอปพลิเคชันอาจมีประโยชน์หากคุณต้องการทำการกำหนดเป้าหมายข้ามแอปพลิเคชันและติดตามผู้ใช้ที่มีชื่อผู้ใช้เดียวกันในแอปพลิเคชันต่างๆ
แท็กทั้งหมดใน Pushwoosh ถูกออกแบบมาให้เป็นแบบเฉพาะผู้ใช้และจะถูกกำหนดให้กับอุปกรณ์ทั้งหมดของผู้ใช้เมื่อตั้งค่าโดย UserID แทนที่จะเป็น HWID
" application " : " XXXXX-XXXXX " , // Pushwoosh application code
" userId " : " the id of a specific user " ,
" UserSpecificStringTag " : " string value " ,
" UserSpecificIntegerTag " : 42
แท็กเหล่านี้มีให้ใช้งานโดย Pushwoosh ตั้งแต่แรก ดังนั้นคุณไม่จำเป็นต้อง (และจริงๆ แล้ว ไม่ควร) ตั้งค่าด้วยตนเอง ส่วนใหญ่จะถูกตั้งค่าจากแอปพลิเคชันและส่งไปยังเซิร์ฟเวอร์ของเราผ่าน registerDevice และการเรียก API อื่นๆ และบางส่วนถูกตั้งค่าโดยเซิร์ฟเวอร์เอง
ชื่อ ประเภท ตั้งค่าที่ไหน คำอธิบาย Application Version Version SDK เวอร์ชันปัจจุบันของแอปที่ติดตั้งบนอุปกรณ์ Browser Type String SDK เมื่ออุปกรณ์ถูกลงทะเบียนสำหรับโปรเจกต์เว็บของคุณ ประเภทของมัน – มือถือหรือเดสก์ท็อป – จะถูกติดตามโดยอัตโนมัติ City String Server ตำแหน่งทางภูมิศาสตร์ล่าสุดที่ลงทะเบียนของอุปกรณ์ Country String Server ตำแหน่งทางภูมิศาสตร์ล่าสุดที่ลงทะเบียนของอุปกรณ์ Device Model String SDK ระบุรุ่นของอุปกรณ์ที่ติดตั้งแอป First Install Date Server ระบุเวลาที่อุปกรณ์ถูกลงทะเบียนเพื่อรับการแจ้งเตือนเป็นครั้งแรก In-App Product List SDK ผลิตภัณฑ์ในแอปที่ผู้ใช้ซื้อ Last In-App Purchase Date Date SDK วันที่ของการซื้อในแอปครั้งล่าสุดบนอุปกรณ์ Language String SDK ตัวย่อสองตัวอักษรตัวพิมพ์เล็กของภาษาท้องถิ่นของอุปกรณ์ตามมาตรฐาน ISO-639-1; นำมาจากค่าติดตั้งของอุปกรณ์ Last Application Open Date Server เวลาของการเปิดแอปครั้งล่าสุดบนอุปกรณ์ OS Version Version SDK เวอร์ชันของระบบปฏิบัติการที่ทำงานบนอุปกรณ์ Platform String SDK แพลตฟอร์มที่ผู้ใช้กำลังใช้โปรเจกต์ของคุณ Push Alerts Enabled Boolean SDK ระบุว่าการแจ้งเตือนแบบ push ได้รับอนุญาตในการตั้งค่าอุปกรณ์หรือไม่ SDK Version Version SDK เวอร์ชันของ Pushwoosh SDK ที่ติดตั้งบนอุปกรณ์ Unsubscribed Emails Boolean SDK ระบุว่าผู้ใช้ได้ยกเลิกการรับอีเมลจากแอปของคุณหรือไม่
นี่คือส่วนที่ความคิดสร้างสรรค์ของคุณเข้ามามีบทบาทเพื่อบรรลุเป้าหมายทางธุรกิจเฉพาะของคุณ แท็กที่กำหนดเองสามารถสร้างขึ้นตามตรรกะการแบ่งกลุ่มหรือรูปแบบการกำหนดเป้าหมายที่เหมาะสมกับความต้องการทางธุรกิจเฉพาะของคุณ ร่วมมือกับทีมการตลาดของคุณเพื่อกำหนดแท็กที่กำหนดเองเพิ่มเติมที่จำเป็นสำหรับแคมเปญของคุณ
คุณสามารถเพิ่มแท็กใหม่ได้ใน Pushwoosh Control Panel หรือใช้เมธอด /addTag
POST https://api.pushwoosh.com/json/1.3/addTag
สร้างแท็กในบัญชีของคุณ
ชื่อ ประเภท คำอธิบาย auth* string API access token จาก Pushwoosh Control Panel tag* object พารามิเตอร์ของแท็ก tag.name* string ชื่อแท็ก tag.type* integer ประเภทของแท็ก ดูค่าที่เป็นไปได้ด้านล่าง tag.application_specific boolean กำหนดว่าค่าของแท็กควรแตกต่างกันสำหรับหลายแอปหรือควรเหมือนกันในหลายแอป
" auth " : " yxoPUlwqm…………pIyEX4H " , // required, API access token from Pushwoosh Control Panel
" name " : " TAG_NAME " , // required
" type " : 1 , // required, see possible values below
" application_specific " : true , // or 'false', optional. Defines whether the tag value should be different for multiple apps or be the same across multiple apps
" user_specific " : true // or 'false', optional, used for application_specific tags
ประเภทค่าแท็กที่เป็นไปได้:
1 - Integer
2 - String
3 - List
4 - Date
5 - Boolean
6 - Decimal. เช่น: 19.95
7 - Version. เช่น: “1.0.0.0”
เมื่อคุณได้เพิ่มและกำหนดค่าแท็กแล้ว มันก็พร้อมที่จะเริ่มรวบรวมข้อมูลจากผู้ใช้ของคุณ ทำตามขั้นตอนเหล่านี้เพื่อนำไปใช้งาน:
ผสานรวม Pushwoosh SDK เข้ากับโปรเจกต์ของคุณโดยทำตามคู่มือการผสานรวมที่เกี่ยวข้อง
ใช้ฟังก์ชัน setTags เพื่อกำหนดแท็กและรวบรวมข้อมูลผู้ใช้
ด้านล่างนี้คือตัวอย่างการใช้งานสำหรับเฟรมเวิร์กต่างๆ โดยใช้ฟังก์ชัน setTags
iOS Native
@" Alias " : aliasField . text ,
@" FavNumber " : @([favNumField.text intValue ]),
@" price " : [PWTags incrementalTagWithInteger : 5 ],
@" List " : @[ @" Item1 " , @" Item2 " , @" Item3 " ]
[[PushNotificationManager pushManager ] setTags : tags ];
เอกสารประกอบ
Android Native
pushwoosh . setTags ( Tags . intTag ( " intTag " , 42 )) ;
เอกสารประกอบ
Cordova
PushNotification.prototype.setTags = function( config, success, fail )
เอกสารประกอบ
Flutter
Future < void > setTags ( Map tags) async {
await _channel. invokeMethod ( "setTags" , { "tags" : tags});
เอกสารประกอบ
React Native
pushNotification . setTags ({
" string_tag " : " Hello world " ,
" list_tag " :[ " hello " , " world " ]
เอกสารประกอบ
Unity
ตั้งค่า Integer Tag สำหรับอุปกรณ์
public virtual void SetIntTag ( string tagName, int tagValue)
ตั้งค่า String Tag สำหรับอุปกรณ์
public virtual void SetStringTag ( string tagName, string tagValue)
ตั้งค่า List Tag สำหรับอุปกรณ์
public virtual void SetListTag ( string tagName, List< object > tagValues)
เอกสารประกอบ
Unreal Engine
FPushwooshModule & pushwoosh = FPushwooshModule:: Get ();
pushwoosh . SetTags ( " { \" intTag \" : 1, \" stringTag \" : \" example \" , \" listTag \" : [ \" a \" , \" b \" , \" c \" ] } " );
เอกสารประกอบ
Expo
Pushwoosh . setTags ({ " key " : keyValue , " value " : inputValue });
เอกสารประกอบ
.NET MAUI
@" Alias " : aliasField . text ,
@" FavNumber " : @([favNumField.text intValue ]),
@" price " : [PWTags incrementalTagWithInteger : 5 ],
@" List " : @[ @" Item1 " , @" Item2 " , @" Item3 " ]
[[PushNotificationManager pushManager ] setTags : tags ];
เอกสารประกอบ
Outsystems
พารามิเตอร์อินพุต
Tags – รายการของระเบียนแท็กที่ประกอบด้วย TagName และ TagValue
TagName ต้องเป็นประเภท Text เสมอ
TagValue สามารถเป็น Text, Integer, Boolean, Date ฯลฯ
เรียนรู้เพิ่มเติม
ในกรณีส่วนใหญ่ (99%) แท็กจะถูกตั้งค่าจากแอปพลิเคชัน แต่คุณยังสามารถตั้งค่าแท็กผ่าน Pushwoosh API ได้อีกด้วย ด้านล่างนี้คือตัวอย่างของคำขอทั่วไปไปยัง endpoint /setTags :
POST https://api.pushwoosh.com/json/1.3/setTags
"application" : " XXXXX-XXXXX " , // required, Pushwoosh application code
"hwid" : " 8f65bXXXf378eXXXbeceXXX4e153XXX2 " , // required, hardware device ID used in /registerDevice API
"StringTag" : " string value " , // Example of a string tag
"IntegerTag" : 42 , // Example of an integer tag
"ListTag" : [ " string1 " , " string2 " ], // Example of a list tag
"DateTag" : " 2024-10-02 22:11 " , // Note: time must be in UTC
"BooleanTag" : true // Valid values: true, false
สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสาร API ของ setTags
ตำแหน่งของอุปกรณ์จะถูกกำหนดตามที่อยู่ IP ของอุปกรณ์ในขณะที่แอปของคุณถูกเปิดใช้งานบนอุปกรณ์นั้นเป็นครั้งล่าสุด GeoIP จะส่งข้อมูลตำแหน่งไปยัง Pushwoosh และ Pushwoosh จะบันทึกตำแหน่งที่ได้รับจาก GeoIP เป็นค่าของแท็ก City สำหรับอุปกรณ์นั้นๆ
ในบางกรณี ตำแหน่งที่ส่งโดย GeoIP อาจแตกต่างจากชื่อเมือง — ตัวอย่างเช่น เมื่อมันอ้างถึงพื้นที่ของเมืองหรือหน่วยการปกครองอื่น โปรดระมัดระวังเมื่อใช้แท็ก City เริ่มต้นเพื่อวัตถุประสงค์ในการแบ่งกลุ่ม: ตรวจสอบให้แน่ใจว่าได้เลือกค่าที่เหมาะสม
ตัวอย่างเช่น หากคุณจะกำหนดเป้าหมายผู้ใช้จากมิวนิก คุณจะต้องครอบคลุมด้วยค่าของแท็ก City หลายค่า รวมถึง “Munich” เอง (พร้อมกับค่าที่สอดคล้องกันทั้งหมด เช่น การสะกดที่แตกต่างกันซึ่งอาจถูกส่งคืนโดย GeoIP และบันทึกเป็นค่าของแท็ก) และพื้นที่ใกล้เคียงหลายแห่ง