Skip to main content
OSNotificationクラスは、OneSignalのSDKにおけるプッシュ通知ペイロードを表します。アプリで通知を処理する際に、通知のタイトル、本文、カスタムデータ、プラットフォーム固有のプロパティにアクセスするために使用します。
プッシュ通知ペイロードは4096バイトに制限されています。切り捨てを避けるために、ペイロードを3500バイト未満に保ってください。additionalDataフィールドは2048バイトに制限されています。

アプリでOSNotificationにアクセスする

すべてのOneSignal SDKは、OSNotificationオブジェクトを返す通知イベントリスナーを提供します。

Androidフィールド

iOSフィールド


OSNotificationAction(クリックイベント)

ユーザーの通知に対するインタラクションを記述します。

カスタムOneSignalペイロード構造

すべてのOneSignal通知には、ペイロード内に特別な"custom"オブジェクトが含まれています:
このキーは、OneSignal SDKが通知を処理するために必要です。欠落している場合、通知はクリックイベントや分析をトリガーしません。OneSignalも使用しているデバイスに別のサービスからプッシュを送信する場合は、重複処理を防ぐためにこのキーでフィルタリングしてください。詳細はプッシュペイロードの処理を参照してください。

additionalDataをAPNSルートに移動する

iOSアプリの場合、additionalDataフィールドをcustomディクショナリの内部ではなく、APNSペイロードのルートに配置できます。これにより、カスタム通知ハンドラーでのアクセスが簡単になります。 1. APIで有効にする Update an app APIを使用して、次のように設定します:
2. dataを使用してプッシュを送信する dataフィールドがAPNSルートペイロードに表示されます:
これで、customディクショナリを確認せずにpromo_codeに直接アクセスできます。

復元された通知(Android)

Android SDKは、デバイスの再起動またはアプリの再起動後に通知を復元します。
restoringフラグを確認して、復元された通知をスキップしてください。古い通知が完全に復元されないようにするには、送信時に短いまたは0のTTL(time-to-live)を設定してください。

プッシュトークンの形式

  • iOS Push (APNS): 64文字、16進数のみ(0-9、a-f)。deviceToken.map {String(format: "%02x", $0)}.joined()
  • Android Push (FCM): 通常163文字、英数字で、ハイフン、コロン、アンダースコアを含む場合があります。

FAQ

ペイロードの最大サイズは?

プッシュ通知ペイロードの合計は4096バイトに制限されています。additionalDataフィールドは2048バイトに制限されています。切り捨てを避けるために、ペイロードの合計を3500バイト未満に保ってください。

生のペイロードでOneSignal通知を識別するには?

すべてのOneSignal通知には、通知IDを含む"i"キーを持つ"custom"オブジェクトが含まれています。このキーを確認することで、OneSignal通知と他のプロバイダーから送信された通知を区別できます。

APNSルートペイロードでadditionalDataにアクセスできますか?

はい。Update an app API経由でadditional_data_is_root_payloadを有効にすると、additionalDataフィールドをcustomディクショナリの内部ではなくAPNSルートに配置できます。詳細はadditionalDataをAPNSルートに移動するを参照してください。

Android通知カテゴリ

Android 8.0以降のデバイス向けに通知チャンネルを設定します。

モバイルService Extensions

リッチメディア、バッジ、および配信確認トラッキングを追加します。

モバイルSDKリファレンス

OneSignalのモバイルSDKメソッドとリスナーの完全なリファレンス。