├── .gitignore ├── .npmignore ├── .travis.yml ├── LICENSE ├── README.md ├── beams ├── .npmignore ├── beams.android.d.ts ├── beams.android.ts ├── beams.d.ts ├── beams.ios.d.ts ├── beams.ios.ts ├── index.d.ts ├── lib │ └── after-prepare.js ├── nativescript-hook │ ├── index.js │ └── package.json ├── package.json ├── platforms │ ├── android │ │ ├── AndroidManifest.xml │ │ ├── buildscript.gradle │ │ ├── include.gradle │ │ └── java │ │ │ └── com │ │ │ └── github │ │ │ └── triniwiz │ │ │ └── pusher │ │ │ ├── BeamsPlugin.java │ │ │ └── NotificationsMessagingService.java │ └── ios │ │ └── Podfile ├── postinstall.js ├── preuninstall.js ├── references.d.ts ├── tsconfig.json └── typings │ ├── android.d.ts │ └── objc!PushNotifications.d.ts ├── channels ├── .npmignore ├── enums.ts ├── index.d.ts ├── interfaces.d.ts ├── interfaces.ts ├── package.json ├── platforms │ ├── android │ │ └── include.gradle │ └── ios │ │ └── Podfile ├── pusher.android.ts ├── pusher.common.ts ├── pusher.ios.ts ├── references.d.ts ├── tsconfig.json └── typings │ ├── android.d.ts │ └── objc!PusherSwift.d.ts ├── chatkit └── .npmignore ├── demo-ng ├── .editorconfig ├── .gitignore ├── App_Resources │ ├── Android │ │ ├── app.gradle │ │ ├── google-services.json │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ └── res │ │ │ ├── drawable-hdpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ │ ├── drawable-ldpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ │ ├── drawable-mdpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ │ ├── drawable-nodpi │ │ │ └── splash_screen.xml │ │ │ ├── drawable-xhdpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ │ ├── drawable-xxhdpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ │ ├── drawable-xxxhdpi │ │ │ ├── background.png │ │ │ ├── icon.png │ │ │ └── logo.png │ │ │ ├── values-v21 │ │ │ ├── colors.xml │ │ │ └── styles.xml │ │ │ └── values │ │ │ ├── colors.xml │ │ │ └── styles.xml │ └── iOS │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── icon-1024.png │ │ │ ├── icon-20.png │ │ │ ├── icon-20@2x.png │ │ │ ├── icon-20@3x.png │ │ │ ├── icon-29.png │ │ │ ├── icon-29@2x.png │ │ │ ├── icon-29@3x.png │ │ │ ├── icon-40.png │ │ │ ├── icon-40@2x.png │ │ │ ├── icon-40@3x.png │ │ │ ├── icon-60@2x.png │ │ │ ├── icon-60@3x.png │ │ │ ├── icon-76.png │ │ │ ├── icon-76@2x.png │ │ │ └── icon-83.5@2x.png │ │ ├── Contents.json │ │ ├── LaunchImage.launchimage │ │ │ ├── Contents.json │ │ │ ├── Default-1125h.png │ │ │ ├── Default-568h@2x.png │ │ │ ├── Default-667h@2x.png │ │ │ ├── Default-736h@3x.png │ │ │ ├── Default-Landscape-X.png │ │ │ ├── Default-Landscape-XR.png │ │ │ ├── Default-Landscape-XS-Max.png │ │ │ ├── Default-Landscape.png │ │ │ ├── Default-Landscape@2x.png │ │ │ ├── Default-Landscape@3x.png │ │ │ ├── Default-Portrait-XR.png │ │ │ ├── Default-Portrait-XS-Max.png │ │ │ ├── Default-Portrait.png │ │ │ ├── Default-Portrait@2x.png │ │ │ ├── Default.png │ │ │ └── Default@2x.png │ │ ├── LaunchScreen.AspectFill.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchScreen-AspectFill.png │ │ │ ├── LaunchScreen-AspectFill@2x.png │ │ │ └── LaunchScreen-AspectFill@3x.png │ │ └── LaunchScreen.Center.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchScreen-Center.png │ │ │ ├── LaunchScreen-Center@2x.png │ │ │ └── LaunchScreen-Center@3x.png │ │ ├── Info.plist │ │ ├── LaunchScreen.storyboard │ │ └── build.xcconfig ├── LICENSE ├── angular.json ├── nsconfig.json ├── package.json ├── src │ ├── app.css │ ├── app │ │ ├── app-routing.module.ts │ │ ├── app.component.html │ │ ├── app.component.ts │ │ ├── app.module.ts │ │ └── item │ │ │ ├── item-detail.component.html │ │ │ ├── item-detail.component.ts │ │ │ ├── item.service.ts │ │ │ ├── item.ts │ │ │ ├── items.component.html │ │ │ └── items.component.ts │ ├── main.ts │ └── package.json ├── tsconfig.json ├── tsconfig.tns.json ├── tsfmt.json └── webpack.config.js ├── demo-server └── package.json ├── demo-vue ├── .gitignore ├── README.md ├── app │ ├── App_Resources │ │ ├── Android │ │ │ ├── app.gradle │ │ │ ├── google-services.json │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── res │ │ │ │ ├── drawable-hdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-ldpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-mdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-nodpi │ │ │ │ └── splash_screen.xml │ │ │ │ ├── drawable-xhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── values-v21 │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ └── iOS │ │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ ├── Contents.json │ │ │ │ ├── icon-1024.png │ │ │ │ ├── icon-20.png │ │ │ │ ├── icon-20@2x.png │ │ │ │ ├── icon-20@3x.png │ │ │ │ ├── icon-29.png │ │ │ │ ├── icon-29@2x.png │ │ │ │ ├── icon-29@3x.png │ │ │ │ ├── icon-40.png │ │ │ │ ├── icon-40@2x.png │ │ │ │ ├── icon-40@3x.png │ │ │ │ ├── icon-60@2x.png │ │ │ │ ├── icon-60@3x.png │ │ │ │ ├── icon-76.png │ │ │ │ ├── icon-76@2x.png │ │ │ │ └── icon-83.5@2x.png │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.launchimage │ │ │ │ ├── Contents.json │ │ │ │ ├── Default-1125h.png │ │ │ │ ├── Default-568h@2x.png │ │ │ │ ├── Default-667h@2x.png │ │ │ │ ├── Default-736h@3x.png │ │ │ │ ├── Default-Landscape-X.png │ │ │ │ ├── Default-Landscape-XR.png │ │ │ │ ├── Default-Landscape-XS-Max.png │ │ │ │ ├── Default-Landscape.png │ │ │ │ ├── Default-Landscape@2x.png │ │ │ │ ├── Default-Landscape@3x.png │ │ │ │ ├── Default-Portrait-XR.png │ │ │ │ ├── Default-Portrait-XS-Max.png │ │ │ │ ├── Default-Portrait.png │ │ │ │ ├── Default-Portrait@2x.png │ │ │ │ ├── Default.png │ │ │ │ └── Default@2x.png │ │ │ ├── LaunchScreen.AspectFill.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── LaunchScreen-AspectFill.png │ │ │ │ ├── LaunchScreen-AspectFill@2x.png │ │ │ │ └── LaunchScreen-AspectFill@3x.png │ │ │ └── LaunchScreen.Center.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── LaunchScreen-Center.png │ │ │ │ ├── LaunchScreen-Center@2x.png │ │ │ │ └── LaunchScreen-Center@3x.png │ │ │ ├── Info.plist │ │ │ ├── LaunchScreen.storyboard │ │ │ ├── build.xcconfig │ │ │ └── demovue.entitlements │ ├── app.scss │ ├── assets │ │ └── images │ │ │ └── NativeScript-Vue.png │ ├── components │ │ └── App.vue │ ├── fonts │ │ └── .gitkeep │ ├── main.ts │ └── package.json ├── package.json ├── tsconfig.json ├── types │ ├── env.d.ts │ ├── references.d.ts │ └── shims.vue.d.ts └── webpack.config.js ├── demo ├── .editorconfig ├── .gitignore ├── LICENSE ├── app │ ├── App_Resources │ │ ├── Android │ │ │ ├── app.gradle │ │ │ ├── google-services.json │ │ │ └── src │ │ │ │ └── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── res │ │ │ │ ├── drawable-hdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-ldpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-mdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-nodpi │ │ │ │ └── splash_screen.xml │ │ │ │ ├── drawable-xhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ ├── background.png │ │ │ │ ├── icon.png │ │ │ │ └── logo.png │ │ │ │ ├── values-v21 │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ │ └── values │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ └── iOS │ │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ ├── Contents.json │ │ │ │ ├── icon-1024.png │ │ │ │ ├── icon-20.png │ │ │ │ ├── icon-20@2x.png │ │ │ │ ├── icon-20@3x.png │ │ │ │ ├── icon-29.png │ │ │ │ ├── icon-29@2x.png │ │ │ │ ├── icon-29@3x.png │ │ │ │ ├── icon-40.png │ │ │ │ ├── icon-40@2x.png │ │ │ │ ├── icon-40@3x.png │ │ │ │ ├── icon-60@2x.png │ │ │ │ ├── icon-60@3x.png │ │ │ │ ├── icon-76.png │ │ │ │ ├── icon-76@2x.png │ │ │ │ └── icon-83.5@2x.png │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.launchimage │ │ │ │ ├── Contents.json │ │ │ │ ├── Default-1125h.png │ │ │ │ ├── Default-568h@2x.png │ │ │ │ ├── Default-667h@2x.png │ │ │ │ ├── Default-736h@3x.png │ │ │ │ ├── Default-Landscape-X.png │ │ │ │ ├── Default-Landscape-XR.png │ │ │ │ ├── Default-Landscape-XS-Max.png │ │ │ │ ├── Default-Landscape.png │ │ │ │ ├── Default-Landscape@2x.png │ │ │ │ ├── Default-Landscape@3x.png │ │ │ │ ├── Default-Portrait-XR.png │ │ │ │ ├── Default-Portrait-XS-Max.png │ │ │ │ ├── Default-Portrait.png │ │ │ │ ├── Default-Portrait@2x.png │ │ │ │ ├── Default.png │ │ │ │ └── Default@2x.png │ │ │ ├── LaunchScreen.AspectFill.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── LaunchScreen-AspectFill.png │ │ │ │ ├── LaunchScreen-AspectFill@2x.png │ │ │ │ └── LaunchScreen-AspectFill@3x.png │ │ │ └── LaunchScreen.Center.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── LaunchScreen-Center.png │ │ │ │ ├── LaunchScreen-Center@2x.png │ │ │ │ └── LaunchScreen-Center@3x.png │ │ │ ├── GoogleService-Info.plist │ │ │ ├── Info.plist │ │ │ ├── LaunchScreen.storyboard │ │ │ ├── build.xcconfig │ │ │ └── demo.entitlements │ ├── app-root.xml │ ├── app.css │ ├── app.ts │ ├── main-page.ts │ ├── main-page.xml │ ├── main-view-model.ts │ └── package.json ├── package-lock.json ├── package.json ├── tsconfig.json ├── tsconfig.tns.json ├── tsfmt.json └── webpack.config.js ├── docs ├── Beams.md ├── Channels.md ├── Chatkit.md └── images │ ├── push-xcode-config.png │ ├── pusher-beams-logo.png │ ├── pusher-channels-logo.png │ └── pusher-logo.png └── screenshots ├── pusher_android.gif └── pusher_ios.gif /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | .idea 3 | .DS_Store 4 | *.esm.json 5 | *.js 6 | *.js.map 7 | *.log 8 | src/*.d.ts 9 | !src/index.d.ts 10 | !src/references.d.ts 11 | !src/scripts/*.js 12 | !src/typings/*.d.ts 13 | !seed-tests/*.js 14 | seed-tests/seed-copy/**/*.* 15 | seed-tests/seed-copy-new-git-repo/**/*.* 16 | !demo/karma.conf.js 17 | !demo/app/tests/*.js 18 | demo/*.d.ts 19 | !demo/references.d.ts 20 | demo/lib 21 | demo/platforms 22 | node_modules 23 | publish/src 24 | publish/package 25 | demo/report/report.html 26 | demo/report/stats.json 27 | !demo-vue/app/app.js 28 | package-lock.json 29 | !beams/postinstall.js 30 | !beams/preuninstall.js 31 | !beams/lib/after-prepare.js 32 | !beams/nativescript-hook/index.js 33 | beams/platforms/android/beams.aar 34 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | demo/ 2 | *.png 3 | *.log 4 | *.map 5 | *.ts 6 | !.d.ts 7 | .DS_Store 8 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | branches: 2 | only: 3 | - master 4 | matrix: 5 | include: 6 | - stage: "Lint" 7 | language: node_js 8 | os: linux 9 | node_js: "8" 10 | script: cd src && npm run ci.tslint 11 | - stage: "Build and Test" 12 | env: 13 | - BuildAndroid="28" 14 | language: android 15 | os: linux 16 | jdk: oraclejdk8 17 | before_install: nvm install 8 18 | script: 19 | - cd src && npm run postclone gitHubUsername=TheGitHubUser pluginName=ThePlugin initGit=y includeTypescriptDemo=y includeAngularDemo=n && npm run tsc && cd ../demo 20 | - travis_wait travis_retry tns build android 21 | - os: osx 22 | env: 23 | - BuildiOS="12.0" 24 | - Xcode="10.0" 25 | osx_image: xcode10.0 26 | language: node_js 27 | node_js: "8" 28 | jdk: oraclejdk8 29 | script: 30 | - cd src && npm run postclone gitHubUsername=TheGitHubUser pluginName=ThePlugin initGit=y includeTypescriptDemo=y includeAngularDemo=n && npm run tsc && cd ../demo 31 | - travis_wait travis_retry tns build ios 32 | - os: linux 33 | language: android 34 | env: 35 | - TestVersion="latest" 36 | jdk: oraclejdk8 37 | before_install: 38 | - nvm install 8 39 | before_script: 40 | - cd seed-tests && npm i 41 | - android list targets 42 | - echo no | android create avd --force -n test -t android-21 -b armeabi-v7a 43 | - emulator -avd test -no-audio -no-window & 44 | - android-wait-for-emulator 45 | script: 46 | - travis_wait travis_retry npm run test.android 47 | - os: osx 48 | env: 49 | - TestVersion="latest" 50 | language: node_js 51 | node_js: "8" 52 | jdk: oraclejdk8 53 | osx_image: xcode10.0 54 | before_script: 55 | - cd seed-tests && npm i 56 | script: travis_wait travis_retry npm run test.ios 57 | 58 | android: 59 | components: 60 | - tools 61 | - platform-tools 62 | - build-tools-28.0.3 63 | - android-21 64 | - android-28 65 | - extra-android-m2repository 66 | - sys-img-armeabi-v7a-android-21 67 | 68 | before_install: 69 | - sudo pip install --upgrade pip 70 | - sudo pip install six 71 | 72 | install: 73 | - echo no | npm install -g nativescript 74 | - tns usage-reporting disable 75 | - tns error-reporting disable 76 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NativeScript Pusher 2 | ![logo](docs/images/pusher-logo.png "Pusher Logo") 3 | 4 | ### Features 5 | - [Channels](docs/Channels.md) 6 | - [Beams](docs/Beams.md) 7 | - Chatkit 8 | 9 | -------------------------------------------------------------------------------- /beams/.npmignore: -------------------------------------------------------------------------------- 1 | *.map 2 | *.ts 3 | !*.d.ts 4 | tsconfig.json 5 | hooks 6 | typings 7 | -------------------------------------------------------------------------------- /beams/beams.android.d.ts: -------------------------------------------------------------------------------- 1 | export declare class TNSPusherBeams { 2 | static _interestsCallback: any; 3 | static _messageCallback: any; 4 | static start(instanceId: string): void; 5 | static addDeviceInterest(interest: string): void; 6 | static addOnInterestsChangeCallback(callback: (interests: string[]) => void): void; 7 | static addOnMessageReceivedCallback(callback: (message: any) => void): void; 8 | static addOnPushTokenReceivedCallback(callback: (token: any) => void): void; 9 | static getDeviceInterests(): any[]; 10 | static removeDeviceInterest(interest: string): void; 11 | static clearDeviceInterests(): void; 12 | static registerForPushNotifications(): Promise<{}>; 13 | static unregisterForPushNotifications(): Promise<{}>; 14 | static clearAllState(): void; 15 | } 16 | -------------------------------------------------------------------------------- /beams/beams.android.ts: -------------------------------------------------------------------------------- 1 | import * as utils from 'tns-core-modules/utils/utils'; 2 | import * as app from 'tns-core-modules/application'; 3 | 4 | declare var com; 5 | let messageHolder; 6 | app.android.on('activityNewIntent', args => { 7 | const intent = args.intent as android.content.Intent; 8 | if (intent) { 9 | const extras = intent.getExtras(); 10 | let object = {}; 11 | let fcm = {}; 12 | if (extras) { 13 | const iterator = extras.keySet().iterator(); 14 | while (iterator.hasNext()) { 15 | const key = iterator.next() as string; 16 | if (key.startsWith('google.')) { 17 | const new_key = key.replace('google.', ''); 18 | if (key === 'google.sent_time') { 19 | fcm[new_key] = extras.getLong(key); 20 | } else if (key === 'google.ttl') { 21 | fcm[new_key] = extras.getInt(key); 22 | } else { 23 | fcm[new_key] = extras.get(key); 24 | } 25 | } else { 26 | object[key] = extras.get(key); 27 | } 28 | } 29 | object['fcm'] = fcm; 30 | } 31 | const pusher = extras ? extras.get('pusher') : null; 32 | if (pusher) { 33 | let pusherVal; 34 | try { 35 | pusherVal = JSON.parse(extras.get('pusher')); 36 | } catch (e) { 37 | pusherVal = pusher; 38 | } 39 | const message = { 40 | from: extras.get('from'), 41 | title: extras.get('title'), 42 | body: extras.get('body'), 43 | pusher: pusherVal, 44 | ...object 45 | }; 46 | if (TNSPusherBeams._messageCallback) { 47 | TNSPusherBeams._messageCallback(message); 48 | } else { 49 | messageHolder = message; 50 | } 51 | } 52 | 53 | } 54 | }); 55 | 56 | app.android.on('activityResumed', args => { 57 | if (TNSPusherBeams._messageCallback && messageHolder) { 58 | TNSPusherBeams._messageCallback(messageHolder); 59 | messageHolder = null; 60 | } 61 | }); 62 | 63 | 64 | export class TNSPusherBeams { 65 | static _interestsCallback: any; 66 | static _messageCallback: any; 67 | 68 | public static start(instanceId: string) { 69 | com.pusher.pushnotifications.PushNotifications.start( 70 | utils.ad.getApplicationContext(), 71 | instanceId 72 | ); 73 | } 74 | 75 | public static addDeviceInterest(interest: string) { 76 | com.pusher.pushnotifications.PushNotifications.addDeviceInterest(interest); 77 | } 78 | 79 | public static addOnInterestsChangeCallback(callback: (interests: string[]) => void) { 80 | this._interestsCallback = callback; 81 | if (callback) { 82 | com.pusher.pushnotifications.PushNotifications.setOnDeviceInterestsChangedListener(new com.pusher.pushnotifications.SubscriptionsChangedListener({ 83 | onSubscriptionsChanged(interests: java.util.Set): void { 84 | const iterator = interests.iterator(); 85 | const items = []; 86 | while (iterator.hasNext()) { 87 | items.push(iterator.next()); 88 | } 89 | if (TNSPusherBeams._interestsCallback) { 90 | TNSPusherBeams._interestsCallback(items); 91 | } 92 | } 93 | })); 94 | } else { 95 | com.pusher.pushnotifications.PushNotifications.setOnDeviceInterestsChangedListener(null); 96 | } 97 | } 98 | 99 | public static addOnMessageReceivedCallback( 100 | callback: (message: any) => void 101 | ) { 102 | this._messageCallback = callback; 103 | com.github.triniwiz.pusher.BeamsPlugin.setOnMessageListener(new com.github.triniwiz.pusher.BeamsPlugin.Listener({ 104 | onSuccess(data) { 105 | let message; 106 | try { 107 | message = JSON.parse(data); 108 | } catch (e) { 109 | message = data; 110 | } 111 | callback(message); 112 | } 113 | })); 114 | } 115 | 116 | public static addOnPushTokenReceivedCallback(callback: (token: any) => void) { 117 | com.github.triniwiz.pusher.BeamsPlugin.setOnTokenListener(new com.github.triniwiz.pusher.BeamsPlugin.Listener({ 118 | onSuccess(data) { 119 | callback(data); 120 | } 121 | })); 122 | 123 | } 124 | 125 | public static getDeviceInterests() { 126 | const set = com.pusher.pushnotifications.PushNotifications.getDeviceInterests(); 127 | const items = []; 128 | if (set) { 129 | const iterator = set.iterator(); 130 | while (iterator.hasNext()) { 131 | items.push(iterator.next()); 132 | } 133 | } 134 | return items; 135 | } 136 | 137 | public static removeDeviceInterest(interest: string) { 138 | com.pusher.pushnotifications.PushNotifications.removeDeviceInterest(interest); 139 | } 140 | 141 | public static clearDeviceInterests() { 142 | com.pusher.pushnotifications.PushNotifications.clearDeviceInterests(); 143 | } 144 | 145 | public static registerForPushNotifications() { 146 | return new Promise((resolve, reject) => { 147 | resolve(); 148 | }); 149 | } 150 | 151 | public static unregisterForPushNotifications() { 152 | return new Promise((resolve, reject) => { 153 | resolve(); 154 | }); 155 | } 156 | 157 | public static clearAllState() { 158 | com.pusher.pushnotifications.PushNotifications.clearAllState(); 159 | } 160 | 161 | } 162 | -------------------------------------------------------------------------------- /beams/beams.d.ts: -------------------------------------------------------------------------------- 1 | export * from '.'; 2 | -------------------------------------------------------------------------------- /beams/beams.ios.d.ts: -------------------------------------------------------------------------------- 1 | export declare class TNSPusherBeams { 2 | static _interestsCallback: any; 3 | static _messageCallback: any; 4 | static _tokenCallback: any; 5 | static _cachedMessage: any; 6 | static _registerResolveCallback: any; 7 | static _registerRejectCallback: any; 8 | private static delegate; 9 | private static getMessage; 10 | static registerForPushNotifications(): Promise<{}>; 11 | static unregisterForPushNotifications(): Promise<{}>; 12 | static start(instanceId: string): void; 13 | static addDeviceInterest(interest: string): void; 14 | static addOnInterestsChangeCallback(callback: (interests: string[]) => void): void; 15 | static addOnMessageReceivedCallback(callback: (message: any) => void): void; 16 | static addOnPushTokenReceivedCallback(callback: (token: any) => void): void; 17 | static getDeviceInterests(): any; 18 | static removeDeviceInterest(interest: string): void; 19 | static clearDeviceInterests(): void; 20 | static clearAllState(): void; 21 | } 22 | -------------------------------------------------------------------------------- /beams/index.d.ts: -------------------------------------------------------------------------------- 1 | export declare class TNSPusherBeams { 2 | public static start(instanceId: string); 3 | 4 | public static addDeviceInterest(interest: string); 5 | 6 | public static addOnMessageReceivedCallback(callback: (message: any) => void); 7 | 8 | public static getDeviceInterests(): string[] 9 | 10 | public static removeDeviceInterest(interest: string); 11 | 12 | public static clearDeviceInterests(); 13 | 14 | public static registerForPushNotifications(): Promise; 15 | 16 | public static unregisterForPushNotifications(): Promise; 17 | 18 | public static addOnInterestsChangeCallback(callback: (interests: string[]) => void); 19 | 20 | } 21 | -------------------------------------------------------------------------------- /beams/lib/after-prepare.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const fs = require('fs'); 3 | 4 | module.exports = function ($logger, $projectData, $injector, hookArgs) { 5 | return new Promise((resolve, reject) => { 6 | const appDirectoryPath = ((hookArgs && hookArgs.checkForChangesOpts && hookArgs.checkForChangesOpts.projectData && hookArgs.checkForChangesOpts.projectData) || hookArgs.projectData).appDirectoryPath; 7 | if (!appDirectoryPath) { 8 | reject(new Error('Unable to get path to app directory')); 9 | } else { 10 | const platform = (((hookArgs && hookArgs.checkForChangesOpts) || hookArgs.prepareData).platform || '').toLowerCase(); 11 | if (platform === 'android') { 12 | const googleServicesPath = path.join($projectData.appResourcesDirectoryPath, 'Android', 'google-services.json'); 13 | const googleServices = fs.readFileSync(googleServicesPath); 14 | const googleServicesOutputPath = path.join($projectData.platformsDir, 'android', 'app', 'google-services.json'); 15 | fs.writeFileSync(googleServicesOutputPath, googleServices); 16 | } else if (platform === 'ios') { 17 | //noop 18 | } 19 | 20 | resolve(); 21 | } 22 | }); 23 | }; 24 | -------------------------------------------------------------------------------- /beams/nativescript-hook/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function (__dirname) { 2 | return { 3 | findProjectDir: function () { 4 | return findProjectDir(__dirname); 5 | }, 6 | postinstall: function () { 7 | return postinstall(__dirname); 8 | }, 9 | preuninstall: function () { 10 | return preuninstall(__dirname); 11 | } 12 | }; 13 | }; 14 | 15 | var fs = require('fs'); 16 | var os = require('os'); 17 | var path = require('path'); 18 | var util = require('util'); 19 | var mkdirp = require('mkdirp'); 20 | var glob = require('glob'); 21 | 22 | function transformScopedName(name) { 23 | return name.replace(/^@(.*)\/(.*)/, "$1-$2"); 24 | } 25 | 26 | function generateHookName(pkg, hook) { 27 | return transformScopedName(pkg.name) + '.js'; 28 | } 29 | 30 | function findProjectDir(pkgdir) { 31 | if (process.env.INIT_CWD && _isNativeScriptAppRoot(process.env.INIT_CWD)) { 32 | return process.env.INIT_CWD; 33 | } 34 | 35 | var candidateDir = pkgdir; 36 | var oldCandidateDir = null; 37 | 38 | while (true) { 39 | candidateDir = path.dirname(candidateDir); 40 | if (oldCandidateDir === candidateDir) { 41 | return; 42 | } 43 | 44 | if (path.basename(candidateDir) === 'node_modules') { 45 | continue; 46 | } 47 | 48 | if (_isNativeScriptAppRoot(candidateDir)) { 49 | return candidateDir; 50 | } 51 | 52 | oldCandidateDir = candidateDir; 53 | } 54 | } 55 | 56 | function _isNativeScriptAppRoot(dir) { 57 | var isNativeScriptAppRoot = false; 58 | var packageJsonFile = path.join(dir, 'package.json'); 59 | if (fs.existsSync(packageJsonFile)) { 60 | var packageJsonContent = require(packageJsonFile); 61 | isNativeScriptAppRoot = !!packageJsonContent.nativescript && !!packageJsonContent.nativescript.id; 62 | } 63 | 64 | return isNativeScriptAppRoot; 65 | } 66 | 67 | function forEachHook(pkgdir, callback) { 68 | var pkg = require(path.join(pkgdir, 'package.json')); 69 | var ns = pkg.nativescript; 70 | if (!ns) { 71 | throw Error('Not a NativeScript development module.'); 72 | } 73 | 74 | var projectDir = findProjectDir(pkgdir); 75 | if (!projectDir) { 76 | return; 77 | } 78 | var hooksDir = path.join(projectDir, 'hooks'); 79 | 80 | if (ns.hooks) { 81 | ns.hooks.forEach(function (hook) { 82 | callback(hooksDir, pkg, hook); 83 | }); 84 | } 85 | } 86 | 87 | function hookInstalled(hookDir, pkg, hook) { 88 | var hookBaseName = pkg.name; 89 | var hookGlob = path.join(hookDir, "*" + hookBaseName + "*"); 90 | var files = glob.sync(hookGlob); 91 | return files.length > 0; 92 | } 93 | 94 | function postinstall(pkgdir) { 95 | forEachHook(pkgdir, function (hooksDir, pkg, hook) { 96 | var hookDir = path.join(hooksDir, hook.type); 97 | if (!fs.existsSync(hookDir)) { 98 | mkdirp.sync(hookDir); 99 | } 100 | if (hookInstalled(hookDir, pkg, hook)) { 101 | console.log('Hook already installed: ' + pkg.name); 102 | return; 103 | } 104 | var hookFileName = generateHookName(pkg, hook); 105 | var hookPath = path.join(hookDir, hookFileName); 106 | 107 | var trampoline = util.format('%srequire("%s/%s");', hook.inject ? 'module.exports = ' : '', pkg.name, hook.script); 108 | 109 | fs.writeFileSync(hookPath, trampoline + os.EOL); 110 | }); 111 | } 112 | 113 | function preuninstall(pkgdir) { 114 | forEachHook(pkgdir, function (hooksDir, pkg, hook) { 115 | var hookDir = path.join(hooksDir, hook.type); 116 | var hookFileName = generateHookName(pkg, hook); 117 | var hookPath = path.join(hookDir, hookFileName); 118 | 119 | try { 120 | if (fs.existsSync(hookPath)) { 121 | fs.unlinkSync(hookPath); 122 | } 123 | } catch (err) { 124 | console.warn('nativescript-hook: ' + err.toString()); 125 | } 126 | }); 127 | } 128 | -------------------------------------------------------------------------------- /beams/nativescript-hook/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "index", 3 | "name": "nativescript-hook" 4 | } 5 | -------------------------------------------------------------------------------- /beams/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@nativescript-pusher/beams", 3 | "version": "2.0.1", 4 | "description": "Pusher Beams client for NativeScript", 5 | "main": "beams", 6 | "typings": "index.d.ts", 7 | "nativescript": { 8 | "platforms": { 9 | "android": "6.0.0", 10 | "ios": "6.0.0" 11 | }, 12 | "hooks": [ 13 | { 14 | "type": "after-prepare", 15 | "script": "lib/after-prepare.js", 16 | "inject": true 17 | } 18 | ] 19 | }, 20 | "scripts": { 21 | "tsc": "npm i && tsc", 22 | "build": "npm run tsc", 23 | "build.native": "node scripts/build-native.js", 24 | "postclone": "npm i && node scripts/postclone.js", 25 | "tslint": "cd .. && tslint \"**/*.ts\" --config tslint.json --exclude \"**/node_modules/**\"", 26 | "plugin.tscwatch": "npm run tsc -- -w", 27 | "ci.tslint": "npm i && tslint '**/*.ts' --config '../tslint.json' --exclude '**/node_modules/**' --exclude '**/platforms/**'", 28 | "clean": "rimraf node_modules package-lock.json", 29 | "postinstall": "node postinstall.js", 30 | "preuninstall": "node preuninstall.js" 31 | }, 32 | "keywords": [ 33 | "NativeScript", 34 | "JavaScript", 35 | "Android", 36 | "iOS" 37 | ], 38 | "author": { 39 | "name": "Osei Fortune", 40 | "email": "fortune.osei@yahoo.com" 41 | }, 42 | "bugs": { 43 | "url": "https://github.com/triniwiz/nativescript-pusher/issues" 44 | }, 45 | "license": "Apache-2.0", 46 | "homepage": "https://github.com/triniwiz/nativescript-pusher", 47 | "readmeFilename": "README.md", 48 | "devDependencies": { 49 | "tns-core-modules": "^5.0.0", 50 | "tns-platform-declarations": "^5.0.0", 51 | "typescript": "~3.3.3", 52 | "prompt": "^1.0.0", 53 | "rimraf": "^2.6.3", 54 | "tslint": "^5.12.1", 55 | "semver": "^5.6.0" 56 | }, 57 | "dependencies": { 58 | "nativescript-hook": "^0.2.5" 59 | }, 60 | "bootstrapper": "nativescript-plugin-seed" 61 | } 62 | -------------------------------------------------------------------------------- /beams/platforms/android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /beams/platforms/android/buildscript.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | google() 3 | jcenter() 4 | } 5 | dependencies { 6 | classpath 'com.google.gms:google-services:4.2.0' 7 | } 8 | -------------------------------------------------------------------------------- /beams/platforms/android/include.gradle: -------------------------------------------------------------------------------- 1 | repositories { 2 | google() 3 | jcenter() 4 | } 5 | 6 | dependencies { 7 | implementation 'com.google.firebase:firebase-core:16.0.9' 8 | implementation 'com.google.firebase:firebase-messaging:18.0.0' 9 | implementation 'com.pusher:push-notifications-android:1.4.3' 10 | } 11 | 12 | apply plugin: 'com.google.gms.google-services' 13 | -------------------------------------------------------------------------------- /beams/platforms/android/java/com/github/triniwiz/pusher/BeamsPlugin.java: -------------------------------------------------------------------------------- 1 | package com.github.triniwiz.pusher; 2 | 3 | public class BeamsPlugin { 4 | static Listener onMessageListener = null; 5 | static Listener onTokenListener = null; 6 | 7 | public interface Listener { 8 | public void onSuccess(String data); 9 | } 10 | 11 | public static void setOnMessageListener(Listener listener){ 12 | BeamsPlugin.onMessageListener = listener; 13 | } 14 | 15 | public static void setOnTokenListener(Listener listener){ 16 | BeamsPlugin.onTokenListener = listener; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /beams/platforms/android/java/com/github/triniwiz/pusher/NotificationsMessagingService.java: -------------------------------------------------------------------------------- 1 | package com.github.triniwiz.pusher; 2 | 3 | import java.util.Map; 4 | 5 | import com.google.firebase.messaging.RemoteMessage; 6 | import com.google.firebase.messaging.RemoteMessage.Notification; 7 | import com.pusher.pushnotifications.fcm.MessagingService; 8 | 9 | import org.json.JSONException; 10 | import org.json.JSONObject; 11 | public class NotificationsMessagingService extends MessagingService { 12 | @Override 13 | public void onMessageReceived(RemoteMessage remoteMessage) { 14 | JSONObject message = new JSONObject(); 15 | try { 16 | message.put("from", remoteMessage.getFrom()); 17 | Notification notification = remoteMessage.getNotification(); 18 | if(notification != null){ 19 | message.put("title", notification.getTitle()); 20 | message.put("body", notification.getBody()); 21 | } 22 | 23 | 24 | String delivered_priority = "unknown"; 25 | int priority = remoteMessage.getPriority(); 26 | switch (priority) { 27 | case 1: 28 | delivered_priority = "high"; 29 | break; 30 | case 2: 31 | delivered_priority = "normal"; 32 | break; 33 | default: 34 | delivered_priority = "unknown"; 35 | } 36 | 37 | 38 | String original_priority = "unknown"; 39 | int o_priority = remoteMessage.getOriginalPriority(); 40 | switch (o_priority) { 41 | case 1: 42 | original_priority = "high"; 43 | break; 44 | case 2: 45 | original_priority = "normal"; 46 | break; 47 | default: 48 | original_priority = "unknown"; 49 | } 50 | 51 | 52 | message.put("collapse_key" ,remoteMessage.getCollapseKey()); 53 | JSONObject fcm = new JSONObject(); 54 | fcm.put("delivered_priority",delivered_priority); 55 | fcm.put("original_priority",original_priority); 56 | fcm.put("message_id",remoteMessage.getMessageId()); 57 | fcm.put("sent_time", remoteMessage.getSentTime()); 58 | fcm.put("ttl", remoteMessage.getTtl()); 59 | message.put("fcm", fcm); 60 | } catch (JSONException e) { 61 | e.printStackTrace(); 62 | } 63 | 64 | 65 | Map data = remoteMessage.getData(); 66 | for(String key: data.keySet()){ 67 | if(key.equals("pusher")){ 68 | try { 69 | message.put("pusher", new JSONObject(data.get(key))); 70 | } catch (Exception e) { 71 | try { 72 | message.put("pusher", data.get(key)); 73 | } catch (JSONException ex) { 74 | ex.printStackTrace(); 75 | } 76 | } 77 | 78 | }else { 79 | try { 80 | message.put(key, data.get(key)); 81 | } catch (JSONException e) { 82 | e.printStackTrace(); 83 | } 84 | } 85 | } 86 | 87 | 88 | if(BeamsPlugin.onMessageListener != null){ 89 | BeamsPlugin.onMessageListener.onSuccess(message.toString()); 90 | } 91 | } 92 | 93 | @Override 94 | public void onNewToken(String token){ 95 | if(BeamsPlugin.onTokenListener != null){ 96 | BeamsPlugin.onTokenListener.onSuccess(token); 97 | } 98 | } 99 | } 100 | -------------------------------------------------------------------------------- /beams/platforms/ios/Podfile: -------------------------------------------------------------------------------- 1 | platform :ios, '10.0' 2 | use_frameworks! 3 | 4 | pod 'PushNotifications', :git => 'https://github.com/triniwiz/push-notifications-swift' 5 | -------------------------------------------------------------------------------- /beams/postinstall.js: -------------------------------------------------------------------------------- 1 | var hook = require('./nativescript-hook')(__dirname); 2 | hook.postinstall(); 3 | -------------------------------------------------------------------------------- /beams/preuninstall.js: -------------------------------------------------------------------------------- 1 | var hook = require('./nativescript-hook')(__dirname); 2 | hook.preuninstall(); 3 | -------------------------------------------------------------------------------- /beams/references.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | -------------------------------------------------------------------------------- /beams/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "declaration": true, 6 | "removeComments": true, 7 | "noLib": false, 8 | "emitDecoratorMetadata": true, 9 | "experimentalDecorators": true, 10 | "skipLibCheck": true, 11 | "lib": ["es6", "dom"], 12 | "sourceMap": true, 13 | "pretty": true, 14 | "allowUnreachableCode": false, 15 | "allowUnusedLabels": false, 16 | "noEmitHelpers": true, 17 | "noEmitOnError": false, 18 | "noImplicitAny": false, 19 | "noImplicitReturns": true, 20 | "noImplicitUseStrict": false, 21 | "noFallthroughCasesInSwitch": true 22 | }, 23 | "exclude": [ 24 | "node_modules", 25 | "typings" 26 | ], 27 | "compileOnSave": false 28 | } 29 | -------------------------------------------------------------------------------- /beams/typings/objc!PushNotifications.d.ts: -------------------------------------------------------------------------------- 1 | 2 | declare class AuthData extends NSObject { 3 | 4 | static alloc(): AuthData; // inherited from NSObject 5 | 6 | static new(): AuthData; // inherited from NSObject 7 | 8 | constructor(o: { headers: NSDictionary; queryParams: NSDictionary; }); 9 | 10 | initWithHeadersQueryParams(headers: NSDictionary, queryParams: NSDictionary): this; 11 | } 12 | 13 | declare class BeamsTokenProvider extends NSObject implements TokenProvider { 14 | 15 | static alloc(): BeamsTokenProvider; // inherited from NSObject 16 | 17 | static new(): BeamsTokenProvider; // inherited from NSObject 18 | 19 | constructor(o: { authURL: string; getAuthData: () => AuthData; }); 20 | 21 | fetchTokenWithUserIdErrorCompletionHandler(userId: string, error: interop.Pointer | interop.Reference, completion: (p1: string, p2: NSError) => void): boolean; 22 | 23 | initWithAuthURLGetAuthData(authURL: string, getAuthData: () => AuthData): this; 24 | } 25 | 26 | interface InterestsChangedDelegate { 27 | 28 | interestsSetOnDeviceDidChangeWithInterests(interests: NSArray | string[]): void; 29 | } 30 | declare var InterestsChangedDelegate: { 31 | 32 | prototype: InterestsChangedDelegate; 33 | }; 34 | 35 | declare class PushNotifications extends NSObject { 36 | 37 | static alloc(): PushNotifications; // inherited from NSObject 38 | 39 | static new(): PushNotifications; // inherited from NSObject 40 | 41 | static readonly shared: PushNotifications; 42 | 43 | addDeviceInterestWithInterestError(interest: string): boolean; 44 | 45 | clearAllStateWithCompletion(completion: () => void): void; 46 | 47 | clearDeviceInterestsAndReturnError(): boolean; 48 | 49 | getDeviceInterests(): NSArray; 50 | 51 | handleNotificationWithUserInfo(userInfo: NSDictionary): RemoteNotificationType; 52 | 53 | registerDeviceToken(deviceToken: NSData): void; 54 | 55 | registerForRemoteNotifications(): void; 56 | 57 | registerForRemoteNotificationsWithOptions(options: UNAuthorizationOptions): void; 58 | 59 | removeDeviceInterestWithInterestError(interest: string): boolean; 60 | 61 | setDeviceInterestsWithInterestsError(interests: NSArray | string[]): boolean; 62 | 63 | setUserIdTokenProviderCompletion(userId: string, tokenProvider: TokenProvider, completion: (p1: NSError) => void): void; 64 | 65 | startWithInstanceId(instanceId: string): void; 66 | 67 | stopWithCompletion(completion: () => void): void; 68 | } 69 | 70 | declare var PushNotificationsVersionNumber: number; 71 | 72 | declare var PushNotificationsVersionString: interop.Reference; 73 | 74 | declare const enum RemoteNotificationType { 75 | 76 | ShouldIgnore = 0, 77 | 78 | ShouldProcess = 1 79 | } 80 | 81 | interface TokenProvider { 82 | 83 | fetchTokenWithUserIdErrorCompletionHandler(userId: string, error: interop.Pointer | interop.Reference, completion: (p1: string, p2: NSError) => void): boolean; 84 | } 85 | declare var TokenProvider: { 86 | 87 | prototype: TokenProvider; 88 | }; 89 | -------------------------------------------------------------------------------- /channels/.npmignore: -------------------------------------------------------------------------------- 1 | *.map 2 | *.ts 3 | !*.d.ts 4 | tsconfig.json 5 | hooks 6 | typings 7 | -------------------------------------------------------------------------------- /channels/enums.ts: -------------------------------------------------------------------------------- 1 | export enum ConnectionStatus { 2 | INITIALIZED = 'initialized', 3 | CONNECTING = 'connecting', 4 | CONNECTED = 'connected', 5 | DISCONNECTING = 'disconnecting', 6 | DISCONNECTED = 'disconnected', 7 | RECONNECTING = 'reconnecting' 8 | } 9 | -------------------------------------------------------------------------------- /channels/index.d.ts: -------------------------------------------------------------------------------- 1 | import { TNSPusherBase, TNSPusherChannelBase, TNSPusherConnectionBase } from './pusher.common'; 2 | 3 | export interface ChannelEventMap { 4 | binding: any; 5 | callback: Function; 6 | } 7 | 8 | export interface Options { 9 | activityTimeout?: number; 10 | authorizer?: string; 11 | cluster?: string; 12 | encrypted?: boolean; 13 | host?: string; 14 | pongTimeout?: string; 15 | wsPort?: number; 16 | wssPort?: number; 17 | autoReconnect?: boolean; 18 | authEndpoint?: string; 19 | } 20 | 21 | export enum ConnectionStatus { 22 | CONNECTING = 'connecting', 23 | CONNECTED = 'connected', 24 | DISCONNECTING = 'disconnecting', 25 | DISCONNECTED = 'disconnected', 26 | RECONNECTING = 'reconnecting' 27 | } 28 | 29 | export interface ConnectionStatusEvent { 30 | current: ConnectionStatus; 31 | previous: ConnectionStatus; 32 | } 33 | 34 | export declare class TNSPusher extends TNSPusherBase { 35 | /** 36 | * Native ios (instance)[https://github.com/pusher/pusher-websocket-swift] 37 | */ 38 | ios: any; 39 | /** 40 | * Native android (instance)[https://github.com/pusher/pusher-websocket-java] 41 | */ 42 | android: any; 43 | 44 | constructor(apiKey: string, options?: Options); 45 | 46 | connection: TNSPusherConnectionBase; 47 | 48 | connect(): void; 49 | 50 | disconnect(): void; 51 | 52 | subscribe(channelName: string): TNSPusherChannelBase; 53 | 54 | unsubscribe(channelName: string): void; 55 | 56 | unsubscribeAll(): void; 57 | 58 | bind(callback: Function): void; 59 | 60 | unbind(callback: Function): void; 61 | } 62 | -------------------------------------------------------------------------------- /channels/interfaces.d.ts: -------------------------------------------------------------------------------- 1 | import { ConnectionStatus } from './enums'; 2 | export interface ChannelEventMap { 3 | binding: any; 4 | callback: Function; 5 | } 6 | export interface Options { 7 | activityTimeout?: number; 8 | cluster?: string; 9 | encrypted?: boolean; 10 | host?: string; 11 | pongTimeout?: number; 12 | port?: number; 13 | autoReconnect?: boolean; 14 | authEndpoint?: string; 15 | authorizer?: (channel: any, options: any) => { 16 | authorize: (socketId: any, callback: any) => void; 17 | }; 18 | wsPort?: number; 19 | wssPort?: number; 20 | auth?: { 21 | headers?: Object; 22 | params?: Object; 23 | }; 24 | } 25 | export interface ConnectionStatusEvent { 26 | current: ConnectionStatus; 27 | previous: ConnectionStatus; 28 | } 29 | -------------------------------------------------------------------------------- /channels/interfaces.ts: -------------------------------------------------------------------------------- 1 | import { ConnectionStatus } from './enums'; 2 | 3 | export interface ChannelEventMap { 4 | binding: any; 5 | callback: Function; 6 | } 7 | 8 | export interface Options { 9 | activityTimeout?: number; 10 | cluster?: string; 11 | encrypted?: boolean; 12 | host?: string; 13 | pongTimeout?: number; 14 | port?: number; 15 | autoReconnect?: boolean; 16 | authEndpoint?: string; 17 | authorizer?: (channel, options) => { authorize: (socketId, callback) => void }; 18 | wsPort?: number; 19 | wssPort?: number; 20 | auth?: { headers?: Object, params?: Object } 21 | } 22 | 23 | export interface ConnectionStatusEvent { 24 | current: ConnectionStatus; 25 | previous: ConnectionStatus; 26 | } 27 | -------------------------------------------------------------------------------- /channels/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@nativescript-pusher/channels", 3 | "version": "2.0.0-alpha.2", 4 | "description": "Pusher Channels client for NativeScript", 5 | "main": "pusher", 6 | "typings": "index.d.ts", 7 | "nativescript": { 8 | "platforms": { 9 | "android": "3.0.0", 10 | "ios": "3.0.0" 11 | } 12 | }, 13 | "scripts": { 14 | "tsc": "npm i && tsc", 15 | "build": "npm run tsc", 16 | "build.native": "node scripts/build-native.js", 17 | "postclone": "npm i && node scripts/postclone.js", 18 | "tslint": "cd .. && tslint \"**/*.ts\" --config tslint.json --exclude \"**/node_modules/**\"", 19 | "plugin.tscwatch": "npm run tsc -- -w", 20 | "ci.tslint": "npm i && tslint '**/*.ts' --config '../tslint.json' --exclude '**/node_modules/**' --exclude '**/platforms/**'", 21 | "clean": "rimraf node_modules package-lock.json" 22 | }, 23 | "keywords": [ 24 | "NativeScript", 25 | "JavaScript", 26 | "Android", 27 | "iOS" 28 | ], 29 | "author": { 30 | "name": "Osei Fortune", 31 | "email": "fortune.osei@yahoo.com" 32 | }, 33 | "contributors": [ 34 | { 35 | "name": "Nathan Walker", 36 | "url": "https://github.com/NathanWalker" 37 | } 38 | ], 39 | "bugs": { 40 | "url": "https://github.com/triniwiz/nativescript-pusher/issues" 41 | }, 42 | "license": "Apache-2.0", 43 | "homepage": "https://github.com/triniwiz/nativescript-pusher", 44 | "readmeFilename": "README.md", 45 | "devDependencies": { 46 | "tns-core-modules": "^5.0.0", 47 | "tns-platform-declarations": "^5.0.0", 48 | "typescript": "~3.3.3", 49 | "prompt": "^1.0.0", 50 | "rimraf": "^2.6.3", 51 | "tslint": "^5.12.1", 52 | "semver": "^5.6.0" 53 | }, 54 | "dependencies": {}, 55 | "bootstrapper": "nativescript-plugin-seed" 56 | } 57 | -------------------------------------------------------------------------------- /channels/platforms/android/include.gradle: -------------------------------------------------------------------------------- 1 | dependencies { 2 | implementation 'com.pusher:pusher-java-client:2.0.1' 3 | } 4 | -------------------------------------------------------------------------------- /channels/platforms/ios/Podfile: -------------------------------------------------------------------------------- 1 | pod 'PusherSwift', :git => 'https://github.com/triniwiz/pusher-websocket-swift.git' 2 | -------------------------------------------------------------------------------- /channels/pusher.common.ts: -------------------------------------------------------------------------------- 1 | import { ChannelEventMap } from './interfaces'; 2 | import { ConnectionStatus } from './enums'; 3 | 4 | export * from './interfaces'; 5 | export * from './enums'; 6 | 7 | export enum InternalPusherEvents { 8 | Error = 'pusher:error', 9 | Ping = 'pusher:ping', 10 | Pong = 'pusher:pong' 11 | } 12 | 13 | export abstract class TNSPusherBase { 14 | /** 15 | * Native android pusher instance. 16 | */ 17 | android: any; 18 | /** 19 | * Native ios pusher instance. 20 | */ 21 | ios: any; 22 | 23 | abstract connect(): void; 24 | 25 | abstract disconnect(): void; 26 | 27 | abstract subscribe( 28 | channelName: string 29 | ): TNSPusherChannelBase; 30 | 31 | abstract unsubscribe(channelName: string): void; 32 | 33 | abstract bind(callback: Function): this; 34 | 35 | abstract unbind(callback: Function): void; 36 | 37 | abstract unsubscribeAll(): void; 38 | } 39 | 40 | export abstract class TNSPusherConnectionBase { 41 | abstract bind(event: string, callback: Function); 42 | 43 | get state() { 44 | return ConnectionStatus.INITIALIZED; 45 | } 46 | } 47 | 48 | 49 | export abstract class TNSPusherChannelBase { 50 | abstract bind(event: string, callback: Function); 51 | 52 | abstract unbind(event: string, callback?: Function); 53 | 54 | abstract trigger(event: string, data: Object); 55 | } 56 | -------------------------------------------------------------------------------- /channels/references.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | /// 5 | /// 6 | -------------------------------------------------------------------------------- /channels/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "commonjs", 5 | "declaration": true, 6 | "removeComments": true, 7 | "noLib": false, 8 | "emitDecoratorMetadata": true, 9 | "experimentalDecorators": true, 10 | "skipLibCheck": true, 11 | "lib": ["es6", "dom"], 12 | "sourceMap": true, 13 | "pretty": true, 14 | "allowUnreachableCode": false, 15 | "allowUnusedLabels": false, 16 | "noEmitHelpers": true, 17 | "noEmitOnError": false, 18 | "noImplicitAny": false, 19 | "noImplicitReturns": true, 20 | "noImplicitUseStrict": false, 21 | "noFallthroughCasesInSwitch": true 22 | }, 23 | "include": [ 24 | "**/*.ts", 25 | "!*.d.ts", 26 | "../demo/node_modules/tns-core-modules/tns-core-modules.d.ts" 27 | ], 28 | "exclude": [ 29 | "node_modules", 30 | "typings" 31 | ], 32 | "compileOnSave": false 33 | } 34 | -------------------------------------------------------------------------------- /chatkit/.npmignore: -------------------------------------------------------------------------------- 1 | *.map 2 | *.ts 3 | !*.d.ts 4 | tsconfig.json 5 | hooks 6 | typings 7 | -------------------------------------------------------------------------------- /demo-ng/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf 5 | insert_final_newline = true 6 | trim_trailing_whitespace = true 7 | charset = utf-8 8 | 9 | [*.json] 10 | indent_style = space 11 | indent_size = 2 12 | 13 | [*.ts] 14 | indent_style = space 15 | indent_size = 4 16 | -------------------------------------------------------------------------------- /demo-ng/.gitignore: -------------------------------------------------------------------------------- 1 | # NativeScript 2 | hooks/ 3 | node_modules/ 4 | platforms/ 5 | 6 | # NativeScript Template 7 | *.js.map 8 | *.js 9 | !webpack.config.js 10 | 11 | # Logs 12 | logs 13 | *.log 14 | npm-debug.log* 15 | yarn-debug.log* 16 | yarn-error.log* 17 | 18 | # General 19 | .DS_Store 20 | .AppleDouble 21 | .LSOverride 22 | .idea 23 | .cloud 24 | .project 25 | tmp/ 26 | typings/ 27 | 28 | # Visual Studio Code 29 | .vscode/* 30 | !.vscode/settings.json 31 | !.vscode/tasks.json 32 | !.vscode/launch.json 33 | !.vscode/extensions.json 34 | -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/app.gradle: -------------------------------------------------------------------------------- 1 | // Add your native dependencies here: 2 | 3 | // Uncomment to add recyclerview-v7 dependency 4 | //dependencies { 5 | // implementation 'com.android.support:recyclerview-v7:+' 6 | //} 7 | 8 | // If you want to add something to be applied before applying plugins' include.gradle files 9 | // e.g. project.ext.googlePlayServicesVersion = "15.0.1" 10 | // create a file named before-plugins.gradle in the current directory and place it there 11 | 12 | android { 13 | defaultConfig { 14 | minSdkVersion 17 15 | generatedDensities = [] 16 | } 17 | aaptOptions { 18 | additionalParameters "--no-version-vectors" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/google-services.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "550232807871", 4 | "firebase_url": "https://nativescript-pusher.firebaseio.com", 5 | "project_id": "nativescript-pusher", 6 | "storage_bucket": "nativescript-pusher.appspot.com" 7 | }, 8 | "client": [ 9 | { 10 | "client_info": { 11 | "mobilesdk_app_id": "1:550232807871:android:13fb3f1243f6eba776690a", 12 | "android_client_info": { 13 | "package_name": "com.triniwiz.ns_pusher" 14 | } 15 | }, 16 | "oauth_client": [ 17 | { 18 | "client_id": "550232807871-g9kfhnq4gf4ds8giduet1jft4dhlktbh.apps.googleusercontent.com", 19 | "client_type": 3 20 | } 21 | ], 22 | "api_key": [ 23 | { 24 | "current_key": "AIzaSyCy4IpjyO6e9Z6VQmco62llNVMeBo5GFbI" 25 | } 26 | ], 27 | "services": { 28 | "appinvite_service": { 29 | "other_platform_oauth_client": [ 30 | { 31 | "client_id": "550232807871-g9kfhnq4gf4ds8giduet1jft4dhlktbh.apps.googleusercontent.com", 32 | "client_type": 3 33 | } 34 | ] 35 | } 36 | } 37 | } 38 | ], 39 | "configuration_version": "1" 40 | } -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 14 | 15 | 16 | 17 | 23 | 24 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/background.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-hdpi/logo.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/background.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/icon.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-ldpi/logo.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/background.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-mdpi/logo.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/background.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/values-v21/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3d5afe 4 | -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 11 | 14 | 15 | 16 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #F5F5F5 4 | #757575 5 | #33B5E5 6 | #272734 7 | -------------------------------------------------------------------------------- /demo-ng/App_Resources/Android/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 18 | 19 | 21 | 22 | 23 | 31 | 32 | 34 | 35 | 36 | 42 | 43 | 45 | 46 | -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "icon-20@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "icon-20@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "icon-29.png", 19 | "scale" : "1x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "icon-29@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "29x29", 29 | "idiom" : "iphone", 30 | "filename" : "icon-29@3x.png", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "icon-40@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "40x40", 41 | "idiom" : "iphone", 42 | "filename" : "icon-40@3x.png", 43 | "scale" : "3x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "icon-60@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "60x60", 53 | "idiom" : "iphone", 54 | "filename" : "icon-60@3x.png", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "size" : "20x20", 59 | "idiom" : "ipad", 60 | "filename" : "icon-20.png", 61 | "scale" : "1x" 62 | }, 63 | { 64 | "size" : "20x20", 65 | "idiom" : "ipad", 66 | "filename" : "icon-20@2x.png", 67 | "scale" : "2x" 68 | }, 69 | { 70 | "size" : "29x29", 71 | "idiom" : "ipad", 72 | "filename" : "icon-29.png", 73 | "scale" : "1x" 74 | }, 75 | { 76 | "size" : "29x29", 77 | "idiom" : "ipad", 78 | "filename" : "icon-29@2x.png", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "size" : "40x40", 83 | "idiom" : "ipad", 84 | "filename" : "icon-40.png", 85 | "scale" : "1x" 86 | }, 87 | { 88 | "size" : "40x40", 89 | "idiom" : "ipad", 90 | "filename" : "icon-40@2x.png", 91 | "scale" : "2x" 92 | }, 93 | { 94 | "size" : "76x76", 95 | "idiom" : "ipad", 96 | "filename" : "icon-76.png", 97 | "scale" : "1x" 98 | }, 99 | { 100 | "size" : "76x76", 101 | "idiom" : "ipad", 102 | "filename" : "icon-76@2x.png", 103 | "scale" : "2x" 104 | }, 105 | { 106 | "size" : "83.5x83.5", 107 | "idiom" : "ipad", 108 | "filename" : "icon-83.5@2x.png", 109 | "scale" : "2x" 110 | }, 111 | { 112 | "size" : "1024x1024", 113 | "idiom" : "ios-marketing", 114 | "filename" : "icon-1024.png", 115 | "scale" : "1x" 116 | } 117 | ], 118 | "info" : { 119 | "version" : 1, 120 | "author" : "xcode" 121 | } 122 | } -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "extent" : "full-screen", 5 | "idiom" : "iphone", 6 | "subtype" : "2688h", 7 | "filename" : "Default-Portrait-XS-Max.png", 8 | "minimum-system-version" : "12.0", 9 | "orientation" : "portrait", 10 | "scale" : "3x" 11 | }, 12 | { 13 | "extent" : "full-screen", 14 | "idiom" : "iphone", 15 | "subtype" : "2688h", 16 | "filename" : "Default-Landscape-XS-Max.png", 17 | "minimum-system-version" : "12.0", 18 | "orientation" : "landscape", 19 | "scale" : "3x" 20 | }, 21 | { 22 | "extent" : "full-screen", 23 | "idiom" : "iphone", 24 | "subtype" : "1792h", 25 | "filename" : "Default-Portrait-XR.png", 26 | "minimum-system-version" : "12.0", 27 | "orientation" : "portrait", 28 | "scale" : "2x" 29 | }, 30 | { 31 | "extent" : "full-screen", 32 | "idiom" : "iphone", 33 | "subtype" : "1792h", 34 | "filename" : "Default-Landscape-XR.png", 35 | "minimum-system-version" : "12.0", 36 | "orientation" : "landscape", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "extent" : "full-screen", 41 | "idiom" : "iphone", 42 | "subtype" : "2436h", 43 | "filename" : "Default-1125h.png", 44 | "minimum-system-version" : "11.0", 45 | "orientation" : "portrait", 46 | "scale" : "3x" 47 | }, 48 | { 49 | "extent" : "full-screen", 50 | "idiom" : "iphone", 51 | "subtype" : "2436h", 52 | "filename" : "Default-Landscape-X.png", 53 | "minimum-system-version" : "11.0", 54 | "orientation" : "landscape", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "extent" : "full-screen", 59 | "idiom" : "iphone", 60 | "subtype" : "736h", 61 | "filename" : "Default-736h@3x.png", 62 | "minimum-system-version" : "8.0", 63 | "orientation" : "portrait", 64 | "scale" : "3x" 65 | }, 66 | { 67 | "extent" : "full-screen", 68 | "idiom" : "iphone", 69 | "subtype" : "736h", 70 | "filename" : "Default-Landscape@3x.png", 71 | "minimum-system-version" : "8.0", 72 | "orientation" : "landscape", 73 | "scale" : "3x" 74 | }, 75 | { 76 | "extent" : "full-screen", 77 | "idiom" : "iphone", 78 | "subtype" : "667h", 79 | "filename" : "Default-667h@2x.png", 80 | "minimum-system-version" : "8.0", 81 | "orientation" : "portrait", 82 | "scale" : "2x" 83 | }, 84 | { 85 | "orientation" : "portrait", 86 | "idiom" : "iphone", 87 | "filename" : "Default@2x.png", 88 | "extent" : "full-screen", 89 | "minimum-system-version" : "7.0", 90 | "scale" : "2x" 91 | }, 92 | { 93 | "extent" : "full-screen", 94 | "idiom" : "iphone", 95 | "subtype" : "retina4", 96 | "filename" : "Default-568h@2x.png", 97 | "minimum-system-version" : "7.0", 98 | "orientation" : "portrait", 99 | "scale" : "2x" 100 | }, 101 | { 102 | "orientation" : "portrait", 103 | "idiom" : "ipad", 104 | "filename" : "Default-Portrait.png", 105 | "extent" : "full-screen", 106 | "minimum-system-version" : "7.0", 107 | "scale" : "1x" 108 | }, 109 | { 110 | "orientation" : "landscape", 111 | "idiom" : "ipad", 112 | "filename" : "Default-Landscape.png", 113 | "extent" : "full-screen", 114 | "minimum-system-version" : "7.0", 115 | "scale" : "1x" 116 | }, 117 | { 118 | "orientation" : "portrait", 119 | "idiom" : "ipad", 120 | "filename" : "Default-Portrait@2x.png", 121 | "extent" : "full-screen", 122 | "minimum-system-version" : "7.0", 123 | "scale" : "2x" 124 | }, 125 | { 126 | "orientation" : "landscape", 127 | "idiom" : "ipad", 128 | "filename" : "Default-Landscape@2x.png", 129 | "extent" : "full-screen", 130 | "minimum-system-version" : "7.0", 131 | "scale" : "2x" 132 | }, 133 | { 134 | "orientation" : "portrait", 135 | "idiom" : "iphone", 136 | "filename" : "Default.png", 137 | "extent" : "full-screen", 138 | "scale" : "1x" 139 | }, 140 | { 141 | "orientation" : "portrait", 142 | "idiom" : "iphone", 143 | "filename" : "Default@2x.png", 144 | "extent" : "full-screen", 145 | "scale" : "2x" 146 | }, 147 | { 148 | "orientation" : "portrait", 149 | "idiom" : "iphone", 150 | "filename" : "Default-568h@2x.png", 151 | "extent" : "full-screen", 152 | "subtype" : "retina4", 153 | "scale" : "2x" 154 | }, 155 | { 156 | "orientation" : "portrait", 157 | "idiom" : "ipad", 158 | "extent" : "to-status-bar", 159 | "scale" : "1x" 160 | }, 161 | { 162 | "orientation" : "portrait", 163 | "idiom" : "ipad", 164 | "filename" : "Default-Portrait.png", 165 | "extent" : "full-screen", 166 | "scale" : "1x" 167 | }, 168 | { 169 | "orientation" : "landscape", 170 | "idiom" : "ipad", 171 | "extent" : "to-status-bar", 172 | "scale" : "1x" 173 | }, 174 | { 175 | "orientation" : "landscape", 176 | "idiom" : "ipad", 177 | "filename" : "Default-Landscape.png", 178 | "extent" : "full-screen", 179 | "scale" : "1x" 180 | }, 181 | { 182 | "orientation" : "portrait", 183 | "idiom" : "ipad", 184 | "extent" : "to-status-bar", 185 | "scale" : "2x" 186 | }, 187 | { 188 | "orientation" : "portrait", 189 | "idiom" : "ipad", 190 | "filename" : "Default-Portrait@2x.png", 191 | "extent" : "full-screen", 192 | "scale" : "2x" 193 | }, 194 | { 195 | "orientation" : "landscape", 196 | "idiom" : "ipad", 197 | "extent" : "to-status-bar", 198 | "scale" : "2x" 199 | }, 200 | { 201 | "orientation" : "landscape", 202 | "idiom" : "ipad", 203 | "filename" : "Default-Landscape@2x.png", 204 | "extent" : "full-screen", 205 | "scale" : "2x" 206 | } 207 | ], 208 | "info" : { 209 | "version" : 1, 210 | "author" : "xcode" 211 | } 212 | } -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XR.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XS-Max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XS-Max.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XR.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XS-Max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XS-Max.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchScreen-AspectFill.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchScreen-AspectFill@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchScreen-AspectFill@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchScreen-Center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchScreen-Center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchScreen-Center@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-ng/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIRequiresFullScreen 28 | 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /demo-ng/App_Resources/iOS/build.xcconfig: -------------------------------------------------------------------------------- 1 | // You can add custom settings here 2 | // for example you can uncomment the following line to force distribution code signing 3 | // CODE_SIGN_IDENTITY = iPhone Distribution 4 | // To build for device with Xcode 8 you need to specify your development team. More info: https://developer.apple.com/library/prerelease/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html 5 | // DEVELOPMENT_TEAM = YOUR_TEAM_ID; 6 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 7 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 8 | -------------------------------------------------------------------------------- /demo-ng/angular.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "./node_modules/@angular/cli/lib/config/schema.json", 3 | "version": 1, 4 | "newProjectRoot": "projects", 5 | "cli": { 6 | "defaultCollection": "@nativescript/schematics" 7 | }, 8 | "projects": { 9 | "hello-world": { 10 | "root": "", 11 | "sourceRoot": "src", 12 | "projectType": "application", 13 | "prefix": "ns" 14 | } 15 | }, 16 | "defaultProject": "hello-world" 17 | } 18 | -------------------------------------------------------------------------------- /demo-ng/nsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "appResourcesPath": "App_Resources", 3 | "appPath": "src" 4 | } 5 | -------------------------------------------------------------------------------- /demo-ng/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "nativescript": { 3 | "id": "org.nativescript.demong", 4 | "tns-android": { 5 | "version": "6.1.0" 6 | }, 7 | "tns-ios": { 8 | "version": "6.1.0" 9 | } 10 | }, 11 | "description": "NativeScript Application", 12 | "license": "SEE LICENSE IN ", 13 | "repository": "", 14 | "dependencies": { 15 | "@angular/animations": "~8.2.0", 16 | "@angular/common": "~8.2.0", 17 | "@angular/compiler": "~8.2.0", 18 | "@angular/core": "~8.2.0", 19 | "@angular/forms": "~8.2.0", 20 | "@angular/platform-browser": "~8.2.0", 21 | "@angular/platform-browser-dynamic": "~8.2.0", 22 | "@angular/router": "~8.2.0", 23 | "nativescript-angular": "~8.2.0", 24 | "nativescript-theme-core": "~1.0.6", 25 | "reflect-metadata": "~0.1.12", 26 | "rxjs": "^6.4.0", 27 | "tns-core-modules": "~6.1.0", 28 | "zone.js": "~0.9.1" 29 | }, 30 | "devDependencies": { 31 | "@angular/compiler-cli": "~8.2.0", 32 | "@ngtools/webpack": "~8.2.0", 33 | "nativescript-dev-webpack": "~1.2.0", 34 | "typescript": "~3.5.3" 35 | }, 36 | "gitHead": "5fa096231ded5351b53700f0d111d60160e52ebc", 37 | "readme": "NativeScript Application" 38 | } 39 | -------------------------------------------------------------------------------- /demo-ng/src/app.css: -------------------------------------------------------------------------------- 1 | /* 2 | In NativeScript, the app.css file is where you place CSS rules that 3 | you would like to apply to your entire application. Check out 4 | http://docs.nativescript.org/ui/styling for a full list of the CSS 5 | selectors and properties you can use to style UI components. 6 | 7 | /* 8 | In many cases you may want to use the NativeScript core theme instead 9 | of writing your own CSS rules. For a full list of class names in the theme 10 | refer to http://docs.nativescript.org/ui/theme. 11 | */ 12 | @import '~nativescript-theme-core/css/core.light.css'; 13 | -------------------------------------------------------------------------------- /demo-ng/src/app/app-routing.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule } from "@angular/core"; 2 | import { NativeScriptRouterModule } from "nativescript-angular/router"; 3 | import { Routes } from "@angular/router"; 4 | 5 | import { ItemsComponent } from "./item/items.component"; 6 | import { ItemDetailComponent } from "./item/item-detail.component"; 7 | 8 | const routes: Routes = [ 9 | { path: "", redirectTo: "/items", pathMatch: "full" }, 10 | { path: "items", component: ItemsComponent }, 11 | { path: "item/:id", component: ItemDetailComponent } 12 | ]; 13 | 14 | @NgModule({ 15 | imports: [NativeScriptRouterModule.forRoot(routes)], 16 | exports: [NativeScriptRouterModule] 17 | }) 18 | export class AppRoutingModule { } 19 | -------------------------------------------------------------------------------- /demo-ng/src/app/app.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /demo-ng/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from "@angular/core"; 2 | 3 | @Component({ 4 | selector: "ns-app", 5 | templateUrl: "./app.component.html" 6 | }) 7 | export class AppComponent { } 8 | -------------------------------------------------------------------------------- /demo-ng/src/app/app.module.ts: -------------------------------------------------------------------------------- 1 | import { NgModule, NO_ERRORS_SCHEMA } from "@angular/core"; 2 | import { NativeScriptModule } from "nativescript-angular/nativescript.module"; 3 | 4 | import { AppRoutingModule } from "./app-routing.module"; 5 | import { AppComponent } from "./app.component"; 6 | import { ItemsComponent } from "./item/items.component"; 7 | import { ItemDetailComponent } from "./item/item-detail.component"; 8 | 9 | // Uncomment and add to NgModule imports if you need to use two-way binding 10 | // import { NativeScriptFormsModule } from "nativescript-angular/forms"; 11 | 12 | // Uncomment and add to NgModule imports if you need to use the HttpClient wrapper 13 | // import { NativeScriptHttpClientModule } from "nativescript-angular/http-client"; 14 | 15 | @NgModule({ 16 | bootstrap: [ 17 | AppComponent 18 | ], 19 | imports: [ 20 | NativeScriptModule, 21 | AppRoutingModule 22 | ], 23 | declarations: [ 24 | AppComponent, 25 | ItemsComponent, 26 | ItemDetailComponent 27 | ], 28 | providers: [], 29 | schemas: [ 30 | NO_ERRORS_SCHEMA 31 | ] 32 | }) 33 | /* 34 | Pass your application module to the bootstrapModule function located in main.ts to start your app 35 | */ 36 | export class AppModule { } 37 | -------------------------------------------------------------------------------- /demo-ng/src/app/item/item-detail.component.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo-ng/src/app/item/item-detail.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from "@angular/core"; 2 | import { ActivatedRoute } from "@angular/router"; 3 | 4 | import { Item } from "./item"; 5 | import { ItemService } from "./item.service"; 6 | 7 | @Component({ 8 | selector: "ns-details", 9 | templateUrl: "./item-detail.component.html" 10 | }) 11 | export class ItemDetailComponent implements OnInit { 12 | item: Item; 13 | 14 | constructor( 15 | private itemService: ItemService, 16 | private route: ActivatedRoute 17 | ) { } 18 | 19 | ngOnInit(): void { 20 | const id = +this.route.snapshot.params.id; 21 | this.item = this.itemService.getItem(id); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /demo-ng/src/app/item/item.service.ts: -------------------------------------------------------------------------------- 1 | import { Injectable } from "@angular/core"; 2 | 3 | import { Item } from "./item"; 4 | 5 | @Injectable({ 6 | providedIn: "root" 7 | }) 8 | export class ItemService { 9 | private items = new Array( 10 | { id: 1, name: "Ter Stegen", role: "Goalkeeper" }, 11 | { id: 3, name: "Piqué", role: "Defender" }, 12 | { id: 4, name: "I. Rakitic", role: "Midfielder" }, 13 | { id: 5, name: "Sergio", role: "Midfielder" }, 14 | { id: 6, name: "Denis Suárez", role: "Midfielder" }, 15 | { id: 7, name: "Arda", role: "Midfielder" }, 16 | { id: 8, name: "A. Iniesta", role: "Midfielder" }, 17 | { id: 9, name: "Suárez", role: "Forward" }, 18 | { id: 10, name: "Messi", role: "Forward" }, 19 | { id: 11, name: "Neymar", role: "Forward" }, 20 | { id: 12, name: "Rafinha", role: "Midfielder" }, 21 | { id: 13, name: "Cillessen", role: "Goalkeeper" }, 22 | { id: 14, name: "Mascherano", role: "Defender" }, 23 | { id: 17, name: "Paco Alcácer", role: "Forward" }, 24 | { id: 18, name: "Jordi Alba", role: "Defender" }, 25 | { id: 19, name: "Digne", role: "Defender" }, 26 | { id: 20, name: "Sergi Roberto", role: "Midfielder" }, 27 | { id: 21, name: "André Gomes", role: "Midfielder" }, 28 | { id: 22, name: "Aleix Vidal", role: "Midfielder" }, 29 | { id: 23, name: "Umtiti", role: "Defender" }, 30 | { id: 24, name: "Mathieu", role: "Defender" }, 31 | { id: 25, name: "Masip", role: "Goalkeeper" } 32 | ); 33 | 34 | getItems(): Array { 35 | return this.items; 36 | } 37 | 38 | getItem(id: number): Item { 39 | return this.items.filter((item) => item.id === id)[0]; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /demo-ng/src/app/item/item.ts: -------------------------------------------------------------------------------- 1 | export interface Item { 2 | id: number; 3 | name: string; 4 | role: string; 5 | } 6 | -------------------------------------------------------------------------------- /demo-ng/src/app/item/items.component.html: -------------------------------------------------------------------------------- 1 | 8 | 9 | 13 | 14 | 15 | 16 | 26 | 27 | 28 | 29 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /demo-ng/src/app/item/items.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from "@angular/core"; 2 | 3 | import { Item } from "./item"; 4 | import { ItemService } from "./item.service"; 5 | 6 | @Component({ 7 | selector: "ns-items", 8 | templateUrl: "./items.component.html" 9 | }) 10 | export class ItemsComponent implements OnInit { 11 | items: Array; 12 | 13 | constructor(private itemService: ItemService) { } 14 | 15 | ngOnInit(): void { 16 | this.items = this.itemService.getItems(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /demo-ng/src/main.ts: -------------------------------------------------------------------------------- 1 | // this import should be first in order to load some required settings (like globals and reflect-metadata) 2 | import { platformNativeScriptDynamic } from "nativescript-angular/platform"; 3 | 4 | import { AppModule } from "./app/app.module"; 5 | 6 | // A traditional NativeScript application starts by initializing global objects, 7 | // setting up global CSS rules, creating, and navigating to the main page. 8 | // Angular applications need to take care of their own initialization: 9 | // modules, components, directives, routes, DI providers. 10 | // A NativeScript Angular app needs to make both paradigms work together, 11 | // so we provide a wrapper platform object, platformNativeScriptDynamic, 12 | // that sets up a NativeScript application and can bootstrap the Angular framework. 13 | platformNativeScriptDynamic().bootstrapModule(AppModule); 14 | -------------------------------------------------------------------------------- /demo-ng/src/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "main": "main.js", 3 | "android": { 4 | "v8Flags": "--expose_gc", 5 | "markingMode": "none" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /demo-ng/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "commonjs", 4 | "target": "es5", 5 | "experimentalDecorators": true, 6 | "emitDecoratorMetadata": true, 7 | "noEmitHelpers": true, 8 | "noEmitOnError": true, 9 | "skipLibCheck": true, 10 | "lib": [ 11 | "es6", 12 | "dom", 13 | "es2015.iterable" 14 | ], 15 | "baseUrl": ".", 16 | "paths": { 17 | "~/*": [ 18 | "src/*" 19 | ], 20 | "*": [ 21 | "./node_modules/*" 22 | ] 23 | } 24 | }, 25 | "exclude": [ 26 | "node_modules", 27 | "platforms" 28 | ] 29 | } -------------------------------------------------------------------------------- /demo-ng/tsconfig.tns.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig", 3 | "compilerOptions": { 4 | "module": "esNext", 5 | "moduleResolution": "node" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /demo-ng/tsfmt.json: -------------------------------------------------------------------------------- 1 | { 2 | "indentSize": 4, 3 | "tabSize": 4 4 | } 5 | -------------------------------------------------------------------------------- /demo-server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "demo-server", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "app.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "node app.js" 9 | }, 10 | "author": "Osei Fortune ", 11 | "license": "MIT", 12 | "dependencies": { 13 | "body-parser": "^1.19.0", 14 | "express": "^4.17.1", 15 | "pusher": "^1.5.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /demo-vue/.gitignore: -------------------------------------------------------------------------------- 1 | # JetBrains project files 2 | .idea 3 | 4 | # NPM 5 | node_modules 6 | 7 | # NativeScript application 8 | hooks 9 | platforms 10 | 11 | !webpack.config.js 12 | -------------------------------------------------------------------------------- /demo-vue/README.md: -------------------------------------------------------------------------------- 1 | # NativeScript-Vue Application 2 | 3 | > A native application built with NativeScript-Vue 4 | 5 | ## Usage 6 | 7 | ``` bash 8 | # Install dependencies 9 | npm install 10 | 11 | # Preview on device 12 | tns preview 13 | 14 | # Build, watch for changes and run the application 15 | tns run 16 | 17 | # Build, watch for changes and debug the application 18 | tns debug 19 | 20 | # Build for production 21 | tns build --env.production 22 | 23 | ``` 24 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/app.gradle: -------------------------------------------------------------------------------- 1 | // Add your native dependencies here: 2 | 3 | // Uncomment to add recyclerview-v7 dependency 4 | //dependencies { 5 | // implementation 'com.android.support:recyclerview-v7:+' 6 | //} 7 | 8 | // If you want to add something to be applied before applying plugins' include.gradle files 9 | // e.g. project.ext.googlePlayServicesVersion = "15.0.1" 10 | // create a file named before-plugins.gradle in the current directory and place it there 11 | 12 | android { 13 | defaultConfig { 14 | minSdkVersion 17 15 | generatedDensities = [] 16 | } 17 | aaptOptions { 18 | additionalParameters "--no-version-vectors" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/google-services.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "550232807871", 4 | "firebase_url": "https://nativescript-pusher.firebaseio.com", 5 | "project_id": "nativescript-pusher", 6 | "storage_bucket": "nativescript-pusher.appspot.com" 7 | }, 8 | "client": [ 9 | { 10 | "client_info": { 11 | "mobilesdk_app_id": "1:550232807871:android:13fb3f1243f6eba776690a", 12 | "android_client_info": { 13 | "package_name": "com.triniwiz.ns_pusher" 14 | } 15 | }, 16 | "oauth_client": [ 17 | { 18 | "client_id": "550232807871-g9kfhnq4gf4ds8giduet1jft4dhlktbh.apps.googleusercontent.com", 19 | "client_type": 3 20 | } 21 | ], 22 | "api_key": [ 23 | { 24 | "current_key": "AIzaSyCy4IpjyO6e9Z6VQmco62llNVMeBo5GFbI" 25 | } 26 | ], 27 | "services": { 28 | "appinvite_service": { 29 | "other_platform_oauth_client": [ 30 | { 31 | "client_id": "550232807871-g9kfhnq4gf4ds8giduet1jft4dhlktbh.apps.googleusercontent.com", 32 | "client_type": 3 33 | } 34 | ] 35 | } 36 | } 37 | } 38 | ], 39 | "configuration_version": "1" 40 | } -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 14 | 15 | 16 | 17 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/values-v21/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3d5afe 4 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/values-v21/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | NativeScript-Vue Application 4 | NativeScript-Vue Application 5 | 6 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 11 | 14 | 15 | 16 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #F5F5F5 4 | #757575 5 | #33B5E5 6 | #272734 7 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | NativeScript-Vue Application 4 | NativeScript-Vue Application 5 | 6 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/Android/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 17 | 18 | 20 | 21 | 22 | 29 | 30 | 32 | 33 | 34 | 39 | 40 | 42 | 43 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "icon-20@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "icon-20@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "icon-29.png", 19 | "scale" : "1x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "icon-29@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "29x29", 29 | "idiom" : "iphone", 30 | "filename" : "icon-29@3x.png", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "icon-40@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "40x40", 41 | "idiom" : "iphone", 42 | "filename" : "icon-40@3x.png", 43 | "scale" : "3x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "icon-60@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "60x60", 53 | "idiom" : "iphone", 54 | "filename" : "icon-60@3x.png", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "size" : "20x20", 59 | "idiom" : "ipad", 60 | "filename" : "icon-20.png", 61 | "scale" : "1x" 62 | }, 63 | { 64 | "size" : "20x20", 65 | "idiom" : "ipad", 66 | "filename" : "icon-20@2x.png", 67 | "scale" : "2x" 68 | }, 69 | { 70 | "size" : "29x29", 71 | "idiom" : "ipad", 72 | "filename" : "icon-29.png", 73 | "scale" : "1x" 74 | }, 75 | { 76 | "size" : "29x29", 77 | "idiom" : "ipad", 78 | "filename" : "icon-29@2x.png", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "size" : "40x40", 83 | "idiom" : "ipad", 84 | "filename" : "icon-40.png", 85 | "scale" : "1x" 86 | }, 87 | { 88 | "size" : "40x40", 89 | "idiom" : "ipad", 90 | "filename" : "icon-40@2x.png", 91 | "scale" : "2x" 92 | }, 93 | { 94 | "size" : "76x76", 95 | "idiom" : "ipad", 96 | "filename" : "icon-76.png", 97 | "scale" : "1x" 98 | }, 99 | { 100 | "size" : "76x76", 101 | "idiom" : "ipad", 102 | "filename" : "icon-76@2x.png", 103 | "scale" : "2x" 104 | }, 105 | { 106 | "size" : "83.5x83.5", 107 | "idiom" : "ipad", 108 | "filename" : "icon-83.5@2x.png", 109 | "scale" : "2x" 110 | }, 111 | { 112 | "size" : "1024x1024", 113 | "idiom" : "ios-marketing", 114 | "filename" : "icon-1024.png", 115 | "scale" : "1x" 116 | } 117 | ], 118 | "info" : { 119 | "version" : 1, 120 | "author" : "xcode" 121 | } 122 | } -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XR.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XS-Max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XS-Max.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XR.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XS-Max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XS-Max.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchScreen-AspectFill.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchScreen-AspectFill@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchScreen-AspectFill@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchScreen-Center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchScreen-Center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchScreen-Center@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIRequiresFullScreen 28 | 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | UIStatusBarStyle 47 | UIStatusBarStyleLightContent 48 | UIViewControllerBasedStatusBarAppearance 49 | 50 | UIBackgroundModes 51 | 52 | remote-notification 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/build.xcconfig: -------------------------------------------------------------------------------- 1 | // You can add custom settings here 2 | // for example you can uncomment the following line to force distribution code signing 3 | // CODE_SIGN_IDENTITY = iPhone Distribution 4 | // To build for device with Xcode 8 you need to specify your development team. More info: https://developer.apple.com/library/prerelease/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html 5 | // DEVELOPMENT_TEAM = YOUR_TEAM_ID; 6 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 7 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 8 | -------------------------------------------------------------------------------- /demo-vue/app/App_Resources/iOS/demovue.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | aps-environment 6 | development 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo-vue/app/app.scss: -------------------------------------------------------------------------------- 1 | // Global SCSS styling 2 | // @see https://docs.nativescript.org/ui/styling 3 | -------------------------------------------------------------------------------- /demo-vue/app/assets/images/NativeScript-Vue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/assets/images/NativeScript-Vue.png -------------------------------------------------------------------------------- /demo-vue/app/components/App.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 115 | 116 | -------------------------------------------------------------------------------- /demo-vue/app/fonts/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo-vue/app/fonts/.gitkeep -------------------------------------------------------------------------------- /demo-vue/app/main.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'nativescript-vue'; 2 | import * as application from 'tns-core-modules/application'; 3 | import App from './components/App.vue'; 4 | 5 | import { TNSPusherBeams } from '@nativescript-pusher/beams'; 6 | 7 | TNSPusherBeams.registerForPushNotifications() 8 | .then(() => { 9 | console.log('registered'); 10 | }) 11 | .catch(e => { 12 | console.log(e); 13 | }); 14 | TNSPusherBeams.start('13813917-1427-42af-a2fa-cdfd31a7e1d0'); 15 | 16 | TNSPusherBeams.addOnInterestsChangeCallback(interests => { 17 | console.log('interests', interests); 18 | }); 19 | application.on('launch', args => { 20 | TNSPusherBeams.addDeviceInterest('debug-hello'); 21 | TNSPusherBeams.addDeviceInterest('hello'); 22 | console.log(TNSPusherBeams.getDeviceInterests()); 23 | TNSPusherBeams.clearDeviceInterests(); 24 | setTimeout(() => { 25 | TNSPusherBeams.addDeviceInterest('debug-hello'); 26 | TNSPusherBeams.addDeviceInterest('hello'); 27 | TNSPusherBeams.addDeviceInterest('osei'); 28 | }, 5000); 29 | // TNSPusherBeams.addOnMessageReceivedCallback(message => { 30 | // console.log('message', message); 31 | // }); 32 | }); 33 | 34 | // Prints Vue logs when --env.production is *NOT* set while building 35 | Vue.config.silent = TNS_ENV === 'production'; 36 | 37 | new Vue({ 38 | render: h => h('frame', [h(App)]) 39 | }).$start(); 40 | -------------------------------------------------------------------------------- /demo-vue/app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "android": { 3 | "v8Flags": "--expose_gc", 4 | "markingMode": "none" 5 | }, 6 | "main": "main", 7 | "name": "demo-vue", 8 | "version": "1.0.0" 9 | } 10 | -------------------------------------------------------------------------------- /demo-vue/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "demo-vue", 3 | "version": "1.0.0", 4 | "description": "A native application built with NativeScript-Vue", 5 | "author": "Osei Fortune ", 6 | "license": "MIT", 7 | "nativescript": { 8 | "id": { 9 | "android": "com.triniwiz.ns_pusher", 10 | "ios": "com.triniwiz.ns.pusher" 11 | }, 12 | "templateVersion": "v2", 13 | "tns-android": { 14 | "version": "6.1.0" 15 | }, 16 | "tns-ios": { 17 | "version": "6.1.0" 18 | } 19 | }, 20 | "dependencies": { 21 | "@nativescript-pusher/beams": "file:../beams", 22 | "@nativescript-pusher/channels": "file:../channels", 23 | "nativescript-vue": "^2.4.0", 24 | "tns-core-modules": "^6.1.0" 25 | }, 26 | "devDependencies": { 27 | "@babel/core": "^7.0.0", 28 | "@babel/preset-env": "^7.0.0", 29 | "@types/node": "^12.7.5", 30 | "babel-loader": "^8.0.2", 31 | "nativescript-dev-webpack": "^1.2.0", 32 | "nativescript-vue-template-compiler": "^2.4.0", 33 | "nativescript-worker-loader": "~0.9.0", 34 | "node-sass": "^4.9.2", 35 | "tns-platform-declarations": "^6.1.0", 36 | "typescript": "^3.5.3", 37 | "vue": "^2.6.10", 38 | "vue-loader": "^15.7.1" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /demo-vue/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */ 4 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 5 | "lib": [ 6 | "dom", "es2015" 7 | ], /* Specify library files to be included in the compilation. */ 8 | "sourceMap": true, /* Generates corresponding '.map' file. */ 9 | "noEmitHelpers": true, 10 | "importHelpers": true, /* Import emit helpers from 'tslib'. */ 11 | "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 12 | "baseUrl": ".", /* Base directory to resolve non-absolute module names. */ 13 | "paths": { 14 | "@/*": [ 15 | "app/*" 16 | ] 17 | }, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 18 | "typeRoots": [ 19 | "types" 20 | ], /* List of folders to include type definitions from. */ 21 | "types": [ 22 | "node" 23 | ], /* Type declaration files to be included in compilation. */ 24 | "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 25 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 26 | "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 27 | "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 28 | 29 | "skipLibCheck": true 30 | }, 31 | "include": [ 32 | "app", 33 | "types" 34 | ], 35 | "exclude": [ 36 | "node_modules", 37 | "platforms" 38 | ] 39 | } -------------------------------------------------------------------------------- /demo-vue/types/env.d.ts: -------------------------------------------------------------------------------- 1 | declare var TNS_ENV: string; -------------------------------------------------------------------------------- /demo-vue/types/references.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// -------------------------------------------------------------------------------- /demo-vue/types/shims.vue.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.vue' { 2 | import Vue from 'vue' 3 | export default Vue 4 | } -------------------------------------------------------------------------------- /demo/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf 5 | insert_final_newline = true 6 | trim_trailing_whitespace = true 7 | charset = utf-8 8 | 9 | [*.json] 10 | indent_style = space 11 | indent_size = 2 12 | 13 | [*.ts] 14 | indent_style = space 15 | indent_size = 4 16 | -------------------------------------------------------------------------------- /demo/.gitignore: -------------------------------------------------------------------------------- 1 | # NativeScript 2 | hooks/ 3 | node_modules/ 4 | platforms/ 5 | 6 | # NativeScript Template 7 | *.js.map 8 | *.js 9 | !webpack.config.js 10 | 11 | # Logs 12 | logs 13 | *.log 14 | npm-debug.log* 15 | yarn-debug.log* 16 | yarn-error.log* 17 | 18 | # General 19 | .DS_Store 20 | .AppleDouble 21 | .LSOverride 22 | .idea 23 | .cloud 24 | .project 25 | tmp/ 26 | typings/ 27 | 28 | # Visual Studio Code 29 | .vscode/* 30 | !.vscode/settings.json 31 | !.vscode/tasks.json 32 | !.vscode/launch.json 33 | !.vscode/extensions.json 34 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/app.gradle: -------------------------------------------------------------------------------- 1 | // Add your native dependencies here: 2 | 3 | // Uncomment to add recyclerview-v7 dependency 4 | //dependencies { 5 | // implementation 'com.android.support:recyclerview-v7:+' 6 | //} 7 | 8 | // If you want to add something to be applied before applying plugins' include.gradle files 9 | // e.g. project.ext.googlePlayServicesVersion = "15.0.1" 10 | // create a file named before-plugins.gradle in the current directory and place it there 11 | 12 | android { 13 | defaultConfig { 14 | minSdkVersion 17 15 | targetSdkVersion 29 16 | generatedDensities = [] 17 | } 18 | aaptOptions { 19 | additionalParameters "--no-version-vectors" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/google-services.json: -------------------------------------------------------------------------------- 1 | { 2 | "project_info": { 3 | "project_number": "550232807871", 4 | "firebase_url": "https://nativescript-pusher.firebaseio.com", 5 | "project_id": "nativescript-pusher", 6 | "storage_bucket": "nativescript-pusher.appspot.com" 7 | }, 8 | "client": [ 9 | { 10 | "client_info": { 11 | "mobilesdk_app_id": "1:550232807871:android:13fb3f1243f6eba776690a", 12 | "android_client_info": { 13 | "package_name": "com.triniwiz.ns_pusher" 14 | } 15 | }, 16 | "oauth_client": [ 17 | { 18 | "client_id": "550232807871-g9kfhnq4gf4ds8giduet1jft4dhlktbh.apps.googleusercontent.com", 19 | "client_type": 3 20 | } 21 | ], 22 | "api_key": [ 23 | { 24 | "current_key": "AIzaSyCy4IpjyO6e9Z6VQmco62llNVMeBo5GFbI" 25 | } 26 | ], 27 | "services": { 28 | "appinvite_service": { 29 | "other_platform_oauth_client": [ 30 | { 31 | "client_id": "550232807871-g9kfhnq4gf4ds8giduet1jft4dhlktbh.apps.googleusercontent.com", 32 | "client_type": 3 33 | } 34 | ] 35 | } 36 | } 37 | } 38 | ], 39 | "configuration_version": "1" 40 | } -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 14 | 15 | 16 | 17 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/values-v21/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3d5afe 4 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 11 | 14 | 15 | 16 | 19 | 20 | 23 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #F5F5F5 4 | #757575 5 | #33B5E5 6 | #272734 7 | -------------------------------------------------------------------------------- /demo/app/App_Resources/Android/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 18 | 19 | 21 | 22 | 23 | 31 | 32 | 34 | 35 | 36 | 42 | 43 | 45 | 46 | -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "size" : "20x20", 5 | "idiom" : "iphone", 6 | "filename" : "icon-20@2x.png", 7 | "scale" : "2x" 8 | }, 9 | { 10 | "size" : "20x20", 11 | "idiom" : "iphone", 12 | "filename" : "icon-20@3x.png", 13 | "scale" : "3x" 14 | }, 15 | { 16 | "size" : "29x29", 17 | "idiom" : "iphone", 18 | "filename" : "icon-29.png", 19 | "scale" : "1x" 20 | }, 21 | { 22 | "size" : "29x29", 23 | "idiom" : "iphone", 24 | "filename" : "icon-29@2x.png", 25 | "scale" : "2x" 26 | }, 27 | { 28 | "size" : "29x29", 29 | "idiom" : "iphone", 30 | "filename" : "icon-29@3x.png", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "size" : "40x40", 35 | "idiom" : "iphone", 36 | "filename" : "icon-40@2x.png", 37 | "scale" : "2x" 38 | }, 39 | { 40 | "size" : "40x40", 41 | "idiom" : "iphone", 42 | "filename" : "icon-40@3x.png", 43 | "scale" : "3x" 44 | }, 45 | { 46 | "size" : "60x60", 47 | "idiom" : "iphone", 48 | "filename" : "icon-60@2x.png", 49 | "scale" : "2x" 50 | }, 51 | { 52 | "size" : "60x60", 53 | "idiom" : "iphone", 54 | "filename" : "icon-60@3x.png", 55 | "scale" : "3x" 56 | }, 57 | { 58 | "size" : "20x20", 59 | "idiom" : "ipad", 60 | "filename" : "icon-20.png", 61 | "scale" : "1x" 62 | }, 63 | { 64 | "size" : "20x20", 65 | "idiom" : "ipad", 66 | "filename" : "icon-20@2x.png", 67 | "scale" : "2x" 68 | }, 69 | { 70 | "size" : "29x29", 71 | "idiom" : "ipad", 72 | "filename" : "icon-29.png", 73 | "scale" : "1x" 74 | }, 75 | { 76 | "size" : "29x29", 77 | "idiom" : "ipad", 78 | "filename" : "icon-29@2x.png", 79 | "scale" : "2x" 80 | }, 81 | { 82 | "size" : "40x40", 83 | "idiom" : "ipad", 84 | "filename" : "icon-40.png", 85 | "scale" : "1x" 86 | }, 87 | { 88 | "size" : "40x40", 89 | "idiom" : "ipad", 90 | "filename" : "icon-40@2x.png", 91 | "scale" : "2x" 92 | }, 93 | { 94 | "size" : "76x76", 95 | "idiom" : "ipad", 96 | "filename" : "icon-76.png", 97 | "scale" : "1x" 98 | }, 99 | { 100 | "size" : "76x76", 101 | "idiom" : "ipad", 102 | "filename" : "icon-76@2x.png", 103 | "scale" : "2x" 104 | }, 105 | { 106 | "size" : "83.5x83.5", 107 | "idiom" : "ipad", 108 | "filename" : "icon-83.5@2x.png", 109 | "scale" : "2x" 110 | }, 111 | { 112 | "size" : "1024x1024", 113 | "idiom" : "ios-marketing", 114 | "filename" : "icon-1024.png", 115 | "scale" : "1x" 116 | } 117 | ], 118 | "info" : { 119 | "version" : 1, 120 | "author" : "xcode" 121 | } 122 | } -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-1024.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-1125h.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-X.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XR.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XS-Max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape-XS-Max.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XR.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XS-Max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait-XS-Max.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchScreen-AspectFill.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchScreen-AspectFill@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchScreen-AspectFill@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchScreen-Center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchScreen-Center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchScreen-Center@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/triniwiz/nativescript-pusher/b54f226c09fcfce1b409d5c35257e3afc77f4225/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@3x.png -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/GoogleService-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CLIENT_ID 6 | 550232807871-ciosdu7sch92japgbooouut5qs32q5k6.apps.googleusercontent.com 7 | REVERSED_CLIENT_ID 8 | com.googleusercontent.apps.550232807871-ciosdu7sch92japgbooouut5qs32q5k6 9 | API_KEY 10 | AIzaSyDZY787Zm9QcWeOwDZU5MLR0B1wPmTltw0 11 | GCM_SENDER_ID 12 | 550232807871 13 | PLIST_VERSION 14 | 1 15 | BUNDLE_ID 16 | com.triniwiz.ns.pusher 17 | PROJECT_ID 18 | nativescript-pusher 19 | STORAGE_BUCKET 20 | nativescript-pusher.appspot.com 21 | IS_ADS_ENABLED 22 | 23 | IS_ANALYTICS_ENABLED 24 | 25 | IS_APPINVITE_ENABLED 26 | 27 | IS_GCM_ENABLED 28 | 29 | IS_SIGNIN_ENABLED 30 | 31 | GOOGLE_APP_ID 32 | 1:550232807871:ios:f417607ed106d3e976690a 33 | DATABASE_URL 34 | https://nativescript-pusher.firebaseio.com 35 | 36 | -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIRequiresFullScreen 28 | 29 | UIRequiredDeviceCapabilities 30 | 31 | armv7 32 | 33 | UISupportedInterfaceOrientations 34 | 35 | UIInterfaceOrientationPortrait 36 | UIInterfaceOrientationLandscapeLeft 37 | UIInterfaceOrientationLandscapeRight 38 | 39 | UISupportedInterfaceOrientations~ipad 40 | 41 | UIInterfaceOrientationPortrait 42 | UIInterfaceOrientationPortraitUpsideDown 43 | UIInterfaceOrientationLandscapeLeft 44 | UIInterfaceOrientationLandscapeRight 45 | 46 | UIBackgroundModes 47 | 48 | remote-notification 49 | 50 | NSAppTransportSecurity 51 | 52 | 53 | NSAllowsArbitraryLoads 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/build.xcconfig: -------------------------------------------------------------------------------- 1 | // You can add custom settings here 2 | // for example you can uncomment the following line to force distribution code signing 3 | // CODE_SIGN_IDENTITY = iPhone Distribution 4 | // To build for device with XCode 8 you need to specify your development team. More info: https://developer.apple.com/library/prerelease/content/releasenotes/DeveloperTools/RN-Xcode/Introduction.html 5 | // DEVELOPMENT_TEAM = YOUR_TEAM_ID; 6 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; 7 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; 8 | -------------------------------------------------------------------------------- /demo/app/App_Resources/iOS/demo.entitlements: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | aps-environment 6 | development 7 | 8 | 9 | -------------------------------------------------------------------------------- /demo/app/app-root.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /demo/app/app.css: -------------------------------------------------------------------------------- 1 | /* 2 | In NativeScript, the app.css file is where you place CSS rules that 3 | you would like to apply to your entire application. Check out 4 | http://docs.nativescript.org/ui/styling for a full list of the CSS 5 | selectors and properties you can use to style UI components. 6 | 7 | /* 8 | In many cases you may want to use the NativeScript core theme instead 9 | of writing your own CSS rules. For a full list of class names in the theme 10 | refer to http://docs.nativescript.org/ui/theme. 11 | The imported CSS rules must precede all other types of rules. 12 | */ 13 | @import '~nativescript-theme-core/css/core.light.css'; 14 | 15 | /* 16 | The following CSS rule changes the font size of all UI 17 | components that have the btn class name. 18 | */ 19 | .btn { 20 | font-size: 18; 21 | } 22 | -------------------------------------------------------------------------------- /demo/app/app.ts: -------------------------------------------------------------------------------- 1 | /* 2 | In NativeScript, the app.ts file is the entry point to your application. 3 | You can use this file to perform app-level initialization, but the primary 4 | purpose of the file is to pass control to the app’s first module. 5 | */ 6 | 7 | import * as application from 'tns-core-modules/application'; 8 | import { TNSPusherBeams } from '@nativescript-pusher/beams'; 9 | 10 | TNSPusherBeams.registerForPushNotifications().then(() => { 11 | console.log('registered'); 12 | }).catch(e => { 13 | console.log(e); 14 | }); 15 | TNSPusherBeams.start('13813917-1427-42af-a2fa-cdfd31a7e1d0'); 16 | TNSPusherBeams.addOnInterestsChangeCallback(interests => { 17 | console.log('interests', interests); 18 | }); 19 | application.on('launch', args => { 20 | TNSPusherBeams.addDeviceInterest('debug-hello'); 21 | TNSPusherBeams.addDeviceInterest('hello'); 22 | console.log(TNSPusherBeams.getDeviceInterests()); 23 | TNSPusherBeams.clearDeviceInterests(); 24 | setTimeout(() => { 25 | TNSPusherBeams.addDeviceInterest('debug-hello'); 26 | TNSPusherBeams.addDeviceInterest('hello'); 27 | TNSPusherBeams.addDeviceInterest('osei'); 28 | }, 5000); 29 | TNSPusherBeams.addOnMessageReceivedCallback(message => { 30 | console.log('message', message); 31 | }); 32 | }); 33 | application.run({moduleName: 'app-root'}); 34 | 35 | /* 36 | Do not place any code after the application has been started as it will not 37 | be executed on iOS. 38 | */ 39 | -------------------------------------------------------------------------------- /demo/app/main-page.ts: -------------------------------------------------------------------------------- 1 | /* 2 | In NativeScript, a file with the same name as an XML file is known as 3 | a code-behind file. The code-behind is a great place to place your view 4 | logic, and to set up your page’s data binding. 5 | */ 6 | 7 | import { EventData } from 'tns-core-modules/data/observable'; 8 | import { Page } from 'tns-core-modules/ui/page'; 9 | import { HelloWorldModel } from './main-view-model'; 10 | import * as app from 'tns-core-modules/application'; 11 | 12 | let context = new HelloWorldModel(); 13 | 14 | // Event handler for Page "navigatingTo" event attached in main-page.xml 15 | export function navigatingTo(args: EventData) { 16 | /* 17 | This gets a reference this page’s UI component. You can 18 | view the API reference of the Page to see what’s available at 19 | https://docs.nativescript.org/api-reference/classes/_ui_page_.page.html 20 | */ 21 | const page = args.object; 22 | 23 | /* 24 | A page’s bindingContext is an object that should be used to perform 25 | data binding between XML markup and TypeScript code. Properties 26 | on the bindingContext can be accessed using the {{ }} syntax in XML. 27 | In this example, the {{ message }} and {{ onTap }} bindings are resolved 28 | against the object returned by createViewModel(). 29 | 30 | You can learn more about data binding in NativeScript at 31 | https://docs.nativescript.org/core-concepts/data-binding. 32 | */ 33 | page.bindingContext = context; 34 | } 35 | 36 | export function connect() { 37 | context.pusher.connection.bind('state_change', state => { 38 | context.set('connectionStatus', state.current); 39 | }); 40 | context.pusher.connection.bind('error', error => { 41 | console.dir(error); 42 | }); 43 | 44 | context.pusher.connection.bind('connected', () => { 45 | channel.bind('pusher:subscription_succeeded', ()=>{ 46 | if (app.android) { 47 | channel.trigger('test-android', { name: 'Osei' }); 48 | } else { 49 | channel.trigger('test-ios', { name: 'Osei' }); 50 | } 51 | }) 52 | }); 53 | 54 | subscribe(); 55 | 56 | context.pusher.connect(); 57 | } 58 | 59 | export function disconnect() { 60 | context.pusher.disconnect(); 61 | context.set('channelName', ''); 62 | context.set('eventName', ''); 63 | context.set('messages', ''); 64 | } 65 | 66 | let channel; 67 | 68 | function subscribe() { 69 | const handler = data => { 70 | context.set('channelName', data['channelName']); 71 | context.set('eventName', data['eventName']); 72 | context.set('messages', data['data']['messages']); 73 | }; 74 | if (app.android) { 75 | channel = context.pusher.subscribe('private-android'); 76 | channel.bind('test-android', handler); 77 | } else { 78 | channel = context.pusher.subscribe('private-ios'); 79 | channel.bind('test-ios', handler); 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /demo/app/main-page.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |