# কর্ডোভা প্লাগইন API রেফারেন্স

```txt title="example"
var pushwoosh = cordova.require("pushwoosh-cordova-plugin.PushNotification");

// pushwoosh.onDeviceReady এর আগে কল করা উচিত
document.addEventListener('push-notification', function(event) {
	var notification = event.notification;
	// এখানে পুশ ওপেন হ্যান্ডেল করুন
});

// Pushwoosh শুরু করুন। এটি শুরুতে সমস্ত পেন্ডিং পুশ নোটিফিকেশন ট্রিগার করবে।
pushwoosh.onDeviceReady({
	appid: "XXXXX-XXXXX",
	serviceName: "XXXX"
});

pushwoosh.registerDevice(
	function(status) {
		var pushToken = status.pushToken;
    	// এখানে সফল রেজিস্ট্রেশন হ্যান্ডেল করুন
  },
  function(status) {
    // এখানে রেজিস্ট্রেশন ত্রুটি হ্যান্ডেল করুন
  }
);
```

## onDeviceReady

```javascript
PushNotification.prototype.onDeviceReady = function( config )
```

_\[android, ios, wp8, windows]_\
Pushwoosh প্লাগইন শুরু করে এবং একটি স্টার্ট পুশ মেসেজ ট্রিগার করে। প্রতিটি অ্যাপ লঞ্চের সময় এটি কল করা উচিত।

`config.appid` – Pushwoosh অ্যাপ্লিকেশন কোড।

`config.serviceName` – wp8 প্ল্যাটফর্মের জন্য MPNS সার্ভিসের নাম।

```txt title="example"
// appid : "PUSHWOOSH_APP_ID", serviceName : "WINDOWS_PHONE_SERVICE" দিয়ে Pushwoosh শুরু করুন। এটি শুরুতে সমস্ত পেন্ডিং পুশ নোটিফিকেশন ট্রিগার করবে।
pushwoosh.onDeviceReady({
    appid : "XXXXX-XXXXX",
    serviceName: "XXXX"
});
```

## registerDevice

```javascript
PushNotification.prototype.registerDevice = function( success, fail )
```

_\[android, ios, wp8, windows]_\
পুশ নোটিফিকেশনের জন্য ডিভাইস রেজিস্টার করে এবং একটি পুশ টোকেন পুনরুদ্ধার করে।

`success` – সফল কলব্যাক। পুশ টোকেন এই কলব্যাকে “status.pushToken” প্যারামিটার হিসাবে পাস করা হয়

`fail` – ত্রুটি কলব্যাক

```txt title="example"
pushwoosh.registerDevice(
    function(status) {
        alert("Registered with push token: " + status.pushToken);
    },
    function(error) {
        alert("Failed to register: " +  error);
    }
);
```

## unregisterDevice

```javascript
PushNotification.prototype.unregisterDevice = function(	success, fail	)
```

_\[android, ios, wp8, windows]_\
পুশ নোটিফিকেশন গ্রহণ থেকে ডিভাইসটিকে আনরেজিস্টার করে।

`success` – সফল কলব্যাক

`fail` – ত্রুটি কলব্যাক

## setTags

```javascript
PushNotification.prototype.setTags = function(	config, success, fail	)
```

_\[android, ios, wp8, windows]_\
ডিভাইসের জন্য ট্যাগ সেট করে।

**প্যারামিটার**

`config` – কাস্টম ডিভাইস ট্যাগ সহ অবজেক্ট

`success` – সফল কলব্যাক। পুশ টোকেন এই কলব্যাকে “status.pushToken” প্যারামিটার হিসাবে পাস করা হয়

`fail` – ত্রুটি কলব্যাক

```txt title="example"
// ট্যাগ সেট করে: “deviceName” এর মান “hello” এবং “deviceId” এর মান 10
pushwoosh.setTags({deviceName:"hello", deviceId:10},
    function() {
        console.warn('setTags success');
    },
    function(error) {
        console.warn('setTags failed');
    }
);

// তালিকা ট্যাগ "MyTag" এর মান (অ্যারে) "hello", "world" সেট করে
pushwoosh.setTags({"MyTag":["hello", "world"]});
```

## getTags

```javascript
PushNotification.prototype.getTags = function(	success, fail	)
```

_\[android, ios, wp8, windows]_\
ডিফল্ট ট্যাগ সহ ডিভাইসের জন্য ট্যাগগুলি ফেরত দেয়।

`success` – সফল কলব্যাক। প্যারামিটার হিসাবে ট্যাগ গ্রহণ করে

`fail` – ত্রুটি কলব্যাক

```javascript
pushwoosh.getTags(
    function(tags) {
        console.warn('tags for the device: ' + JSON.stringify(tags));
    },
    function(error) {
        console.warn('get tags error: ' + JSON.stringify(error));
    }
);
```

## getPushToken

```javascript
PushNotification.prototype.getPushToken = function(	success	)
```

_\[android, ios, wp8, windows]_\
পুশ টোকেন উপলব্ধ থাকলে তা ফেরত দেয়। মনে রাখবেন যে টোকেনটি registerDevice ফাংশন কলব্যাকেও আসে।

`success` – সফল কলব্যাক।

```javascript
pushwoosh.getPushToken(
    function(token) {
        console.warn('push token: ' + token);
    }
);
```

## getPushwooshHWID

```javascript
PushNotification.prototype.getPushwooshHWID = function(	success	)
```

_\[android, ios, wp8, windows]_\
Pushwoosh API-এর সাথে যোগাযোগের জন্য ব্যবহৃত Pushwoosh HWID ফেরত দেয়।

`success` – getPushwooshHWID কলব্যাক

```
pushwoosh.getPushwooshHWID(
    function(token) {
        console.warn('Pushwoosh HWID: ' + token);
    }
);
```

## getRemoteNotificationStatus

```javascript
PushNotification.prototype.getRemoteNotificationStatus = function(	callback, error	)
```

_\[android, ios]_\
পুশ নোটিফিকেশন অনুমতির বিস্তারিত স্ট্যাটাস ফেরত দেয়।

`callback` – সফল কলব্যাক। নিম্নলিখিত বৈশিষ্ট্য সহ অবজেক্ট গ্রহণ করে:

```
{
  "enabled" : নোটিফিকেশন সক্রিয় ফ্ল্যাগ।
  "pushBadge" : ব্যাজ অনুমতি দেওয়া হয়েছে। (শুধুমাত্র iOS)
  "pushAlert" : সতর্কতা অনুমতি দেওয়া হয়েছে। (শুধুমাত্র iOS)
  "pushSound" : শব্দ অনুমতি দেওয়া হয়েছে। (শুধুমাত্র iOS)
}
```

`error` — ত্রুটি কলব্যাক

## setApplicationIconBadgeNumber

```javascript
PushNotification.prototype.setApplicationIconBadgeNumber = function(	badgeNumber	)
```

_\[android, ios]_\
অ্যাপ্লিকেশন আইকন ব্যাজ নম্বর সেট করুন।

`badgeNumber` – আইকন ব্যাজ নম্বর

## getApplicationIconBadgeNumber

```javascript
PushNotification.prototype.getApplicationIconBadgeNumber = function(	callback	)
```

_\[android, ios]_\
অ্যাপ্লিকেশন আইকন ব্যাজ নম্বর ফেরত দেয়।

`callback` – সফল কলব্যাক

```
pushwoosh.getApplicationIconBadgeNumber(function(badge){ alert(badge);} );
```

## addToApplicationIconBadgeNumber

```javascript
PushNotification.prototype.addToApplicationIconBadgeNumber = function( badgeNumber )
```

_\[android, ios]_\
অ্যাপ্লিকেশন আইকন ব্যাজে মান যোগ করে।

`badgeNumber` — ক্রমবর্ধমান আইকন ব্যাজ নম্বর

## getLaunchNotification

```javascript
PushNotification.prototype.getLaunchNotification = function(	callback	)
```

_\[android, ios]_\
অ্যাপটি যদি একটি পুশ নোটিফিকেশনের প্রতিক্রিয়ায় শুরু করা হয়, তাহলে পুশ নোটিফিকেশন পেলোড ফেরত দেয়, অথবা null।

`callback` – সফল কলব্যাক

## clearLaunchNotification

```javascript
PushNotification.prototype.clearLaunchNotification = function(	callback	)
```

_\[android, ios]_\
লঞ্চ নোটিফিকেশন পরিষ্কার করে, এই কলের পরে getLaunchNotification() null ফেরত দেবে।

## setUserId

```javascript
PushNotification.prototype.setUserId = function(	userId	)
```

_\[android, ios]_\
ব্যবহারকারীর শনাক্তকারী সেট করে– একটি Facebook ID, ব্যবহারকারীর নাম, ইমেল, বা অন্য কোনো ব্যবহারকারী আইডি। এটি একাধিক ব্যবহারকারী ডিভাইসে ডেটা এবং ইভেন্টগুলিকে মেলাতে সাহায্য করে।

`userId` – ব্যবহারকারী স্ট্রিং শনাক্তকারী

## postEvent

```javascript
PushNotification.prototype.postEvent = function( event, attributes )
```

_\[android, ios]_\
ইন-অ্যাপ মেসেজের জন্য ইভেন্ট পোস্ট করে। এটি Pushwoosh কন্ট্রোল প্যানেলে নির্দিষ্ট করা অনুযায়ী ইন-অ্যাপ মেসেজ প্রদর্শন ট্রিগার করতে পারে।

