
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
nativescript-segment
Advanced tools
A NativeScript plugin that provides easy access to the native Segment SDKs. Largely based on this repository.
tns plugin add nativescript-segment
For access to the native SDK type definitions, specify the definitions in your references.d.ts
/// <reference path="./node_modules/nativescript-segment/platforms/android/typings/android.d.ts" />
/// <reference path="./node_modules/nativescript-segment/platforms/ios/typings/ios.d.ts" />
Warning: Depending on your project structure, the paths shown above may be inaccurate.
All interaction with the library should be done via static function calls on the Segment import since both iOS and Android SDKs instantiate Segment as a singleton once the method configure has been successfully called.
const config: SegmentConfig = {
trackLifeCycleEvents: true,
recordScreenViews: true
};
Segment.configure(SEGMENT_KEY, config); // SEGMENT_KEY being your secret key
import { Segment } from 'nativescript-segment';
public someInteraction(type: string) {
Segment.track(type);
}
For more advanced uses, or if it is required to access the base SDK methods, you can access the SDK's shared instance
// iOS
Segment.ios.track('some event');
// Android
Segment.android.track('some event');
Warning: accessing the SDK's methods directly potentially requires converting to native object and collection types
Requires the internet permission if not already enabled in your app.
<uses-permission android:name="android.permission.INTERNET"/>
In your application's delegate:
import { Segment } from 'nativescript-segment';
public applicationDidFinishLaunchingWithOptions(application, launchOptions): boolean {
const config = {
setDebug: true; // set to show full debug logging by the native APIs
}
Segment.configure(key, config);
return true;
}
const config: SegmentConfig = {
trackLifeCycleEvents: true,
recordScreenViews: true
};
Segment.configure('your segment write key', config);
SegmentConfig Properties (all optional)
Property | Default | Description |
---|---|---|
trackLifeCycleEvents | true | enable or disable auto tracking life-cycle events |
recordScreenViews | true | enable or disable auto tracking of screen views |
options | Default integration options, see SegmentOptions | |
proxyUrl | null | forward all Segment calls through a proxy |
setLogging | false | set base INFO logging in Android SDK and plugin itself |
setDebug | false | Sets full debug logging in Android and iOS |
middlewaresAndroid | [] | List of middlewares for Android. Applied in the order based on the array. See here for more info |
middlewaresIOS | [] | List of middlewares for iOS. Applied in the order based on the array. See here for more info |
SegmentOptions Properties (all optional)
Property | Default | Description |
---|---|---|
useAll | true | enables all integrations (default for Segment SDKs) |
excluded | [] | exclude Segment from integrating with the specified services |
included | [] | include Segment integration with the specified services (note: this will only take affect if useAll is set to false) |
Identify the current user. Additional traits are supported, and custom traits are available.
const traits: SegmentTraits = {
firstName: 'Dave',
email: 'dave@domain.com'
};
const customTraits: any {
favoriteColor: 'blue'
};
Segment.identify('userId', traits, customTraits);
SegmentTraits Properties (all optional)
Please see Segment's official spec for all available traits and their descriptions.
Track an event.
Segment.track('Some event');
const properties = {
productName: 'Bread',
revenue: 4
};
Segment.track('Product Purchased', properties);
Please see Segment's official spec for details on properties to add to track calls.
Manually record a screen view by name and optional category. Category is a default option for Android, but for iOS it will concatenate category and name into the same screen
.
Segment.screen('signup', 'verify password');
Please see Segment's official spec for details on screen calls.
Associate current user with a group. A user can belong to multiple groups.
Segment.group("0e8c78ea9d97a7b8185e8632", {
name: "Initech",
industry: "Technology",
employees: 329,
plan: "enterprise",
"total billed": 830
});
Please see Segment's official spec for details on group calls.
alias is how you associate one identity with another.
Segment.alias(newId);
Please see Segment's official spec for details on alias calls.
Disables or enables all analytics, remains set throughout app restarts.
Segment.optOut(true);
Apache License Version 2.0, January 2004
FAQs
Your awesome NativeScript plugin.
We found that nativescript-segment demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.