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

علامة Push Permission Status

Push Permission Status هي علامة افتراضية تخزّن حالة إذن الإشعارات الفورية على الجهاز. استخدمها لبناء شرائح قابلية الوصول للمستخدمين الذين لا يمكن لمؤشر تشغيل/إيقاف بسيط أن يفصل بينهم، مثل المستخدمين الذين لا يزال بإمكانك طلب الإذن منهم والمستخدمين الذين رفضوه بالفعل.

قيم Push Permission Status

Anchor link to

العلامة من نوع String وتخزّن إحدى القيم أدناه لكل جهاز في كل تطبيق. تُبلغ كل منصة عن بعض هذه القيم فقط. راجع ما تُبلغ عنه كل منصة.

القيمة
المعنى
not_determinedلم يجب المستخدم على طلب الإذن بعد، لذا لا يزال بإمكان التطبيق طلبه
granted_explicitسمح المستخدم بالإشعارات في طلب الإذن
granted_defaultالإشعارات مسموح بها، ولكن ليس من خلال الإجابة على طلب الإذن الخاص بـ Pushwoosh SDK. على Android فقط
provisionalالإشعارات مسموح بها مؤقتًا. تصل بهدوء إلى مركز الإشعارات، دون تنبيهات أو أصوات أو لافتات. على iOS فقط
ephemeralالإشعارات مسموح بها لفترة محدودة، كما في App Clip. على iOS فقط
deniedأوقف المستخدم الإشعارات، إما في طلب الإذن أو لاحقًا في إعدادات الجهاز أو المتصفح
unsupportedلا يمكن للمتصفح تلقي إشعارات الويب الفورية. على الويب فقط

لا تحمل العلامة أي قيمة على tvOS وmacOS، وعلى الأجهزة التي تعمل بإصدار SDK أقدم من:

المنصةالحد الأدنى لإصدار SDK
iOS7.2.10
Android6.17.0
Web3.95.0

متى يتم تحديث العلامة

Anchor link to

يُبلغ SDK عن الحالة الحالية في الأوقات التالية:

  • في كل مرة يُفتح فيها التطبيق.
  • عندما يُسجَّل الجهاز لتلقي الإشعارات الفورية.
  • مباشرة بعد أن يجيب المستخدم على طلب الإذن.

إذا غيّر المستخدم الإذن في إعدادات الجهاز أو المتصفح، يتم تحديث العلامة لاحقًا، حسب المنصة:

المنصةمتى يتم تحديث العلامة
iOSفي المرة التالية التي يُفتح فيها التطبيق
Androidفي المرة التالية التي يُفتح فيها التطبيق أو يعود إلى الواجهة
Web: المتصفحات المستندة إلى Chromium وFirefoxفور إبلاغ المتصفح عن التغيير
Web: Safariعند التحميل التالي للصفحة

عندما يصل طلب دون حالة، على سبيل المثال من إصدار SDK أقدم، تحتفظ العلامة بآخر قيمة لها.

ما تُبلغ عنه كل منصة

Anchor link to

تقرأ كل منصة الإذن من واجهة API الخاصة بنظامها، لذا تختلف مجموعة القيم حسب المنصة.

يربط iOS SDK حالة التفويض في النظام الخاصة بالتطبيق بالعلامة مباشرة.

حالة التفويض في iOSPush Permission Status
Not determinednot_determined
Authorizedgranted_explicit
Provisionalprovisional
Ephemeralephemeral
Denieddenied

يتطلب Android 13 والإصدارات الأحدث أن يسمح المستخدم بالإشعارات في طلب الإذن. أما الإصدارات الأقدم فتسمح بها افتراضيًا بعد التثبيت، لذا يفصل Android SDK بين الإجابة الصريحة والمنح الافتراضي:

  • granted_explicit: سمح المستخدم بالإشعارات في طلب الإذن الذي يعرضه Pushwoosh SDK، على Android 13 أو أحدث، في تطبيق يستهدف Android 13 (مستوى API 33) أو أحدث.
  • granted_default: الإشعارات مسموح بها بأي طريقة أخرى. يشمل ذلك Android 12 والإصدارات الأقدم، والتطبيقات التي تستهدف مستوى API أقل من 33، والإذن الذي كان مسموحًا به بالفعل عندما تحقق منه SDK لأول مرة، والإذن الممنوح من طلب الإذن الخاص بك أو من إعدادات النظام.
  • not_determined: على Android 13 والإصدارات الأحدث، الإشعارات متوقفة ولم يجب المستخدم على طلب الإذن بعد، بما في ذلك عندما يغلق الطلب دون اختيار.
  • denied: الإشعارات متوقفة بعد أن رفض المستخدم طلب الإذن، أو بعد أن كانت مسموحًا بها من قبل. على Android 12 والإصدارات الأقدم، يُبلغ أي جهاز أُوقفت فيه الإشعارات عن denied.