`event` – ট্রিগার করার জন্য ইভেন্ট

`attributes` – অতিরিক্ত ইভেন্ট অ্যাট্রিবিউট সহ অবজেক্ট

```
pushwoosh.setUserId("XXXXXX");
pushwoosh.postEvent("buttonPressed", { "buttonNumber" : 4, "buttonLabel" : "banner" });
```

## createLocalNotification

```javascript
PushNotification.prototype.createLocalNotification = function( config, success, fail )
```

_\[android, ios]_\
স্থানীয় নোটিফিকেশন সময়সূচী করে।

`config.msg` – নোটিফিকেশন বার্তা

`config.seconds` – সেকেন্ডে নোটিফিকেশন বিলম্ব

`config.userData` – নোটিফিকেশনে পাস করার জন্য অতিরিক্ত ডেটা

`success` – সফল কলব্যাক

`fail` – ত্রুটি কলব্যাক

```
pushwoosh.createLocalNotification({msg:"Your pumpkins are ready!", seconds:30, userData:{}})
```

## clearLocalNotification

```javascript
PushNotification.prototype.clearLocalNotification = function()
```

_\[android]_\
createLocalNotification দ্বারা তৈরি সমস্ত পেন্ডিং স্থানীয় নোটিফিকেশন পরিষ্কার করে

## clearNotificationCenter

```javascript
PushNotification.prototype.clearNotificationCenter = function()
```

_\[android]_\
Android নোটিফিকেশন সেন্টারে উপস্থাপিত সমস্ত নোটিফিকেশন পরিষ্কার করে।

## setMultiNotificationMode

```javascript
PushNotification.prototype.setMultiNotificationMode = function( success, fail )
```

_\[android]_\
Android নোটিফিকেশন সেন্টারে একাধিক নোটিফিকেশন প্রদর্শনের অনুমতি দেয়।

## setSingleNotificationMode

```javascript
PushNotification.prototype.setSingleNotificationMode = function(	success,
fail	)
```

_\[android]_\
Android নোটিফিকেশন সেন্টারে শুধুমাত্র শেষ নোটিফিকেশনটি প্রদর্শনের অনুমতি দেয়।

## setSoundType

```javascript
PushNotification.prototype.setSoundType = function( type, success, fail )
```

_\[android]_\
আগত পুশের জন্য ডিফল্ট শব্দ সেট করে।

`type` – শব্দের ধরন (0 – ডিফল্ট, 1 – কোনো শব্দ নেই, 2 – সর্বদা)

## setVibrateType

```javascript
PushNotification.prototype.setVibrateType = function(type, success, fail )
```

_\[android]_\
আগত পুশের জন্য ডিফল্ট ভাইব্রেশন মোড সেট করে।

`type` – ভাইব্রেশনের ধরন (0 – ডিফল্ট, 1 – কোনো ভাইব্রেশন নেই, 2 – সর্বদা)

## setLightScreenOnNotification

```javascript
PushNotification.prototype.setLightScreenOnNotification = function( on, success, fail )
```

_\[android]_\
নোটিফিকেশন এলে স্ক্রিন চালু করে।

`on` – স্ক্রিন আনলক সক্রিয়/নিষ্ক্রিয় করুন (ডিফল্টরূপে নিষ্ক্রিয়)

## setEnableLED

```javascript
PushNotification.prototype.setEnableLED = function( on, success, fail )
```

_\[android]_\
নোটিফিকেশন এলে এবং ডিসপ্লে বন্ধ থাকলে LED ব্লিঙ্কিং সক্রিয় করে।

`on` – LED ব্লিঙ্ক সক্রিয়/নিষ্ক্রিয় করুন (ডিফল্টরূপে নিষ্ক্রিয়)

## setColorLED

```javascript
PushNotification.prototype.setColorLED = function( color, success, fail )
```

