انتقل إلى المحتوى

العلامات

تُعد العلامات (Tags) واحدة من أكثر الأدوات فائدة التي تقدمها Pushwoosh، مما يتيح مجموعة من الوظائف المتقدمة. باستخدام العلامات، يمكنك تقسيم جمهورك وإرسال إشعارات لحظية مستهدفة لمستخدمين محددين بناءً على سماتهم.

يمكن أن تحتوي العلامات على أي بيانات عشوائية مرتبطة بمستخدم أو جهاز معين. قد تتضمن هذه البيانات أسماء المستخدمين، أو المعرفات، أو المدن، أو فرق كرة القدم المفضلة، أو فئات الأخبار المفضلة، أو أي معلومات أخرى ذات صلة بمستخدميك.

تحديد العلامات التي يجب استخدامها

Anchor link to

ابدأ بتحديد احتياجات عملك وتحديد كيفية تقسيم جمهورك. ضع في اعتبارك عوامل مثل العمر، والموقع، وسجل الشراء داخل التطبيق، أو أي معايير أخرى ذات صلة لاستهداف المستخدمين.

قيم العلامات

Anchor link to

يمكن أن تساعدك قيم العلامات في جعل حملات الإشعارات اللحظية أكثر ذكاءً. كل علامة قادرة على تخزين عدد غير محدود تقريبًا من القيم. بشكل أساسي، هذا يعني أن علامة واحدة ستكون كافية لتسجيل نوع معين من المعلومات حول كل مستخدم نهائي في قاعدة بياناتك.

لا يتوفر سوى عدد قليل من العلامات لكل حساب، ولكن بالنظر إلى المساحة غير المحدودة تقريبًا لكل علامة، فإن علامتين فقط تكفيان لجمع كمية هائلة من المعلومات حول المستخدمين وإعداد أنماط استهداف معقدة للغاية.

أنواع العلامات

Anchor link to
  • Integer — تُستخدم للبيانات الصحيحة (كمية النقود المكتسبة في اللعبة، المستوى الذي تم الوصول إليه، العمر).
  • String — تُستخدم للقيم النصية (اسم المستخدم، البريد الإلكتروني، المعرفات).
  • List — مثل نوع String، ولكن قد يكون لكل مستخدم قيم متعددة محددة في وقت واحد (تفضيلات الموسيقى، فئات الأخبار، تفضيلات المطبخ).
  • Boolean — نوع العلامة true / false.
  • Date — تُستخدم لتواريخ التقويم. بشكل أساسي، هذا هو نوع علامة عدد صحيح يخزن طوابع زمنية Unix Epoch (يتم تحويلها تلقائيًا من/إلى التاريخ الميلادي).
  • Price — يسمح بتعيين القيم وفقًا للعملة المحددة بتنسيق “*.XX” لمعرفة المزيد.
  • Version — تُستخدم للإصدارات. مثال على التنسيق المسموح به هو w.x.y.z (Major.Minor.Patch.Build). القيمة القصوى لكل جزء من الإصدار هي 9999، لذا لا يمكن أن يكون رقم الإصدار الأقصى أكبر من 9999.9999.9999.9999.

عوامل تشغيل العلامات

Anchor link to

لكل نوع علامة مجموعة محددة من عوامل التشغيل القابلة للتطبيق. تحدد عوامل تشغيل العلامات العلاقة بين العلامة وقيمها لأغراض التقسيم.

  • عوامل تشغيل علامة Integer: is, is not, are, not in, not set, any
  • عوامل تشغيل علامة String: is, is not, are, not in, not set, any
  • عوامل تشغيل علامة List: in, not in, not set, any
  • عوامل تشغيل علامة Boolean: is (true/false), not set, any
  • عوامل تشغيل علامة Date: exactly on, on or after, on or before, between, not set, any
  • عوامل تشغيل علامة Price: is, is not, greater or equals, less or equals, between, in, not in, not set, any
  • عوامل تشغيل علامة Version: is, is not, greater or equals, less or equals, between, in, not in, not set, any

علامات خاصة بالتطبيق / غير خاصة بالتطبيق

Anchor link to

يصف هذا المعامل سلوك العلامات فيما يتعلق بالتطبيقات المختلفة في نفس الحساب. يمكن أن يكون للعلامات الخاصة بالتطبيق مجموعات مختلفة من القيم لكل تطبيق على نفس الحساب. على العكس من ذلك، تخزن العلامات غير الخاصة بالتطبيق نفس القيمة لجميع التطبيقات التي تستخدم هذه العلامة.

لنفترض أن لديك تطبيقين، تطبيق أخبار ولعبة، وتريد استهداف المستخدمين الذين وافقوا صراحة على تلقي الإشعارات منك فقط. لذلك، تقوم بإنشاء علامة منطقية تسمى “Subscribed” وتعيين قيمة "true" للمستخدمين الذين يرغبون في تلقي الإشعارات منك، وقيمة "false" لأولئك الذين لا يرغبون في تلقي الإشعارات.

قامت إحدى المستخدمات، آنا، بتثبيت كلا التطبيقين. لا تمانع في تلقي إشعارات حول بعض الأخبار العاجلة، لكنها اختارت عدم تلقي أي إشعارات من تطبيق اللعبة.

إذا كانت علامة “Subscribed” خاصة بالتطبيق، فسيتم كل شيء كما هو مخطط له. ومع ذلك، في حال كانت هذه العلامة غير خاصة بالتطبيق، فسيقوم كل تطبيق من تطبيقاتك بالكتابة فوق القيمة التي حددها التطبيق الآخر، مما قد يفسد استهدافك ويسبب الإحباط.

من ناحية أخرى، قد تكون العلامات غير الخاصة بالتطبيق مفيدة إذا كنت ترغب في إجراء استهداف عبر التطبيقات وتتبع المستخدمين الذين لديهم نفس اسم المستخدم في تطبيقات مختلفة.

علامات خاصة بالمستخدم

Anchor link to

جميع العلامات في Pushwoosh خاصة بالمستخدم حسب التصميم ويتم تعيينها لجميع أجهزة المستخدم عند تعيينها بواسطة UserID بدلاً من HWID.

مثال
{
"request":{
"application": "XXXXX-XXXXX", // Pushwoosh application code
"userId": "the id of a specific user",
"tags": {
"UserSpecificStringTag": "string value",
"UserSpecificIntegerTag": 42
}
}
}

العلامات الافتراضية

Anchor link to

هذه العلامات متاحة من Pushwoosh بشكل افتراضي، لذلك لا يتعين عليك (وفي الواقع، لا يجب عليك) تعيينها يدويًا. يتم تعيين معظمها من التطبيق وإرسالها إلى خادمنا عبر استدعاءات واجهة برمجة التطبيقات registerDevice وغيرها، ويتم تعيين بعضها بواسطة الخادم نفسه.

الاسمالنوعمكان التعيينالوصف
Application VersionVersionSDKالإصدار الحالي للتطبيق المثبت على الجهاز
Browser TypeStringSDKعند تسجيل جهاز لمشروع الويب الخاص بك، يتم تتبع نوعه - جوال أو سطح مكتب - تلقائيًا
CityStringServerأحدث موقع جغرافي مسجل للجهاز
CountryStringServerأحدث موقع جغرافي مسجل للجهاز
Device ModelStringSDKيشير إلى طراز الجهاز الذي تم تثبيت التطبيق عليه
First InstallDateServerيشير إلى الوقت الذي تم فيه تسجيل جهاز لتلقي الإشعارات لأول مرة
In-App ProductListSDKالمنتجات داخل التطبيق التي اشتراها مستخدم التطبيق
Last In-App Purchase DateDateSDKتاريخ آخر عملية شراء داخل التطبيق تمت على الجهاز
LanguageStringSDKاختصار من حرفين صغيرين للغة الجهاز وفقًا لـ ISO-639-1؛ مأخوذ من إعدادات الجهاز
Last Application OpenDateServerوقت آخر تشغيل للتطبيق على الجهاز
OS VersionVersionSDKإصدار نظام التشغيل الذي يعمل على الجهاز
PlatformStringSDKالمنصة التي يستخدم عليها المستخدم مشروعك.
Push Alerts EnabledBooleanSDKيشير إلى ما إذا كانت تنبيهات الإشعارات اللحظية مسموح بها في إعدادات الجهاز
SDK VersionVersionSDKإصدار Pushwoosh SDK المطبق على الجهاز
Unsubscribed EmailsBooleanSDKيشير إلى ما إذا كان المستخدم قد ألغى الاشتراك في تلقي رسائل البريد الإلكتروني من تطبيقك

العلامات المخصصة

Anchor link to

هنا يأتي دور إبداعك لتحقيق أهداف عملك المحددة. يمكن إنشاء علامات مخصصة بناءً على منطق التقسيم أو نمط الاستهداف المناسب لاحتياجات عملك الفريدة. تعاون مع فريق التسويق لتحديد العلامات المخصصة الإضافية اللازمة لحملاتك.

