Install
NPM
npm install native-fn
ES Module
import Native from "native-fn";
CDN
<script src="https://cdn.jsdelivr.net/npm/native-fn/dist/native.umd.min.js"></script>
Native
11111
Native.App
22222
Native.App.open
33333
Parameters
Returns
Promise<AppOpenState>Example
try {
const result = await Native.App.open({
android: {
scheme: 'ms-excel://',
packageName: 'com.microsoft.office.excel',
allowAppStore: true,
// allowWebStore: false,
// intent: 'intent://#Intent;scheme=ms-excel;action=android.intent.action.VIEW;category=android.intent.category.BROWSABLE;package=com.microsoft.office.excel;end',
// fallback: 'https://www.microsoft.com/ko-kr/microsoft-365/excel',
// timeout: 1000,
},
ios: {
scheme: 'ms-excel://',
trackId: '586683407',
allowAppStore: true,
// allowWebStore: false,
// universal: '',
// bundleId: 'com.microsoft.Office.Excel',
// fallback: 'https://www.microsoft.com/ko-kr/microsoft-365/excel',
// timeout: 2000,
},
windows: {
scheme: 'ms-excel://',
productId: 'cfq7ttc0pr28',
allowAppStore: true,
// allowWebStore: false,
// fallback: 'https://www.microsoft.com/ko-kr/microsoft-365/excel',
// timeout: 750,
},
macos: {
scheme: 'ms-excel://',
trackId: '462058435',
allowAppStore: true,
// allowWebStore: false,
// bundleId: 'com.microsoft.Excel',
// fallback: 'https://www.microsoft.com/ko-kr/microsoft-365/excel',
// timeout: 750,
}
});
switch (result) {
case Native.App.Constants.AppOpenState.Scheme:
console.log('Opened successfully via app scheme.');
break;
case Native.App.Constants.AppOpenState.Universal:
console.log('Opened successfully via universal link.');
break;
case Native.App.Constants.AppOpenState.Intent:
console.log('Opened successfully via Android intent.');
break;
case Native.App.Constants.AppOpenState.Fallback:
console.log('Opened successfully via fallback URL.');
break;
case Native.App.Constants.AppOpenState.Store:
console.log('Opened successfully via store URL.');
break;
default:
break;
}
} catch (e) {
console.error(e.message);
}
Try it out
Native.App.setting
33333
Parameters
Returns
Promise<void>Example
try {
await Native.App.setting(Native.App.Constants.SettingType.General);
console.log('Opened successfully.');
} catch (e) {
console.error('Failed to open.');
}
Try it out
Native.App.messenger
Native.App.messenger.message(options)
Native.App.messenger.mail(options)
33333
Parameters
Returns
Promise<void>Example
try {
await Native.App.messenger.mail({
to: ['foo@gmail.com', 'bar@gmail.com'],
cc: ['baz@gmail.com'],
bcc: ['qux@gmail.com'],
subject: 'Hello, world!',
body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n'
+ 'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n'
+ 'Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\n'
+ 'Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.'
});
console.log('Opened successfully.');
} catch (e) {
console.error('Failed to open.');
}
Try it out
Native.App.file
33333
Parameters
Returns
Promise<File[]>Example
try {
await Native.App.file();
console.log('Opened successfully.');
} catch (e) {
console.error('Failed to open.');
}
Try it out
Native.App.contact
33333
Parameters
Returns
Promise<Contact[]>Example
try {
await Native.App.contact();
console.log('Opened successfully.');
} catch (e) {
console.error('Failed to open.');
}
Try it out
Native.Appearance
22222
Native.Appearance.value
33333
Returns
AppearancesExample
console.log(Native.Appearance.value);
Try it out
Native.Appearance.onchange
33333
Parameters
Returns
() => voidExample
Native.Appearance.onchange(
function (value) {
console.log(value);
}, {
once: true,
}
);
Try it out
Native.Clipboard
22222
Native.Clipboard.copy
33333
Parameters
Returns
Promise<boolean>Example
try {
const result = await Native.Clipboard.copy('Hello world!');
if (result) console.log('Copied successfully.');
else console.error('Failed to copy.');
} catch (e) {
console.error('Failed to copy.');
}
Try it out
Native.Clipboard.paste
33333
Returns
Promise<string>Example
try {
console.log(await Native.Clipboard.paste());
} catch (e) {
console.error('Failed to paste.');
}
Try it out
Native.Dimension
22222
Native.Dimension.value
33333
Returns
DimensionsExample
console.log(Native.Dimension.value);
Try it out
Native.Dimension.onchange
33333
Parameters
Returns
() => voidExample
Native.Dimension.onchange(
function (value) {
console.log(value);
}, {
once: true,
}
);
Try it out
Native.Fullscreen
22222
Native.Fullscreen.enable
33333
Returns
booleanExample
console.log(Native.Fullscreen.enable);
Try it out
Native.Fullscreen.element
33333
Returns
Element | nullExample
console.log(Native.Fullscreen.element);
Try it out
Native.Fullscreen.isFullscreen
33333
Returns
booleanExample
console.log(Native.Fullscreen.isFullscreen);
Try it out
Native.Fullscreen.request
33333
Parameters
Returns
Promise<void>Example
try {
await Native.Fullscreen.request(window.document.documentElement);
console.log('Opened successfully.');
} catch (e) {
console.error('Failed to open.');
}}
Try it out
Native.Fullscreen.exit
33333
Returns
Promise<void>Example
try {
await Native.Fullscreen.exit();
console.log('Opened successfully.');
} catch (e) {
console.error('Failed to open.');
}}
Try it out
Native.Fullscreen.toggle
33333
Parameters
Returns
Promise<void>Example
try {
await Native.Fullscreen.toggle(window.document.documentElement);
console.log('Opened successfully.');
} catch (e) {
console.error('Failed to open.');
}}
Try it out
Native.Fullscreen.onchange
33333
Parameters
Returns
() => voidExample
Native.Fullscreen.onchange(
function (value) {
console.log(value);
}, {
once: true,
}
);
Try it out
Native.Fullscreen.onerror
33333
Parameters
Returns
() => voidExample
Native.Fullscreen.onerror(
function (value) {
console.log(value);
}, {
once: true,
}
);
Try it out
Native.Platform
22222
Native.Platform.os
33333
Returns
NameVersionPair<OS>Example
console.log(Native.Platform.os);
Try it out
Native.Platform.engine
33333
Returns
NameVersionPair<Engines>Example
console.log(Native.Platform.engine);
Try it out
Native.Platform.browser
33333
Returns
NameVersionPair<Browsers>Example
console.log(Native.Platform.browser);
Try it out
Native.Platform.userAgent
33333
Returns
stringExample
console.log(Native.Platform.userAgent);
Try it out
Native.Platform.locale
33333
Returns
LocaleExample
console.log(Native.Platform.locale);
Try it out
Native.Platform.device
33333
Returns
DevicesExample
console.log(Native.Platform.device);
Try it out
Native.Platform.renderer
33333
Returns
stringExample
console.log(Native.Platform.renderer);
Try it out
Native.Platform.isWebview
33333
Returns
booleanExample
console.log(Native.Platform.isWebview);
Try it out
Native.Platform.isNode
33333
Returns
booleanExample
console.log(Native.Platform.isNode);
Try it out
Native.Platform.isStandalone
33333
Returns
booleanExample
console.log(Native.Platform.isStandalone);