Cordovaで権限追加

カメラ・写真・通知

「cordova.plugins.diagnostic」をインストール。

cordova plugin add cordova-plugins-diagnostic

カメラ用権限プログラム。

cordova.plugins.diagnostic.requestCameraAuthorization(
  function (status) {
    if (status === cordova.plugins.diagnostic.permissionStatus.GRANTED) {
      // チェック成功
    } else {
      // チェック失敗
    }
  },
  function (error) {
    // チェック失敗
    console.error("The following error occurred: " + error);
  },
  false
);

通知用権限プログラム。

cordova.plugins.diagnostic.requestRemoteNotificationsAuthorization({
  successCallback: function () {},
  errorCallback: function (err) {},
  types: [cordova.plugins.diagnostic.remoteNotificationType.ALERT, cordova.plugins.diagnostic.remoteNotificationType.SOUND, cordova.plugins.diagnostic.remoteNotificationType.BADGE],
  omitRegistration: false,
});

広告のトラッキング権限

「cordova-plugin-idfa」をインストール。

cordova plugin add cordova-plugin-idfa

広告用権限プログラム。

const idfaPlugin = cordova.plugins.idfa;
idfaPlugin
  .getInfo()
  .then((info) => {
    if (!info.trackingLimited) {
      return info.idfa || info.aaid;
    } else if (info.trackingPermission === idfaPlugin.TRACKING_PERMISSION_NOT_DETERMINED) {
      return idfaPlugin.requestPermission().then((result) => {
        if (result === idfaPlugin.TRACKING_PERMISSION_AUTHORIZED) {
          return idfaPlugin.getInfo().then((info) => {
            return info.idfa || info.aaid;
          });
        }
      });
    }
  })
  .then((idfaOrAaid) => {
    if (idfaOrAaid) {
      console.log(idfaOrAaid);
    }
  });

Config.xmlへ権限内容を記述

iosの場合

<platform name="ios">
    <edit-config file="*-Info.plist" mode="merge" target="NSCameraUsageDescription">
        <string>「許可」すると画像の投稿が可能になります</string>
    </edit-config>
    <edit-config file="*-Info.plist" mode="merge" target="NSUserNotificationUsageDescription">
        <string>「許可」すると通知を受け取ることができます</string>
    </edit-config>
    <edit-config file="*-Info.plist" mode="merge" target="NSUserTrackingUsageDescription">
        <string>「許可」するとお客様に最適化された広告が表示されます</string>
    </edit-config>
</platform>