كيفية إعداد علامة مخصصة

Anchor link to

يمكنك إضافة علامة جديدة في لوحة تحكم Pushwoosh أو استخدام طريقة /addTag.

POST https://api.pushwoosh.com/json/1.3/addTag

تنشئ علامة في حسابك.

محتوى الطلب

Anchor link to
الاسمالنوعالوصف
auth*stringرمز الوصول إلى واجهة برمجة التطبيقات (API) من لوحة تحكم Pushwoosh.
tag*objectمعاملات العلامة.
tag.name*stringاسم العلامة.
tag.type*integerنوع العلامة. انظر القيم الممكنة أدناه.
tag.application_specificbooleanيحدد ما إذا كانت قيمة العلامة يجب أن تكون مختلفة لتطبيقات متعددة أو أن تكون هي نفسها عبر تطبيقات متعددة.
{
"status_code": 200,
"status_message": "OK",
"response": {
"result": true
}
}
مثال
{
"request": {
"auth": "yxoPUlwqm…………pIyEX4H", // required, API access token from Pushwoosh Control Panel
"tag": {
"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”

كيفية جمع المعلومات من المستخدمين

Anchor link to

بمجرد إضافة علامة وتكوينها، تكون جاهزة لبدء جمع المعلومات من المستخدمين. اتبع هذه الخطوات لتنفيذها:

  1. ادمج Pushwoosh SDK في مشروعك باتباع دليل الدمج ذي الصلة.
  2. استخدم دالة setTags لتعيين العلامات وجمع بيانات المستخدم.

فيما يلي أمثلة تنفيذ لأطر عمل مختلفة باستخدام دالة setTags.

iOS Native

NSDictionary *tags = @{
@"Alias" : aliasField.text,
@"FavNumber" : @([favNumField.text intValue]),
@"price" : [PWTags incrementalTagWithInteger:5],
@"List" : @[ @"Item1", @"Item2", @"Item3" ]
};
[[PushNotificationManager pushManager] setTags:tags];

التوثيق

Unity

يعين علامة Integer للجهاز.

public virtual void SetIntTag(string tagName, int tagValue)
SetStringTag
Anchor link to

يعين علامة String للجهاز.

public virtual void SetStringTag(string tagName, string tagValue)
SetListTag
Anchor link to

يعين علامة List للجهاز.

public virtual void SetListTag(string tagName, List<object> tagValues)

التوثيق

تعيين العلامات عبر واجهة برمجة التطبيقات (API)

Anchor link to

بينما في معظم الحالات (99%)، يتم تعيين العلامات من التطبيق، يمكنك أيضًا تعيين العلامات عبر واجهة برمجة تطبيقات Pushwoosh. فيما يلي مثال على طلب نموذجي إلى نقطة النهاية /setTags:

POST https://api.pushwoosh.com/json/1.3/setTags

{
"request": {
"application": "XXXXX-XXXXX", // required, Pushwoosh application code
"hwid": "8f65bXXXf378eXXXbeceXXX4e153XXX2", // required, hardware device ID used in /registerDevice API
"tags": { // required
"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
}
}
}

لمزيد من التفاصيل، راجع توثيق واجهة برمجة تطبيقات setTags

استخدام علامة City الافتراضية

Anchor link to

يتم تحديد موقع الجهاز بناءً على عنوان IP الخاص به في اللحظة التي تم فيها تشغيل تطبيقك على هذا الجهاز لآخر مرة. يقوم GeoIP بإرسال بيانات الموقع إلى Pushwoosh، ويقوم Pushwoosh بحفظ الموقع المستلم من GeoIP كقيمة لعلامة City لجهاز معين.

في بعض الحالات، يختلف الموقع الذي يقدمه GeoIP عن اسم المدينة — على سبيل المثال، عندما يشير إلى منطقة من مدينة أو وحدة إدارية أخرى. يرجى توخي الحذر عند استخدام علامة City الافتراضية لأغراض التقسيم: تأكد من تحديد القيم المناسبة.

على سبيل المثال، إذا كنت ستستهدف المستخدمين من ميونخ، فيجب عليك تغطيتها بمجموعة من قيم علامة City، بما في ذلك “Munich” نفسها (مع جميع القيم المقابلة، مثل المتغيرات المختلفة للهجاء التي يمكن أن يعيدها GeoIP ويتم حفظها كقيم للعلامة) والعديد من المناطق المجاورة.