Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
nativescript-urban-airship
Advanced tools
This is a plugin to use the Urban Airship SDK (Android v15.0.0, iOS v15.0.1) with NativeScript.
For iOS this plugin uses APNS and for Android it uses FCM.
Run the following command from the root of your project:
npm install nativescript-urban-airship
First create a file with all your Urban Airship setting (example).
Create a custom native android.app.Application in your app folder (example) that calls startUp()
with your settings in the onCreate()
:
public onCreate(): void {
super.onCreate();
NsUrbanAirship.getInstance().startUp(urbanAirshipSettings, this);
}
Use that custom application in the application tag in your AndroidManifest.xml
(example).
Place your google-services.json
in your App_Resources/Android
folder. This json file can be created using the setup of FCM.
Copy the hooks firebase-adjust-gradle.js and firebase-copy-google-services.js from our demo app to the after-prepare
folder of your app.
Specify the right applicationId
in your app's app.gradle
(example).
Specify the right id
in your app's package.json
.
Create a custom UIApplicationDelegate in your app folder (example) that calls startUp()
with your settings in the applicationDidFinishLaunchingWithOptions()
:
applicationDidFinishLaunchingWithOptions(application: UIApplication, launchOptions: NSDictionary<string, any>): boolean {
NsUrbanAirship.getInstance().startUp(urbanAirshipSettings, null);
return true;
};
Import that custom UIApplicationDelegate in your app.ts
(example).
Since version 6.0 of the plugin, if the project does not already include it, it is necessary to raise the Swift version to 5.0 by adding the following line to your Podfile.
config.build_settings['SWIFT_VERSION'] = '5.0'
In order to style the Preference Center on iOS, it is necesssary to create a AirshipPreferenceCenterStyle.plist file and populate it according to the information that can be found here. NOTE: At the time of writing this, all the possible parameters have not been listed on the page mentioned and can be found here.
When using webpack, calling startUp()
on Android in a custom native android.app.Application is not working, in that case it is better to call the native function instead of startUp()
:
public onCreate(): void {
super.onCreate();
const options = new com.urbanairship.AirshipConfigOptions.Builder()
.setDevelopmentAppKey(urbanAirshipSettings.developmentAppKey)
.setDevelopmentAppSecret(urbanAirshipSettings.developmentAppSecret)
.setProductionAppKey(urbanAirshipSettings.productionAppKey)
.setProductionAppSecret(urbanAirshipSettings.productionAppSecret)
.setInProduction(urbanAirshipSettings.inProduction)
.build();
com.urbanairship.UAirship.takeOff(this, options);
}
To register a named user id call registerUser()
.
NsUrbanairship.getInstance().registerUser('MY_NEW_USER_ID');
To remove a named user id call unRegisterUser()
.
NsUrbanairship.getInstance().unRegisterUser();
To set user notifications to enabled call notificationOptIn()
.
NsUrbanairship.getInstance().notificationOptIn();
To set user notifications to disabled call notificationOptOut()
.
NsUrbanairship.getInstance().notificationOptOut();
To get the status of enabled push notifications call isOptIn()
, this will return true or false.
NsUrbanairship.getInstance().isOptIn();
To get the channel ID call getChannelID()
, this will return a string.
NsUrbanairship.getInstance().getChannelID();
To get the registration token (APNS token for iOS and FCM token for Android) call getRegistrationToken()
, this will return a string.
NsUrbanairship.getInstance().getRegistrationToken();
To reset the badge count call resetBadgeCount()
.
NsUrbanairship.getInstance().resetBadgeCount();
To open the preference center call openPreferenceCenter()
.
NsUrbanairship.getInstance().openPreferenceCenter('PREFERENCE_CENTER_ID');
FAQs
Urban Airship plugin for NativeScript.
The npm package nativescript-urban-airship receives a total of 11 weekly downloads. As such, nativescript-urban-airship popularity was classified as not popular.
We found that nativescript-urban-airship demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.