Skip to main content

useRequestPermissions

The useRequestPermissions hook provides a function to request native device permissions from the user. It handles both app-level and system-level permission requests, showing appropriate dialogs and managing permission state. Supported permissions include camera, microphone, and device motion access.

Note

Before using this hook, add the required permissions to your Mini's manifest file: "permissions": ["CAMERA"].

Anchor to useRequestPermissions
useRequestPermissions()

Examples

tsx

import {useRequestPermissions, Button} from '@shopify/shop-minis-react'

export default function MyComponent() {
const {requestPermission} = useRequestPermissions()

const handleCameraPermission = async () => {
try {
const response = await requestPermission({permission: 'CAMERA'})

if (response.granted) {
console.log('Camera permission granted')
// You can now proceed with camera functionality
} else {
console.log('Camera permission denied:', response.errorMessage)
// Handle the denial gracefully
// For example: show alternative UI or functionality
}
} catch (error) {
console.error('Failed to request camera permission:', error)
// Handle unexpected errors
}
}

return (
<div>
<Button onClick={handleCameraPermission}>
Request Camera Permission
</Button>
</div>
)
}

Was this page helpful?