> For the complete documentation index, see [llms.txt](https://documentation.pushly.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.pushly.com/pushly-ja/integration/implementation-steps/react-native/sdk-react-native/sdkkrubakku.md).

# SDKコールバック

{% hint style="warning" %}
`PushSDKLifecycleCallbacks`, `PermissionLifecycleCallbacks`, `NotificationLifecycleCallbacks`、および `AppMessageLifecycleCallbacks` は **エクスポートされていません** から `@pushly/push-sdk-react-native`。〜はありません `import type { X } from '@pushly/push-sdk-react-native'` いずれにも利用できません。以下に記載された形に一致するプレーンなオブジェクトリテラルを、対応する `register*` メソッド — TypeScript は、明示的な import なしで、そのリテラルをメソッドの引数型に対して構造的に型チェックします。
{% endhint %}

{% hint style="danger" %}
すべての SDK コールバックは 1 回だけ、アプリケーションのルートコンポーネント付近で登録することを推奨します（例:  `useEffect` と併せて `PushSDK.setConfiguration`）、すべてのイベントを適切に処理できるようにするためです。
{% endhint %}

## SDK ライフサイクルコールバック

これらのコールバックは、SDK の読み込みと終了を監視するために実装できます。

これらのコールバックを実装するには、SDK の `registerPushSDKLifecycleCallbacks` メソッドを呼び出し、必要なコールバックを実装したオブジェクトリテラルを渡します。

{% tabs %}
{% tab title="React" %}

```tsx
PushSDK.registerPushSDKLifecycleCallbacks({
  // ここに関数のオーバーライドを追加
});
```

{% endtab %}
{% endtabs %}

利用可能な SDK ライフサイクルコールバックは次のとおりです:

### 読み込み完了

このコールバックは、SDK の初期化が完了し、操作可能になったときに実行されます。

{% tabs %}
{% tab title="React" %}

```tsx
onPushSDKDidFinishLoading(configuration, subscriberStatus) {
  // SDK の読み込み完了後に実行するコードを追加
}
```

{% endtab %}
{% endtabs %}

### 登録者ステータス付きで終了

このコールバックは、SDK が終了し、登録者の現在のステータスを報告するときに実行されます。

{% tabs %}
{% tab title="React" %}

```tsx
onPushSDKDidExitWithSubscriberStatus(status, deleted) {
  // SDK 終了後に実行するコードを追加
}
```

{% endtab %}
{% endtabs %}

## 権限ライフサイクルコールバック

これらのコールバックは、ユーザーの権限認証の変更を監視するために実装できます。

これらのコールバックを実装するには、SDK の `registerPermissionLifecycleCallbacks` メソッドを呼び出し、必要なコールバックを実装したオブジェクトリテラルを渡します。

{% tabs %}
{% tab title="React" %}

```tsx
PushSDK.registerPermissionLifecycleCallbacks({
  // ここに関数のオーバーライドを追加
});
```

{% endtab %}
{% endtabs %}

利用可能な権限ライフサイクルコールバックは次のとおりです:

### 権限ステータス変更

このコールバックは、ユーザーの権限ステータス/認証が変更されたときに実行されます。

この `応答` 変数はユーザーの **新しい** 権限ステータスを表します。

{% tabs %}
{% tab title="React" %}

```tsx
onPushSDKDidReceivePermissionResponse(response) {
  // ユーザーの通知権限が変更された後に実行するコードを追加
}
```

{% endtab %}
{% endtabs %}

### エラー付きの権限ステータス変更

このコールバックは、ユーザーの権限ステータス/認証が変更され、その変更に関して SDK から報告するエラーもある場合に実行されます。

{% tabs %}
{% tab title="React" %}

```tsx
onPushSDKDidReceivePermissionResponseWithError(response, error) {
  // ユーザーの通知権限が
  // エラーとともに変更された後に実行するコードを追加
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
`エラー` は型付けされています `Error`、しかし SDK は内部の `PushSDKException` インスタンスを返します。これはエクスポートされていません。 `error.message`ただし、そのクラスを import して確認することはできません `instanceof`.
{% endhint %}

### リモート通知の登録

このコールバックは、デバイスがリモート通知への登録に成功し、デバイストークンを受け取ったときに実行されます。

{% tabs %}
{% tab title="React" %}

```tsx
onPushSDKDidRegisterForRemoteNotificationsWithDeviceToken(token) {
  // デバイスがリモート通知に登録した後に実行するコードを追加
}
```

{% endtab %}
{% endtabs %}

### リモート通知の登録に失敗

このコールバックは、デバイスがリモート通知への登録に失敗したときに実行されます。

{% tabs %}
{% tab title="React" %}

```tsx
onPushSDKDidFailToRegisterForRemoteNotificationsWithError(error) {
  // デバイスがリモート通知への登録に失敗した後に実行するコードを追加
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
〜と同様に `onPushSDKDidReceivePermissionResponseWithError`, `エラー` は型付けされています `Error` ただし、内部のエクスポートされていない `PushSDKException` インスタンスとして配信されます。
{% endhint %}

## 通知ライフサイクルコールバック

これらのコールバックは、表示、開封、および通知に対するその他の操作などのイベントを監視するために実装できます。

これらのコールバックを実装するには、SDK の `registerNotificationLifecycleCallbacks` メソッドを呼び出し、必要なコールバックを実装したオブジェクトリテラルを渡します。

{% tabs %}
{% tab title="React" %}

```tsx
PushSDK.registerNotificationLifecycleCallbacks({
  // ここに関数のオーバーライドを追加
});
```

{% endtab %}
{% endtabs %}

利用可能な通知ライフサイクルコールバックは次のとおりです:

### 通知を受信

このコールバックは、ユーザーが通知を受信したときに実行されます。

{% tabs %}
{% tab title="React" %}

```tsx
onPushSDKDidReceiveRemoteNotification(notification) {
  // 登録者のデバイスが通知を受信した後に実行するコードを追加
}
```

{% endtab %}
{% endtabs %}

### URI/URL の宛先付き通知を開く

このコールバックは、ランディング URL が付いた通知が開かれたときに実行されます。登録者は、その URL を表すビューに遷移させる必要があります。

このメソッドは Boolean の応答（ `Promise<boolean>` もサポートされます）。応答が `true` の場合、この通知の開封に対して SDK は追加の操作を行いません。応答が `false` の場合、SDK は登録者を目的の URL に遷移させようとします。

{% tabs %}
{% tab title="React" %}

```tsx
onPushSDKDidReceiveNotificationDestination(destination, interaction): boolean {
  // destination（ランディング URL）を使用してアプリケーション内を遷移

  // SDK に遷移しないよう通知するには true を返します
  return true;
}
```

{% endtab %}
{% endtabs %}

以下を参照してください [ディープリンク](/pushly-ja/integration/implementation-steps/react-native/sdk-react-native/dpurinku.md) のドキュメントに完全な例があります。

## アプリメッセージライフサイクルコールバック

これらのコールバックは、表示、開封、およびアプリメッセージに対するその他の操作などのイベントを監視するために実装できます。

これらのコールバックを実装するには、SDK の `registerAppMessageLifecycleCallbacks` メソッドを呼び出し、必要なコールバックを実装したオブジェクトリテラルを渡します。

{% tabs %}
{% tab title="React" %}

```tsx
PushSDK.registerAppMessageLifecycleCallbacks({
  // ここに関数のオーバーライドを追加
});
```

{% endtab %}
{% endtabs %}

利用可能なアプリメッセージライフサイクルコールバックは次のとおりです:

### アプリメッセージを表示

このコールバックは、アプリメッセージがユーザーに表示されるときに実行されます。

{% tabs %}
{% tab title="React" %}

```tsx
onPushSDKWillPresentAppMessage(appMessage) {
  // ユーザーのデバイスにアプリメッセージが表示されたときに実行するコードを追加
}
```

{% endtab %}
{% endtabs %}

### アプリメッセージがユーザー操作を受信

このコールバックは、ユーザーがアプリメッセージを操作したときに実行されます。

このメソッドは Boolean の応答（ `Promise<boolean>` もサポートされます）。応答が `true` その場合、SDK は操作を処理せず、操作が URL を開くアクションであっても遷移を試みません。応答が `false` の場合、SDK は操作を処理し、操作が URL を開くアクションである場合は、ユーザーを目的の URL に遷移させようとします。

{% tabs %}
{% tab title="React" %}

```tsx
onPushSDKDidReceiveAppMessageInteraction(interaction, appMessage): boolean {
  // ユーザーがアプリメッセージを操作したときに実行するコードを追加

  // SDK に操作を処理しないよう通知するには true を返します
  return true;
}
```

{% endtab %}
{% endtabs %}

### メッセージの処理に失敗

このコールバックは、SDK がアプリメッセージの処理に失敗したときに実行されます。

{% tabs %}
{% tab title="React" %}

```tsx
onPushSDKDidFailToProcessMessage(message, appMessage) {
  // SDK がアプリメッセージの処理に失敗したときに実行するコードを追加
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://documentation.pushly.com/pushly-ja/integration/implementation-steps/react-native/sdk-react-native/sdkkrubakku.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
