【Cordova】アプリのパーミッションを確認するプラグイン「cordova-diagnostic-plugin」

アプリのパーミッションを確認する必要があったため、プラグインをインストールしました。
Android なら、cordova-plugin-android-permissions というプラグインがあったのですが、名前のとおり、Android のみしか対応していなかったため、iOS でのチェックを行うためにこちらもインストールしました。
しかし、こちらは Android にも対応しているため、cordova-plugin-android-permissions の方をアンインストールして、これのみでチェックしようかと思っています。

GitHub のページはこちらから。

GitHub – dpa99c/cordova-diagnostic-plugin: Cordova/Phonegap plugin to manage device settings
https://github.com/dpa99c/cordova-diagnostic-plugin

 

使い方ですが、例えばカメラのパーミッションを確認する場合は下記のように記述します。

cordova.plugins.diagnostic.getCameraAuthorizationStatus(
    function(status) {
        // チェック成功
        if(status === cordova.plugins.diagnostic.permissionStatus.GRANTED) {
            // カメラが使用が許可されている
            ......
        } else {
            // カメラが使用が許可されていない
            ......
        }
    }, function(error) {
        // チェック失敗
        console.error("The following error occurred: "+error);
    }, false
);

カメラの使用が許可されている場合は、上記のようにステータスで GRANTED の値が返却されます。
なので、返却値によって適宜処理を変更してください。

なお、上記のコードでは、パーミッションを確認するだけなので、もしなかった場合でも許可/拒否のダイアログの表示はしません。
パーミッションをリクエストしたい場合には、requestCameraAuthorization() を使用してください。
使用例は下記の通りです。

cordova.plugins.diagnostic.requestCameraAuthorization(
    function(status) {
        if (status === cordova.plugins.diagnostic.permissionStatus.GRANTED) {
            // カメラ使用が許可された場合
            ......
        } else {
            // カメラ使用が許可された場合
            ......
        }
    }, function(error) {
        console.error("The following error occurred: "+error);
    }, false
);

使い方としてはこんな感じです。
他にも、位置情報や Bluetooth、プッシュ通知、マイクなど、色々チェックできます。

ただし、位置情報など一部のパーミッションによっては、戻り値のステータスの値が Android と iOS で違っていたりするので、そこだけはご注意ください。

 

以上、アプリのパーミッションをチェックするためのプラグイン「cordova-diagnostic-plugin」のご紹介でした。
戻り値に注意して、便利にお使いください。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG