NativeScript plugin for Urban Airship
This is a plugin to use the Urban Airship SDK (Android v9.1.0, iOS v10.0.3) with NativeScript.
For iOS this plugin uses APNS and for Android it uses FCM.
Requirements
- Xcode 10.x
- Android SDK 28
- NativeScript CLI 5.x
- Urban Airship account
Installation
Run the following command from the root of your project:
npm install nativescript-urban-airship
Setup
First create a file with all your Urban Airship setting (example).
Android
-
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
.
iOS
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);
return true;
};
Import that custom UIApplicationDelegate in your app.ts
(example).
Optional functions
Setting Named User Id
To register a named user id call registerUser()
.
NsUrbanairship.getInstance().registerUser('MY_NEW_USER_ID');
Removing Named User Id
To remove a named user id call unRegisterUser()
.
NsUrbanairship.getInstance().unRegisterUser();
Enabling User Notifications
To set user notifications to enabled call notificationOptIn()
.
NsUrbanairship.getInstance().notificationOptIn();
Disabling User Notifications
To set user notifications to disabled call notificationOptOut()
.
NsUrbanairship.getInstance().notificationOptOut();
Getting Enabled User Notifications
To get the status of enabled push notifications call isOptIn()
, this will return true or false.
NsUrbanairship.getInstance().isOptIn();
Getting Channel ID
To get the channel ID call getChannelID()
, this will return a string.
NsUrbanairship.getInstance().getChannelID();
Getting Registration Token
To get the registration token (APNS token for iOS and FCM token for Android) call getRegistrationToken()
, this will return a string.
NsUrbanairship.getInstance().getRegistrationToken();
Resetting Badge Count (iOS only)
To reset the badge count call resetBadgeCount()
.
NsUrbanairship.getInstance().resetBadgeCount();