NativeScript Troubleshooting Guide
NativeScript Troubleshooting Guide
Common issues and solutions when integrating UXCam with NativeScript applications.
Quick Diagnostics Checklist
Before diving into specific issues:
- NativeScript CLI is installed and up to date
- UXCam plugin is latest version
- Valid UXCam app key is configured
- iOS deployment target is 12.0+ / Android minSdkVersion is 21+
- App module is properly configured
Installation Issues
Plugin Installation Fails
Symptoms:
Error: Failed to install nativescript-uxcam
Solutions:
- Update NativeScript CLI:
npm install -g nativescript
ns --version- Clear cache and reinstall:
ns clean
npm install nativescript-uxcam- For NativeScript 8+:
npm install @nicothin/nativescript-uxcamBuild Errors After Installation
iOS CocoaPods Error:
cd platforms/ios
pod install --repo-updateAndroid Gradle Error:
ns clean
ns build androidRuntime Issues
Sessions Not Appearing in Dashboard
Symptoms:
- App runs normally
- No sessions in UXCam dashboard
Debugging Steps:
- Verify initialization:
// app.ts or main.ts
import { Application } from '@nativescript/core';
import * as NSUXCam from 'nativescript-uxcam';
Application.on(Application.launchEvent, () => {
console.log('Initializing UXCam...');
NSUXCam.optIntoVideoRecordings();
NSUXCam.startWithKey('YOUR_APP_KEY');
console.log('UXCam initialized');
});
Application.run({ moduleName: 'app-root' });- Check logs:
- Android:
adb logcat | grep UXCam - iOS: Xcode console
Common Solutions:
Wrong import:
// ✅ Correct import
import * as NSUXCam from 'nativescript-uxcam';
// ❌ Incorrect
import { UXCam } from 'nativescript-uxcam';Late initialization:
// ❌ Too late - in a component
export class HomeComponent {
ngOnInit() {
NSUXCam.startWithKey(key); // May miss early screens
}
}
// ✅ Correct - in app launch
Application.on(Application.launchEvent, () => {
NSUXCam.startWithKey(key);
});NSUXCam is Undefined
Symptoms:
TypeError: Cannot read property 'startWithKey' of undefined
Solutions:
- Verify plugin installation:
ns plugin list
# Should show: nativescript-uxcam- Rebuild the app:
ns clean
ns build android
ns build iosScreen Tagging Issues
Screens Not Tagged Correctly
Symptoms:
- Generic screen names in dashboard
- Missing screen transitions
Solution - Manual screen tagging:
Angular:
import { Component, OnInit } from '@angular/core';
import * as NSUXCam from 'nativescript-uxcam';
@Component({
selector: 'home',
templateUrl: './home.component.html'
})
export class HomeComponent implements OnInit {
ngOnInit() {
NSUXCam.tagScreenName('Home');
}
}Vue:
export default {
mounted() {
NSUXCam.tagScreenName('Home');
}
}Plain NativeScript:
export function onNavigatingTo(args) {
NSUXCam.tagScreenName('Home');
}With Router:
// Use router events for automatic tagging
import { RouterExtensions } from '@nativescript/angular';
constructor(private router: RouterExtensions) {
this.router.router.events.subscribe(event => {
if (event instanceof NavigationEnd) {
const screenName = event.urlAfterRedirects.replace('/', '') || 'Home';
NSUXCam.tagScreenName(screenName);
}
});
}Occlusion Issues
Sensitive Data Visible
Solution - Occlude views:
import * as NSUXCam from 'nativescript-uxcam';
import { TextField } from '@nativescript/core';
// Get reference to sensitive field
const creditCardField = page.getViewById<TextField>('creditCard');
// Occlude it
NSUXCam.occludeSensitiveView(creditCardField);Occlude entire screen:
// When showing sensitive screen
NSUXCam.occludeSensitiveScreen(true);
// When leaving
NSUXCam.occludeSensitiveScreen(false);Platform-Specific Issues
iOS: Recording Not Starting
Solution:
// Required for iOS
NSUXCam.optIntoVideoRecordings();
NSUXCam.startWithKey('YOUR_APP_KEY');iOS: Build Fails with Pod Errors
cd platforms/ios
pod deintegrate
pod installAndroid: ProGuard Issues
Add to App_Resources/Android/proguard-rules.pro:
-keep class com.uxcam.** { *; }
-dontwarn com.uxcam.**TypeScript Type Issues
Missing Type Definitions
Solution - Add declaration file references.d.ts:
/// <reference path="./node_modules/nativescript-uxcam/index.d.ts" />Or use any type:
const NSUXCam: any = require('nativescript-uxcam');Debug Information Collection
When contacting support, include:
- Environment:
ns --version
ns doctor
node --version
npm --version- Plugin version:
npm list nativescript-uxcam- Device logs:
- Android:
adb logcat | grep UXCam - iOS: Xcode console
- Configuration:
package.json- Initialization code
Contact Support
- Email: [email protected]
- Documentation: NativeScript Integration Guide
- Changelog: Version History
Updated 21 days ago
