カメラ・写真・通知
「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>