> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Windowsアプリセットアップ

> Windows Push Notification Service（WNS）とOneSignalのREST APIを使用して、Universal Windows Platform（UWP）アプリにOneSignalプッシュ通知を統合するための完全ガイド

# Windowsアプリセットアップ

## 要件

WindowsアプリにOneSignalをセットアップする前に、次を確認してください：

* **Universal Windows Platform（UWP）アプリ** - OneSignalは現在UWPアプリのみをサポートしています
* **Microsoft Storeアプリ登録** - Package SIDとSecret Keyの取得に必要です
* **OneSignalアカウント** - 設定済みのアプリとプラットフォーム設定を持つ無料アカウント

<Info>OneSignalは現在Windows App SDK（WinUI 3）をサポートしていません。UWPの代わりにWindows App SDKを使用するアプリの場合は、`support@onesignal.com`に連絡して[移行オプション](https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/migrate-to-windows-app-sdk/guides/notifications)のガイダンスを受けてください。</Info>

## OneSignalアプリとプラットフォームの設定

### ステップ1：OneSignalアカウントのセットアップ

チームがすでにOneSignalアカウントを持っている場合は、プラットフォーム設定を構成するために[管理者アクセスをリクエスト](./manage-team-members)してください。それ以外の場合は、[無料アカウントを作成](https://onesignal.com)して開始してください。

### ステップ2：OneSignalアプリの作成または設定

OneSignalでは、クロスプラットフォームメッセージング用に単一のアプリ内で複数のプラットフォーム（iOS、Android、Huawei、Amazon、Windows）を設定できます。

#### 新しいアプリを作成

1. ダッシュボードから**New App/Website**をクリックします
2. 認識可能なアプリ名と組織名を選択します
3. プラットフォームとして\*\*Windows（UWP）\*\*を選択します
4. **Next: Configure Your Platform**をクリックします

<Frame caption="Windowsプラットフォームで新しいOneSignalアプリを作成">
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/13e619dc5fd638b4d9adf5505ddd645de431dc963dbeeac923462060c030ce7c-Screenshot_2025-04-07_at_3.48.57_PM.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=77c331bb0aea78c3f5d96ed065e14d1f" width="2344" height="1544" data-path="images/docs/13e619dc5fd638b4d9adf5505ddd645de431dc963dbeeac923462060c030ce7c-Screenshot_2025-04-07_at_3.48.57_PM.png" />
</Frame>

#### 既存のアプリにプラットフォームを追加

1. 既存のアプリを選択します
2. **Settings > Push & In-App**に移動します
3. **Add Platform**をクリックして\*\*Windows（UWP）\*\*を選択します

<Frame caption="OneSignalアプリをセットアップしてWindowsプラットフォームを選択">
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5cfafd284e02ae310a7e2a973d58d858e36d59bd54a7c58c3dc5da5ff5946721-Screenshot_2025-04-07_at_3.51.19_PM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=2059055133014853ce9d5a62fb7c9bbc" width="2428" height="1960" data-path="images/docs/5cfafd284e02ae310a7e2a973d58d858e36d59bd54a7c58c3dc5da5ff5946721-Screenshot_2025-04-07_at_3.51.19_PM.png" />
</Frame>

### ステップ3：追加プラットフォームの設定（オプション）

クロスプラットフォームアプリを構築している場合は、今すぐ追加のプラットフォームを設定します：

* **Android**：[Firebase認証情報のセットアップ](./android-firebase-credentials)
* **iOS**：[p8トークン（推奨）](./ios-p8-token-based-connection-to-apns)または[p12証明書](./ios-p12-generate-certificates)
* **Amazon**：[APIキーの生成](./generate-an-amazon-api-key)
* **Huawei**：[OneSignalの認証](./authorize-onesignal-to-send-huawei-push)

各プラットフォームの認証情報を入力した後、**Save & Continue**をクリックします。

### ステップ4：ターゲットSDKの選択

ターゲットSDKとして**Windows UWP**を選択し、**Save & Continue**をクリックします。

<Frame caption="プラットフォーム固有のドキュメントにアクセスするためにWindows UWP SDKを選択">
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/13775481f708ed06086e4f6cfd4892a7e47970b669757212f62b2f508c0d1ab7-Screenshot_2025-04-07_at_3.57.27_PM.png?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=2509168f647aef9dc29e59805d0cec21" width="3162" height="1886" data-path="images/docs/13775481f708ed06086e4f6cfd4892a7e47970b669757212f62b2f508c0d1ab7-Screenshot_2025-04-07_at_3.57.27_PM.png" />
</Frame>

### ステップ5：App IDの保存

**重要：** OneSignal App IDをコピーして安全に保管してください - API呼び出しとユーザー登録にこれが必要になります。

<Frame caption="App IDを保存し、アクセスが必要なチームメンバーを招待">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/45dc4f796e919a3da95ab0f3cba25be49091fe56c0a97b159dc12dd16702d734-Screenshot_2025-04-07_at_3.59.42_PM.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=6c14c2a05be8a4474e22a52aaa7d76da" width="2710" height="1846" data-path="images/docs/45dc4f796e919a3da95ab0f3cba25be49091fe56c0a97b159dc12dd16702d734-Screenshot_2025-04-07_at_3.59.42_PM.png" />
</Frame>

オプションで、**Invite**をクリックしてチームメンバーを招待し、**Done**をクリックして続行します。

## Windowsプラットフォーム設定

### Microsoft Store認証情報の取得

OneSignalはWindows Push Notification Service（WNS）を使用するため、Microsoft Storeから認証情報が必要です：

1. **Microsoft Storeに公開** - アプリはMicrosoft Storeに登録されている必要があります（一般公開されていなくても可）
2. **Package SIDとSecret Keyの取得** - [Microsoftの詳細ガイド](https://learn.microsoft.com/en-us/azure/notification-hubs/notification-hubs-windows-store-dotnet-get-started-wns-push-notification#create-an-app-in-windows-store)に従ってこれらの認証情報を取得します
3. **OneSignalプラットフォームの設定**：
   * OneSignalダッシュボードで\*\*Settings > Windows（UWP）\*\*に移動します
   * Package SIDとSecret Keyを貼り付けます
   * **Save**をクリックしてプラットフォームをアクティブ化します

<Frame caption="OneSignalダッシュボードでWindowsプラットフォーム認証情報を設定">
  <img src="https://mintcdn.com/onesignal/56ctKxZSV4m5VEkn/images/docs/b83d13b-Screenshot_2023-03-21_at_12.02.58_PM.png?fit=max&auto=format&n=56ctKxZSV4m5VEkn&q=85&s=aac1ef94751db6f307284a86a455b6cf" width="1842" height="940" data-path="images/docs/b83d13b-Screenshot_2023-03-21_at_12.02.58_PM.png" />
</Frame>

> **注意：** Package SIDとSecret Keyは、アプリがMicrosoft Storeに登録された後にのみ利用可能です。これらの認証情報なしではローカルでプッシュ通知をテストできません。

## SDK統合

### アーキテクチャの理解

OneSignalは専用のUWP SDKを提供していません。代わりに、次を使用して統合します：

1. **Windows Push Notification Service（WNS）** - Microsoftのネイティブプッシュサービス
2. **OneSignal REST API** - ユーザー管理とメッセージ送信用
3. **通知チャネルURI** - プッシュ通知のデバイストークンとして機能

WNSの包括的な理解については、[MicrosoftのWNSドキュメント](https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/windows-push-notification-services--wns--overview)を確認してください。

### プッシュ通知用のユーザー登録

#### ステップ1：通知チャネルのリクエスト

Microsoftのガイドに従って[通知チャネルを作成](https://learn.microsoft.com/en-us/windows/apps/design/shell/tiles-and-notifications/request-create-save-notification-channel)します。WNSによって返されるチャネルURIがデバイストークンとして機能します。

```csharp theme={null}
// Example: Getting notification channel URI
var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
string channelUri = channel.Uri; // This is your token for OneSignal
```

#### ステップ2：OneSignalユーザーレコードの作成

OneSignalの[Create user](/reference/create-user) APIを呼び出してデバイスを登録します：

**必須パラメーター：**

* `subscription.type`：`"WindowsPush"`
* `subscription.token`：ステップ1のチャネルURI

**推奨パラメーター：**

* `identity.external_id`：ユーザーの一意の識別子（システムのユーザーIDなど）
* `properties`：ターゲティング用のカスタムユーザープロパティ

```json theme={null}
{
  "identity": {
    "external_id": "your-user-id-123"
  },
  "subscriptions": [
    {
      "type": "WindowsPush",
      "token": "https://cloud.notify.windows.com/?token=..."
    }
  ],
  "properties": {
    "tags": {
      "user_type": "premium",
      "app_version": "1.2.0"
    }
  }
}
```

> **Gotcha:** Channel URIs can expire and change. Implement logic to refresh the channel URI periodically and update the OneSignal user record when it changes.

### チャネルURI変更の処理

WNSチャネルURIは期限切れになる可能性があります。更新が必要な場合を検出するために`PushNotificationReceived`イベントを実装します：

```csharp theme={null}
channel.PushNotificationReceived += OnPushNotificationReceived;

// Check if channel URI has changed
if (channel.Uri != storedChannelUri) {
    // Update OneSignal user record with new URI
    await UpdateOneSignalUser(channel.Uri);
}
```

## プッシュ通知の送信

### OneSignalダッシュボードの使用

1. OneSignalダッシュボードで**Messages > Push**に移動します
2. 新しいプッシュ通知を作成します
3. Windowsプラットフォームを選択します
4. メッセージコンテンツとターゲティングを設定します
5. すぐに送信するか、後でスケジュールします

### OneSignal APIの使用

[Create notification](/reference/create-message) APIを使用してプログラムで通知を送信します：

```json theme={null}
{
  "app_id": "your-onesignal-app-id",
  "contents": {"en": "Your notification message"},
  "headings": {"en": "Notification Title"},
  "include_external_user_ids": ["your-user-id-123"],
  "channel_for_external_user_ids": "push"
}
```

For detailed messaging options and advanced targeting, see [Sending Push Messages](./push).

## 次のステップとベストプラクティス

### 統合のテスト

1. **通知チャネル作成のテスト** - アプリがWNSチャネルを正常に作成および維持することを確認します
2. **ユーザー登録の確認** - ユーザーがOneSignalダッシュボードに適切に登録されていることを確認します
3. **テスト通知の送信** - OneSignalダッシュボードを使用してテストメッセージを送信します
4. **通知イベントの処理** - 通知の受信、開封、却下イベントの適切な処理を実装します

### よくある問題と解決策

**チャネルURIが機能しない**

* Package SIDとSecret Keyが正しく設定されていることを確認してください
* アプリがMicrosoft Storeに適切に登録されていることを確認してください
* チャネルURIが期限切れになっていないことを確認してください

**ユーザーが通知を受信しない**

* OneSignalユーザーレコードが正常に作成されたことを確認してください
* WindowsプラットフォームがOneSignalで適切に設定されていることを確認してください
* Windowsの通知設定で通知がブロックされていないことを確認してください

**API統合の問題**

* OneSignal App IDが正しいことを検証してください
* 正しいAPIエンドポイントと認証を使用していることを確認してください
* トラブルシューティングのためにAPI応答コードとエラーメッセージを確認してください

### 本番環境での考慮事項

* すべてのOneSignal API呼び出しに対して適切なエラー処理を実装してください
* チャネルURI更新失敗の監視を設定してください
* ネットワーク問題時のAPI呼び出しにオフラインキューイングの実装を検討してください
* アプリ使用のピーク時にユーザー登録をスケーリングする計画を立ててください

追加のサポートと高度な実装ガイダンスについては、OneSignalサポートに連絡するか、包括的な[APIドキュメント](/reference/rest-api-overview)をご覧ください。
