Skip to content
This repository has been archived by the owner on Apr 1, 2024. It is now read-only.

【過去質問】Android SDK初期化エラーの検知について #1349

Open
ncmbsupport opened this issue Mar 3, 2023 · 1 comment
Open

Comments

@ncmbsupport
Copy link

Android SDKを利用していますが、SDKを初期化する際に発生した初期化のエラーや例外を、アプリでtry/catchなどで検知することは可能でしょうか?
できれば、SDKの初期化がもし失敗した場合に、失敗した情報を別サービスにログとして送信して、初期化のエラーを検知できるようにと考えております。

想定しているコードは以下です。

try {
    NCMB.initialize(applicationContext, "AppKey", "ClientKey");
}
catch(e:Exception) {
   // エラー検知したら何らかの処理
}
@ncmbsupport
Copy link
Author

SDKを初期化する際に発生した初期化のエラーや例外を、アプリでtry/catchなどで検知することは可能でしょうか?
initialize処理内では、以下のデバイス登録する処理を実施しております。

NCMBInstallationUtils.saveInstallation(installationCustomFields);

こちらについて、処理内ではtry/catchを行っております。

<省略>
    } catch (NoClassDefFoundError e) {
            Log.i("INFO", "For Push Notification function, you must be install Google Play Services in SDK Manager and add the FCM dependency. More information: https://mbaas.nifcloud.com/doc/current/push/basic_usage_android.html");
            DeviceTokenCallbackQueue.getInstance().execQueue(null,new NCMBException(new IllegalArgumentException(THIS_DEVICE_NOT_SUPPORTED_MESSAGE)));
        } catch (Exception e) {
            Log.e("Error", e.toString());
            DeviceTokenCallbackQueue.getInstance().execQueue(null,new NCMBException(new IllegalArgumentException(THIS_DEVICE_NOT_SUPPORTED_MESSAGE)));
        }
<省略>

上記処理で出しているログを別サービスに送信してエラー検知として使用することはできませんが、それ以外の未知のExceptionをお客様側のアプリでtry/catch処理を実装し、エラー検知として利用できる可能性はあります。
もしご利用される場合は十分な検証の上、実装いただければと思います。

■参考

  1. Android初期化のドキュメントについて: ドキュメント
  2. 初期化処理について: 関連コード
  3. saveInstallation処理について: 関連コード

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant