トラブルシューティングのヒント
Resolve common issues with Firebase settings, dependencies, and SDK integration.
読み終わるまでの所要時間 3 分最終更新 6ヶ月前
Push Notifications SDK を使用して問題やエラーが発生した場合は、以下に示す一般的なトラブルシューティングのヒントに従ってください。
トラブルシューティングのヒントの中には、特定のエラーに言及しているものがあります。ただし、このような問題が発生していない場合でも、順番どおりに目を通すことを推奨します。
1. (Android) Push Notifications 設定内の Firebase 値を確認する
Push Notification SDK を使用しているときに、テストデバイスを Firebase に登録しようとして問題が発生した場合、Firebase 値が空または無効になっている可能性があります。
Firebase の詳細情報を Push Notifications Settings (Push Notifications 設定) セグメントに追加する方法を確認してください。
または、指定した値が正しい場合には、その値の後に 空白/スペース がないことを確認してください。これが問題の原因になることがわかっています。
2. (EDM4U/MDR) Push Notifications SDK の依存関係が解決されていることを確認する
External Dependency Manager for Unity (EDM4U) サポートのセクションで説明しているように、Push Notifications SDK は自らの依存関係を解決するために External Dependency Manager for Unity (EDM4U) や Mobile Dependency Resolver (MDR) を必要とせず、それらをバンドルすることもありません。ただし、どちらかが使用される場合、Push Notifications SDK によって統合されます。
その他のパッケージで EDM4U または MDR が必要ない場合は、これらのアンインストールを推奨します。
それ以外の場合、以下のステップに従うことを推奨します。
- 依存関係ファイル が生成されたことを確認します。これを、自動生成される
PushSDKDependencies.xmlディレクトリに配置してください。Assets/Push Notifications/Editor/Android- このファイルが存在しない場合は、Unity プロジェクトを再度開きます。このプロセスでファイルが生成されるはずです。
- または
Resolveオプションを使用します。どちらも、Assets > External Dependency Manager > Android Manager (アセット > 外部依存関係マネージャー > Android マネージャー) にあります。Force Resolve - Push Notifications SDK の依存関係が解決されたことを、オプションを使用して確認します。これも、Assets > External Dependency Manager > Android Manager (アセット > 外部依存関係マネージャー > Android マネージャー) にあります。以下の行が表示されるはずです。
Display Librariesimplementation 'com.google.firebase:firebase-messaging-ktx:22.0.0' // Assets/Push Notifications/Editor/Android/PushSDKDependencies.xml:9- 他のパッケージまたは SDK が同じ依存関係を利用している場合は、上記の行の横にあるコメントが少し異なることに注意してください。

3. (Android) ビルドプロセスの際に Minify (縮小) で Push Notifications SDK が除外されていないことを調べる
EDM4U/MDR のトラブルシューティングのセクション を完了したが、まだ以下のようなエラーが発生している場合:
java.lang.ClassNotFoundException: com.unity.services.pushnotifications.android.UnityCallbackClass
Player Settings > Publishing > Minify (プレイヤー設定 > 公開 > 縮小) の下の Minify (縮小) オプションを調べてください。 (リリース) または (デバッグ) チェックボックスがオンになっている場合は、Minify (縮小) を使用しています。これにより、縮小プロセスの一環として Push Notifications SDK がリリース/デバッグビルドで除外される可能性があり、"クラスの欠落" エラーが発生します。
ReleaseDebugMinify (縮小) が必要ない場合は、オフにすることでこの問題を解決できます。
引き続き Minify (縮小) を使用する場合は、Push Notifications のクラスを カスタム proguard ファイル の下に追加して、Push Notifications SDK 機能が縮小プロセスの際に除外されないようにする必要があります。
Player Settings > Publishing > Build > Custom Proguard File (プレイヤー設定 > 公開 > ビルド > カスタム Proguard ファイル) の下で を有効にします。
Custom Proguard File
img.png
指定されたパスに作成されたファイルを開いて、以下の行を追加します。
-keep class com.unity.services.pushnotifications** { *;}
これで問題が解決するはずです。
4. (iOS) リモート通知が XCODE で有効になっていることを確認する
iOS アプリが Push Notifications を受け取るためには、 機能を許可する必要があります。
Remote Notificationsこれを行わなかった場合、アプリで以下のエラーが発生します。
Failed to register for remote notifications: no valid “aps-environment” entitlement string found for application
Signing & Capabilities > Capability > Background Modes > Remote Notifications (署名と機能 > 機能 > バックグラウンドモード > リモート通知) に移動して、 (リモート通知) 機能を指定します。
Remote Notifications
5. Unity Dashboard の Push Notifications 設定で API キーを調べる
Push Notifications をエンドユーザーデバイスに送信するには、Google と Apple のキーを Unity Dashboard の LiveOps > Push Notifications の下の (設定) に追加します。
SettingsiOS の場合、キーがターゲットビルドバージョンと一致することを確認します。デバッグ ビルドの場合は (サンドボックス) オプションを に設定し、プロダクション ビルドの場合は に設定します。キーとビルドバージョンが一致しないと、テストデバイスは通知を受け取りません。
SandboxTrueFalseテストガイド を使用してキーが機能していることを調べます。