لا تسمح المتصفحات بالإشعارات إلا بعد أن ينقر المستخدم للسماح بها، لذا لا يُبلغ جهاز الويب أبدًا عن granted_default.

إذن المتصفحPush Permission Status
لم يُطلب بعد (default)not_determined
مسموح (granted)granted_explicit
محظور (denied)denied
المتصفح لا يدعم إشعارات الويب الفوريةunsupported

بناء شرائح قابلية الوصول

Anchor link to

اجمع القيم في فلتر Push Permission Status واحد باستخدام العامل واحد من لاستهداف المستخدمين حسب طريقة الوصول إليهم. تعرّف على المزيد حول بناء الشرائح حسب العلامات.

الشريحةالفلترطريقة الاستخدام
المستخدمون الذين يرون تنبيهات الإشعاراتواحد من granted_explicit، granted_defaultأرسل الإشعارات الفورية الحساسة للوقت
التسليم الهادئ فقطواحد من provisional، ephemeralتوقّع ظهورًا أقل، وادعُ هؤلاء المستخدمين إلى السماح بالإشعارات الكاملة
المستخدمون الذين لا يزال بإمكانك سؤالهمواحد من not_determinedإظهار رسالة داخل التطبيق قبل طلب إذن الإشعارات
المستخدمون الذين رفضواواحد من deniedتواصل معهم عبر البريد الإلكتروني أو SMS أو رسائل داخل التطبيق، أو شغّل نافذة منبثقة لاستعادة المشتركين الذين ألغوا الاشتراك
المتصفحات التي لا تدعم إشعارات الويب الفوريةواحد من unsupportedاستخدم قنوات أخرى لمستخدمي الويب هؤلاء

للعثور على الأجهزة التي لا تُبلغ عن العلامة بعد، استخدم العامل غير محدد. تعمل هذه الأجهزة بإصدار SDK أقدم، لذا استهدفها باستخدام Push Alerts Enabled بدلاً من ذلك. لمعرفة الفرق بين العلامتين، راجع Push Permission Status مقابل Push Alerts Enabled.

Push Permission Status مقابل Push Alerts Enabled

Anchor link to

تجيب العلامتان عن سؤالين مختلفين:

  • Push Alerts Enabled (Boolean): هل يمكن لهذا الجهاز عرض تنبيهات الإشعارات الآن؟
  • Push Permission Status (String): ما حالة الإذن؟ تفصل هذه العلامة بين حالات يُبلغ عنها Push Alerts Enabled بنفس القيمة false، مثل عدم الطلب مطلقًا والرفض.

يقارن الجدول كيف تُبلغ العلامتان عن الحالات الشائعة.

Push Alerts EnabledPush Permission Status
النوعBooleanString
لم يُطلب الإذن مطلقًاfalsenot_determined
تم رفض الإذنfalsedenied
إذن مؤقت أو محدود المدة على iOSيعتمد على إعدادات التنبيه والصوت والشارةprovisional أو ephemeral
منح صريح أو افتراضيtrue عندما يعرض الجهاز التنبيهاتgranted_explicit أو granted_default
الأجهزة التي تعمل بإصدارات SDK أقدميُبلغ عنها في جميع إصدارات SDKغير محدد

اختر العلامة حسب السؤال الذي تحتاج إلى الإجابة عنه:

  • استخدم Push Alerts Enabled لحساب سريع لعدد المستخدمين الموافقين (opt-in) عبر جميع إصدارات SDK.
  • استخدم Push Permission Status عندما تعتمد خطوتك التالية على سبب عدم إمكانية الوصول إلى المستخدم. على سبيل المثال، اطلب الإذن من المستخدمين الذين لم يُسألوا مطلقًا، واترك المستخدمين الذين رفضوا دون إزعاج.