_\[android]_\
LED রঙ সেট করে। [setEnableLED](#setenableled) এর সাথে ব্যবহার করুন।

`color` – ARGB পূর্ণসংখ্যা বিন্যাসে LED রঙ

## getPushHistory

```javascript
PushNotification.prototype.getPushHistory = function(	success	)
```

_\[android]_\
প্রাপ্ত পুশ নোটিফিকেশনের অ্যারে ফেরত দেয়।

`success` – সফল কলব্যাক

```
pushwoosh.getPushHistory(function(pushHistory) {
    if(pushHistory.length == 0)
        alert("no push history");
    else
        alert(JSON.stringify(pushHistory));
});

pushwoosh.clearPushHistory();
```

## clearPushHistory

```javascript
PushNotification.prototype.clearPushHistory = function()
```

_\[android]_\
পুশ ইতিহাস পরিষ্কার করে।

## cancelAllLocalNotifications

```javascript
PushNotification.prototype.cancelAllLocalNotifications = function( callback )
```

_\[ios]_\
নোটিফিকেশন সেন্টার থেকে সমস্ত স্থানীয় নোটিফিকেশন পরিষ্কার করে।

## presentInboxUI

_\[android, ios]_\
[ইনবক্স](/bn/developer/guides/message-inbox/mobile-message-inbox) স্ক্রিন খোলে।

```javascript
PushNotification.prototype.presentInboxUI = function()
```

## setCommunicationEnabled

Pushwoosh-এর সাথে সমস্ত যোগাযোগ সক্রিয়/নিষ্ক্রিয় করার জন্য একটি বাইনারি পদ্ধতি। বুলিয়ান মান **false** হলে ডিভাইসটি পুশ নোটিফিকেশন গ্রহণ থেকে আনসাবস্ক্রাইব করে এবং ইন-অ্যাপ মেসেজ ডাউনলোড বন্ধ করে। মান **true** হলে এর প্রভাব বিপরীত হয়।

```javascript
PushNotification.prototype.setCommunicationEnabled = function(enable, success, fail)
```

## removeAllDeviceData

ডিভাইস সম্পর্কে সমস্ত ডেটা মুছে ফেলে।

```javascript
PushNotification.prototype.removeAllDeviceData = function()
```

## push-receive

_\[android, ios]_\
পুশ নোটিফিকেশন প্রাপ্তির ইভেন্ট। অ্যাপ্লিকেশনটি ফোরগ্রাউন্ড বা ব্যাকগ্রাউন্ডে পুশ নোটিফিকেশন পেলে এটি ফায়ার হয়। বন্ধ অ্যাপ্লিকেশনগুলি এই ইভেন্টটি পায় না।

**ইভেন্টের বৈশিষ্ট্য**

`message` – (`string`) পুশ নোটিফিকেশন বার্তা

`userdata` – (`object`/`array`) পুশ নোটিফিকেশন কাস্টম ডেটা

`onStart` – (`boolean`) এটি কি লঞ্চ নোটিফিকেশন

`foreground` – (`boolean`) নোটিফিকেশনটি কি ফোরগ্রাউন্ডে প্রাপ্ত হয়েছে

`android` – (`object`) অ্যান্ড্রয়েড নির্দিষ্ট নোটিফিকেশন পেলোড

`ios` – (`object`) iOS নির্দিষ্ট নোটিফিকেশন পেলোড

`windows` – (`object`) উইন্ডোজ নির্দিষ্ট নোটিফিকেশন পেলোড

```
document.addEventListener('push-receive',
	function(event) {
		var userData = event.notification.userdata;

		if (typeof(userData) != "undefined") {
			// কাস্টম নোটিফিকেশন ডেটা হ্যান্ডেল করুন
			console.warn('user data: ' + JSON.stringify(userData));
		}
	}
);
```

## ফোরগ্রাউন্ড নোটিফিকেশন

ডিফল্টরূপে Pushwoosh প্লাগইন ফোরগ্রাউন্ডে নোটিফিকেশন প্রদর্শন করে না এবং স্বয়ংক্রিয়ভাবে `push-receive` ইভেন্ট ট্রিগার করে। এই আচরণ নিয়ন্ত্রণ করতে [প্লাগইন কাস্টমাইজেশন গাইড](/bn/developer/pushwoosh-sdk/cross-platform-frameworks/cordova/customizing-cordova-plugin/) দেখুন।

### push-notification

_\[android, ios, wp8, windows]_\
পুশ নোটিফিকেশন গ্রহণ ইভেন্ট। ব্যবহারকারী পুশ নোটিফিকেশনে ট্যাপ করলে এটি ফায়ার হয়।

```
document.addEventListener('push-notification',
	function(event) {
		var message = event.notification.message;
		var userData = event.notification.userdata;

		if (typeof(userData) != "undefined") {
			console.warn('user data: ' + JSON.stringify(userData));
		}
	}
);
```

**ইভেন্টের বৈশিষ্ট্য**

[push-receive](#push-receive) এর মতোই

### additionalAuthorizationOptions

_\[শুধুমাত্র ios]_\
অতিরিক্ত [নোটিফিকেশন অনুমোদন বিকল্প](https://developer.apple.com/documentation/usernotifications/unauthorizationoptions?language=objc) প্রদান করে। **registerDevice** কল করার আগে এটি কল করা উচিত।

```
pushwoosh.additionalAuthorizationOptions({ 
	"UNAuthorizationOptionCriticalAlert" : 1,
	"UNAuthorizationOptionProvisional": 0 // 0 সেট করুন অথবা আপনি যদি আপনার অ্যাপে এটি যোগ করতে না চান তবে বিকল্পটি নির্দিষ্ট করবেন না। 
});
```