# إدارة موافقة المستخدم لإشعارات الويب الفورية (Web Push Notifications)

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

### تعطيل الاشتراك التلقائي

لمنع Pushwoosh SDK من عرض موجه الاشتراك تلقائيًا عند التهيئة، قم بتعيين المعلمة `communicationEnabled` إلى `false` في استدعاء `init`. يمنحك هذا التحكم في وقت طلب إذن إشعارات Push.

```html
<script type="text/javascript" src="//cdn.pushwoosh.com/webpush/v3/pushwoosh-web-notifications.js" async></script>
<script type="text/javascript">
  var Pushwoosh = Pushwoosh || [];
  Pushwoosh.push(['init', {
    // other initialization parameters...
    communicationEnabled: false, // Disable communication to prevent automatic subscription prompts
  }]);
</script>
```

### تمكين الاشتراك بموافقة المستخدم

بمجرد تعطيل الاشتراك التلقائي، يمكنك مطالبة المستخدم بالاشتراك في أي وقت. عندما يوافق المستخدم على تلقي إشعارات Push (على سبيل المثال، بالنقر فوق زر "Subscribe" على واجهة المستخدم المخصصة لديك)، يمكنك تمكين الاتصال عن طريق استدعاء الدالة `setCommunicationEnabled`.

`Pushwoosh.setCommunicationEnabled(status?: boolean): Promise<void>`

يؤدي استدعاء `Pushwoosh.setCommunicationEnabled(true)` إلى تمكين الاتصال بخدمات Pushwoosh. بمجرد التمكين، سيستمر SDK في عرض موجه إذن المتصفح الأصلي.

فيما يلي مثال لكيفية استخدام هذه الدالة:

```javascript
// Assuming you have a subscribe button with id="subscribe-button"
const subscribeButton = document.getElementById('subscribe-button');

subscribeButton.addEventListener('click', () => {
  Pushwoosh.setCommunicationEnabled(true)
    .then(() => {
      console.log('User is subscribed to push notifications.');
      // You can hide the subscribe button now
      subscribeButton.style.display = 'none';
    })
    .catch((error) => {
      console.error('Error subscribing user:', error);
    });
});
```