メインコンテンツへスキップ
画像を含む通知を送信する場合、OneSignal SDKはOSNotification Payloadから外部画像URLを取得し、通知内に表示しようとします。このプロセス中にアプリが閉じていても問題ありません。SDKは画像のダウンロードを待機しますが、ネットワークの問題がある場合や30秒以上かかる場合(Appleによって強制)、通知は画像なしで表示されます。 画像が表示されない最も一般的な理由は次のとおりです:
  • リダイレクトと画像ファイル拡張子およびhttpsプロトコルのないURL(iOSとAndroidはデフォルトですべてのネットワークリクエストをhttpsにする必要があるため、http URLはほとんどのアプリで機能しません)
  • デバイス上の不安定なネットワーク接続、または必要な帯域幅を処理できない画像サーバー
画像のダウンロードに失敗した場合、OneSignalのSDKは画像を再度取得しようとしません。SDKのsetLogLevelメソッドをWARNまたはVERBOSEログとともに使用すると、画像のダウンロードに関連する特定のエラーを確認できます:
  • Could not download image!
  • Encountered an error while attempting to download file with URL:
  • OneSignal encountered an exception while downloading file

一般的な解決策

画像サイズ

品質や画像サイズを下げて、画像ファイルサイズを推奨設定まで減らしてみてください。

画像URL

画像URLには画像への直接リンクが必要で、リダイレクトは許可されません。適切なhttpまたはhttpsプロトコルが提供されていないリダイレクトおよびURL、および画像拡張子がないURLは機能しません。ほとんどの場合、直接リンクには.png.jpgなどのファイル拡張子があります 例:
  • これは機能しません: https://pixabay.com/en/architecture-travel-sky-building-3095716/
  • ただし、画像を右クリックして新しいタブで開くと、これは機能します: https://cdn.pixabay.com/photo/2018/01/21/01/46/architecture-3095716_960_720.jpg

画像ホスト

画像をホストしているサーバーがダウンしたか、ダウンロード量を処理できなかった可能性があります。デバイスが画像を含むすべての通知リソースをダウンロードするのに約30秒かかります。それより長くかかる場合、そのデバイスには表示されません。 専用サーバーでリソースをホストするか、OneSignalのインポートオプションを使用して当社にホストさせてください。
OneSignalは、アップロードされた時点から33日間のみ、サーバーにアップロードされた画像を保存します。33日以上前にアップロードされた画像を含むメッセージを複製または下書きで使用する場合は、画像を再アップロードする必要があります。画像をより長く必要とする場合は、テンプレートを使用するか、独自のサーバーに画像を保存してリソースURLを直接参照できます。

Webプッシュ画像

Windows、Android、およびBig Surを実行するmacOS上のプッシュ通知で大きな画像をサポートしているのはChromeのみです Firefox、Safari、Edgeは大きな画像をサポートしていません。 モバイルWebプッシュでは、Androidデバイスの通知シェードで通知を受信したときに、画像を表示するには通知を下にスライドする必要があります。 モバイルブラウザアプリに未読のプッシュ通知が多数ある場合や、多くのタブが開いている場合、通知が表示されなくなる可能性があります。

iOSプッシュ画像

iOS通知でリッチメディアが表示されない場合、通常、アプリのNotification Service Extensionが設定されていないことが原因です。iOS Notification Service Extensionに使用したセットアップドキュメントを再確認して、正しく実装されていることを確認してください。
1

  1. 別のデバイスでテストし、画像が表示される場合は、Notification Service Extensionが正しく設定されています。詳細はiOS Notification Service Extensionのトラブルシューティングを参照してください
2

  1. Webブラウザで添付ファイルのURLを開きます。画像/動画への直接リンクであることを確認してください。HTMLページの一部であってはなりません。また、リダイレクトはサポートされていません
3

  1. 添付ファイルのダウンロードに30秒以上かかる場合、iOSは拡張サービスをキャンセルし、通知はメディアなしで表示されます。添付ファイルのサイズが適切であることを確認してください。サポートされているメディアのリスト(および最大ファイルサイズ)はこちらで確認できます。
4

URLがHTTPSであることを確認してください。Xcodeの.plistでNSAppTransportSecurityNSAllowsArbitraryLoadsに設定しない限り、HTTP URLは機能しません。
アプリをApp Storeにリリースする際は、NSAllowsArbitraryLoadsを有効にしたままにしないでください。これにより、アプリにセキュリティ脆弱性が生じる可能性があります。詳細については、AppleのSecurity Overviewをお読みください
5

  1. メディアがホストされているデバイスまたはサーバーにネットワークの問題がありました。OneSignalまたは別のホスティングプロバイダーで画像をホストしてみてください。
6

  1. OneSignalNotificationServiceExtensionのDeployment Targetを確認し、iOS 10に設定します。

Androidプッシュ画像

Androidデバイスの通知シェードで通知を受信したときに、通知を下にスライドすると画像が表示されます。