# जावास्क्रिप्ट के साथ इन-ऐप्स बनाएं

इन-ऐप संदेश सीधे ऐप इंटरफ़ेस के भीतर प्रदर्शित होते हैं जब कोई उपयोगकर्ता पहले से ही ऐप के साथ इंटरैक्ट कर रहा होता है। परिणामस्वरूप, उपयोगकर्ता इन-ऐप्स को पुश नोटिफिकेशन, ईमेल या एसएमएस की तुलना में कम दखल देने वाला मानते हैं।

इन-ऐप संदेशों में हमेशा चित्र या वीडियो होते हैं जिन्हें रिच मीडिया कहा जाता है। इन-ऐप्स में स्वरूपित टेक्स्ट, लिंक, सीटीए वाले बटन और अन्य डेटा भी शामिल हो सकते हैं, जिससे आप अपने ऐप उपयोगकर्ताओं के साथ आकर्षक रूपों में संवाद कर सकते हैं।

इन-ऐप्स HTML-आधारित हैं और जावास्क्रिप्ट का समर्थन करते हैं। Pushwoosh SDK `pushwoosh` वैरिएबल को इंजेक्ट करता है जो निम्नलिखित API प्रदान करता है:

आप इन-ऐप जावास्क्रिप्ट कोड से सीधे एक नया इवेंट भेजने के लिए [`postEvent`](/hi/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();
```

या बस बटन/लिंक `<a href="pushwoosh://close">` के लिए कस्टम स्कीम URL का उपयोग करें।

रिच मीडिया के साथ पुश नोटिफिकेशन भेजते समय, आप निम्नलिखित कोड के साथ उस पुश का कस्टम डेटा प्राप्त कर सकते हैं: `pushwoosh.getCustomData()`

### कस्टम जावास्क्रिप्ट इंटरफ़ेस

इन-ऐप संदेशों की जावास्क्रिप्ट कार्यक्षमता को जावास्क्रिप्ट में नेटिव Java/Objective-C/Swift विधियों को उजागर करके असीमित रूप से बढ़ाया जा सकता है। यह [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) के लिए Pushwoosh SDK की `addJavascriptInterface` विधियों के साथ प्राप्त किया जा सकता है।