# ওয়েব পুশ নোটিফিকেশনের জন্য ব্যবহারকারীর সম্মতি ম্যানেজ করুন

ডিফল্টরূপে, Pushwoosh SDK শুরু হওয়ার সাথে সাথেই নেটিভ সাবস্ক্রিপশন প্রম্পট দেখায়। তবে, আপনি হয়তো আরও উপযুক্ত সময়ে ব্যবহারকারীর সম্মতি চাইতে পারেন, উদাহরণস্বরূপ, ব্যবহারকারী আপনার ওয়েবসাইটের সাথে ইন্টারঅ্যাক্ট করার সুযোগ পাওয়ার পরে।

### স্বয়ংক্রিয় সাবস্ক্রিপশন নিষ্ক্রিয় করা

SDK যাতে শুরু হওয়ার সময় স্বয়ংক্রিয়ভাবে সাবস্ক্রিপশন প্রম্পট না দেখায়, তার জন্য `init` কলে `communicationEnabled` প্যারামিটারটিকে `false` সেট করুন। এটি আপনাকে পুশ নোটিফিকেশন অনুমতির জন্য কখন জিজ্ঞাসা করতে হবে তার উপর নিয়ন্ত্রণ দেয়।

```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>
```

### ব্যবহারকারীর সম্মতিতে সাবস্ক্রিপশন সক্রিয় করা

একবার আপনি স্বয়ংক্রিয় সাবস্ক্রিপশন নিষ্ক্রিয় করে দিলে, আপনি যেকোনো সময় ব্যবহারকারীকে সাবস্ক্রাইব করার জন্য প্রম্পট করতে পারেন। যখন ব্যবহারকারী পুশ নোটিফিকেশন পেতে সম্মত হন (যেমন, আপনার কাস্টম UI-তে একটি "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);
    });
});
```