# Windows Javascript SDK

[**下载 SDK**](https://github.com/Pushwoosh/pushwoosh-windows-sdk)\
[**W8 JS 示例**](https://github.com/Pushwoosh/pushwoosh-windows-sdk/tree/master/Samples/Win8.1JS)

<Aside>
#### 支持 Windows 8.1、Windows 10
</Aside>

## SDK 集成

<Aside type="note">
处理推送通知时，您可以使用模拟器。
</Aside>

要将 Pushwoosh 集成到您的 Windows JS 应用程序中，请按照以下步骤操作。

**1.** 下载我们的 SDK 包。

**2.** 在您的项目中添加对 **PushSDK/Project-Win8.1-WNS/PushSDK.winmd** 的引用\
或者，如果您是为 Windows 10 开发，则添加对 **PushSDK/Project-Win10-WNS/PushSDK.winmd** 的引用

**3.** 使用以下代码初始化推送服务：

```javascript
var service = new PushSDK.NotificationService.getCurrent("YOUR_PUSHWOOSH_APP_ID");
 
service.ononpushaccepted = function (args) {
    //处理推送通知的代码
    //仅为测试显示推送通知有效负载
    var md = new Windows.UI.Popups.MessageDialog(args.toString());
    md.showAsync()
}
 
service.ononpushtokenreceived = function (pushToken) {
    //处理推送令牌的代码
}
 
service.ononpushtokenfailed = function (error) {
    //处理推送订阅失败的代码
}
 
service.subscribeToPushService();
```

**4.** 在您的 `app.onactivated` 函数中添加以下内容：

```javascript
app.onactivated = function (args) {
        if (args.detail.kind === activation.ActivationKind.launch) {
            if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
                // TODO: 此应用程序已新启动。在此处初始化
                // 您的应用程序。
 
                //处理启动推送
                PushSDK.NotificationService.handleStartPush(args.detail.arguments);
```

<Aside type="caution" title="重要"> 
如果您计划使用 Toast 通知，请确保在您的应用程序项目中开启了 Toast 通知。转到清单设置中的“应用程序 UI”选项卡，并将 **Toast Capable** 设置为 **Yes**。否则，Toast 通知将无法在设备上工作。
</Aside>

<img src="/windows-windows-javascript-sdk-1.webp" alt=""/>

## 高级功能

### 标签

通过标签，您可以根据不同标准创建设备集。

**1.** 创建标签列表：

```javascript
var keys = ["name1", "name2"];
var values = ["value1", "value2"];
```

**2.** 将标签发送到 Pushwoosh：

```javascript
service.sendTag(keys, values);
```