# জাভাস্ক্রিপ্ট দিয়ে ইন-অ্যাপ তৈরি করুন

ইন-অ্যাপ মেসেজগুলি সরাসরি অ্যাপ ইন্টারফেসের মধ্যে প্রদর্শিত হয় যখন একজন ব্যবহারকারী ইতিমধ্যে একটি অ্যাপের সাথে ইন্টারঅ্যাক্ট করছেন। ফলস্বরূপ, ব্যবহারকারীরা পুশ নোটিফিকেশন, ইমেল বা SMS-এর চেয়ে ইন-অ্যাপগুলিকে কম হস্তক্ষেপকারী হিসাবে উপলব্ধি করে।

ইন-অ্যাপ মেসেজগুলিতে সর্বদা ছবি বা ভিডিও থাকে যাকে রিচ মিডিয়া বলা হয়। ইন-অ্যাপগুলিতে ফর্ম্যাটেড টেক্সট, লিঙ্ক, CTA সহ বোতাম এবং অন্যান্য ডেটাও অন্তর্ভুক্ত থাকতে পারে, যা আপনাকে আপনার অ্যাপ ব্যবহারকারীদের সাথে আকর্ষক ফর্মে যোগাযোগ করার সুযোগ দেয়।

ইন-অ্যাপগুলি HTML-ভিত্তিক এবং জাভাস্ক্রিপ্ট সমর্থন করে। Pushwoosh SDK `pushwoosh` ভেরিয়েবল ইনজেক্ট করে যা নিম্নলিখিত API প্রদান করে:

আপনি ইন-অ্যাপ জাভাস্ক্রিপ্ট কোড থেকে সরাসরি একটি নতুন ইভেন্ট পাঠাতে [`postEvent`](/bn/developer/api-reference/user-centric-api#postevent) মেথড ব্যবহার করতে পারেন।

```javascript
pushwoosh.postEvent(
  'eventName',
  {
    TestAttributeString: 'testString',
    TestAttributeInt: 42,
    TestAttributeList: [123, 456, 'someString'],
    TestAttributeBool: true,
    TestAttributeNull: null,
    TestAttributeDaysAgo: 7,
    TestAttributeDate: new Date()
  },
  function() {
    console.log('Post event success')
  },
  function(error) {
    console.log('Post event failed: ', error)
  }
)
```

আপনি একটি ইন-অ্যাপ থেকে ডিভাইসের জন্য ট্যাগ সেট করতে `sendTags` মেথডও ব্যবহার করতে পারেন:

```javascript
pushwoosh.sendTags({
  IntTag: 42,
  BoolTag: true,
  StringTag: 'testString',
  ListTag: ['string1', 'string2']
})
```

ডিভাইস ট্যাগ পেতে, `getTags` মেথডটি নিম্নরূপ ব্যবহার করুন:

```javascript
pushwoosh.getTags(
  function(tags) {
    console.log('tags: ' + JSON.stringify(tags))
  },
  function(error) {
    console.log('failed to get tags: ' + error)
  }
)
```

আপনি যদি জাভাস্ক্রিপ্ট কোড থেকে একটি ইন-অ্যাপ বন্ধ করতে চান তবে `closeInApp()` মেথডটি কল করুন:

```
pushwoosh.closeInApp();
```

অথবা বোতাম/লিঙ্কের জন্য কেবল কাস্টম স্কিম URL ব্যবহার করুন `<a href="pushwoosh://close">`

রিচ মিডিয়া সহ একটি পুশ নোটিফিকেশন পাঠানোর সময়, আপনি নিম্নলিখিত কোড দিয়ে সেই পুশের কাস্টম ডেটা পেতে পারেন: `pushwoosh.getCustomData()`

### কাস্টম জাভাস্ক্রিপ্ট ইন্টারফেস

ইন-অ্যাপ মেসেজের জাভাস্ক্রিপ্ট কার্যকারিতা জাভাস্ক্রিপ্টে নেটিভ Java/Objective-C/Swift মেথডগুলি প্রকাশ করে সীমাহীনভাবে প্রসারিত করা যেতে পারে। এটি Pushwoosh SDK-এর `addJavascriptInterface` মেথডগুলির মাধ্যমে [iOS](https://github.com/Pushwoosh/pushwoosh-ios-sdk/blob/master/iOS_SDK/Pushwoosh/PushwooshCore/InAppMessages/PWInAppManager.h) এবং [Android](https://github.com/Pushwoosh/pushwoosh-android-sdk/blob/master/Sources/pushwoosh/src/main/java/com/pushwoosh/inapp/InAppManager.java)-এর জন্য অর্জন করা যেতে পারে।