ログとデバッグ
ログは省略可能ですが重要な SDK の機能です。モバイルアプリケーション開発者は、エンゲージメント Mobile SDK の Customer Data Platform モジュールの出力の冗長性を選択できます。デフォルトではログは無効になっており、SFMCSdk インスタンスで setLogger (iOS) または setLogging (Android メソッド) を使用して有効にする必要があります。目的のログレベルおよび出力先を定義します。ログを有効にすることで、ネイティブな統合ログシステムを使用してログが取得されます。
ログレベル
| ログレベル | 説明 |
|---|---|
| エラー | このログレベルは、重要なビジネス使用事例が完了できなくなる、復旧不能なエラーの詳細を提供します。 |
| 警告 | このログレベルは、SDK インテグレーションに問題があるか、普段とは異なる状況に遭遇した状況の詳細を提供します。警告は、潜在的に危険ではあるものの復元可能なエラーに関連付けられます。 |
| デバッグ | このログレベルは、SDK がタスク、イベント、エラーの詳細をどのように処理したかに関する詳細な低レベルの情報を提供します。デバッグログにより、開発者はアプリケーションを診断して問題をトラブルシューティングできます。 |
ログの例
iOS
Android
1import SFMCSDK
2
3...
4
5// set the logger to show debug messages and higher
6SFMCSdk.setLogger(LogLevel.debug)
7
8// example usage
9let CATEGORY = LoggerCategory.module
10
11SFMCSdkLogger.shared.d(category: CATEGORY, message: "Logs a debug message.")
12
13SFMCSdkLogger.shared.w(category: CATEGORY, message: "Logs a warning message.")
14
15SFMCSdkLogger.shared.e(category: CATEGORY, message: "Logs an error message.")1import com.salesforce.marketingcloud.sfmcsdk.SFMCSdk
2import com.salesforce.marketingcloud.sfmcsdk.components.logging.LogLevel
3import com.salesforce.marketingcloud.sfmcsdk.components.logging.LogListener.AndroidLogger
4
5...
6
7// set the logger to show debug messages and higher
8SFMCSdk.setLogging(LogLevel.DEBUG, AndroidLogger())
9
10// example usage
11val TAG = "Example Application"
12val ERROR = IllegalStateException("Example Failure")
13
14SFMCSdkLogger.d(TAG) { "Logs a debug message." }
15SFMCSdkLogger.d(TAG, ERROR) { "Logs a debug message along with the error." }
16
17SFMCSdkLogger.w(TAG) { "Logs a warning message." }
18SFMCSdkLogger.w(TAG, ERROR) { "Logs a warning message along with the error." }
19
20SFMCSdkLogger.e(TAG) { "Logs an error message." }
21SFMCSdkLogger.e(TAG, ERROR) { "Logs an error message along with the error." }SDK の state の例
Customer Data Platform モジュールの state プロパティは、現在の設定、セッションの詳細、イベントキューサイズ、同意の状態を含むオペレーショナル情報を返します。これらは、デバッグとトラブルシューティングで重要な情報となります。
iOS1SFMCSdk.state()1SFMCSdk.requestSdk { sdk -> sdk.getSdkState() }SDK の state は、開発とトラブルシューティングをサポートするツールです。デバッグを行うときは必ず SDK の state プロパティで設定が想定どおりであることを確認してください。
エンゲージメント Mobile SDK の state の例:
1{
2 "modules": {
3 "cdp": {
4 "compatibility": "1.9.0 - 2.9.9",
5 "name": "cdp",
6 "pendingOperations": "0",
7 "properties": {
8 "appId": "YOUR_APP_ID
9",
10 "consent": "opt_in",
11 "endpoint": "YOUR_ENDPOINT",
12 "version": "2.0.1"
13 },
14 "status": "operational",
15 "version": "2.0.1"
16 },
17 "push": {
18 "compatibility": "8.0.3 - 8.9.9",
19 "name": "push",
20 "pendingOperations": "undefined",
21 "status": "inactive",
22 "version": "unavailable"
23 }
24 },
25 "registrationId": "YOUR_APPLICATION_REGISTRATION_ID",
26 "version": "1.0.2"
27}