Provide your customers with an advanced Contact Center directly from your app. Engage with your customers through Video/VoIP Call or a simple text Chat...
Additionally you can provide your customers with VoIP and Video Call to increase their loyalty...
Announce and advertise new products, discounts, and other promotional contents by Live Streaming them directly to your customers...
Jack: What do you think about AI in customer service? What AI reallistically can do?
Jill: Consumers today don't trust AI. They prefer empathetic interactions. Now there's a way to combine them both.
Jack: I like it though... :)
Live Streaming
Video Call
Chat
Audio Call
Chatbot
Call SDK
Video Call SDK
We detect that you are accessing newuniverse.io from Indonesia. Would you like to change the language to Bahasa Indonesia?
Kami mendeteksi kamu melakukan akses ke newuniverse.io dari Indonesia. Apakah kamu ingin menggunakan Bahasa Indonesia?
<!-- If you are using Flutter, please modify the relevant tags in your styles.xml file as shown in the code below. -->
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LaunchTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<style name="NormalTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="android:windowBackground">@android:color/white</item>
</style>
</resources>
/**
For user satisfaction, all features provided in nexilis have been tested to meet certain performance, reliability, and availability standards. If you need to test these features (Audio Call, Video Call, Conference, Online Seminar, etc.), please download Nexilis from Google Play Store. Nexilis is a Social Media built entirely using newuniverse.io to demonstrate nexilis's performance, reliability, and availability standards.
=====================
NOTES
=====================
For user security and privacy reasons, newuniverse.io for Android will not work in the following environments:
1. Rooted Devices
2. Emulators
3. Android devices version below 6.0 (API 23). You need to set minSdkVersion 23 in your build.gradle (:app)
4. Applications that uses the backup and restore infrastructure. Please make sure you have the following 3 lines of code in your Manifest file:
android:allowBackup="false"
android:fullBackupOnly="false"
android:fullBackupContent="false"
=====================
Layout Customization
=====================
You can customize the look and layout of our live streaming, online seminar, and audio-video call features. To do so, follow these steps:
1. Download file activity layout (.xml) files dari link: res-pb.zip
2. Extract res-pb.zip into your project folder -> app -> src -> main.
3. Edit the gradle.properties configuration following the example below:
android {
...
sourceSets {
main {
res.srcDirs = ['src/main/res', 'src/main/res-pb']
}
}
}
3. Edit the activity layouts as you need.
Notice:
Please refrain from deleting view components or altering their id's as it may cause errors in the application.
=====================
proguard-rules.pro
=====================
If you are building your app with proguard, add the lines below in your proguard-rules.pro file.
-dontwarn io.newuniverse.SDK.**
-keep class io.newuniverse.SDK.** { *;}
-keep interface io.newuniverse.SDK.** { *; }
-keep class * implements io.newuniverse.SDK.** { *;}
-keep class net.sqlcipher.** { *; }
*/
/**
Untuk menjaga kepuasan pelanggan, seluruh fitur yang disediakan nexilis telah diuji untuk memenuhi kriteria performa, kehandalan dan ketersediaan. Jika kamu ingin menguji fitur-fitur dimaksud (Audio Call, Video Call, Conference, Online Seminar, dll.) kamu bisa mengunduh catchUp dari Google Play Store. catchUp adalah Media Sosial yang dibangun sepenuhnya menggunakan newuniverse.io untuk menunjukkan fitur dan standar performa dan kehandalan dari newuniverse.io
=====================
NOTES
=====================
Untuk alasan Keamanan dan Privasi pengguna, newuniverse.io untuk Android tidak akan dapat berjalan pada kondisi berikut:
1. Rooted Devices
2. Emulators
3. Perangkat Android dengan version dibawah 6.0 (API 23). Pastikan kamu sudah menentukan minSdkVersion 23 didalam build.gradle (:app)
4. Aplikasi yang melakukan backup & restore data pada infrastruktur backup. Pastikan kamu sudah menentukan 3 variabel berikut didalam Manifest file mu
android:allowBackup="false"
android:fullBackupOnly="false"
android:fullBackupContent="false"
=====================
Layout Customization
=====================
Kamu dapat mengubah tampilan dan layout dari fitur live streaming, online seminar, dan audio-video call. Ikuti Langkah-langkah berikut untuk melakukan perubahan tersebut:
1. Download file activity layout (.xml) dari link: res-pb.zip
2. Extract res-pb.zip kedalam folder project mu -> app -> src -> main.
3. Ubah konfigurasi file gradle.properties sesuai contoh dibawah ini.
android {
...
sourceSets {
main {
res.srcDirs = ['src/main/res', 'src/main/res-pb']
}
}
}
4. Ubah activity layout sesuai kebutuhanmu.
Catatan:
Hindari menghapus view components atau mengubah id komponen karena akan mengakibatkan error pada application.
=====================
proguard-rules.pro
=====================
Jika kamu melakukan build aplikasi menggunakan proguard, tambahkan baris-baris kode di bawah ini pada file proguard-rules.pro.
-dontwarn io.newuniverse.SDK.**
-keep class io.newuniverse.SDK.** { *;}
-keep interface io.newuniverse.SDK.** { *; }
-keep class * implements io.newuniverse.SDK.** { *;}
-keep class net.sqlcipher.** { *; }
*/
package com.example.nexilislitesamplecode;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import io.newuniverse.nexilisbutton.Callback;
import io.newuniverse.nexilisbutton.Nexilis;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_main);
/*************************************
Connect to our server with your newuniverse.io Account, and implement the required Callback.
Please Subscribe or contact us to get your newuniverse.io Account.
Do not share your newuniverse.io Account or ever give it out to someone outside your organization.
************************************/
/**
* Nexilis.connect (String NexilisAccount, Activity RegisteredActivity, int NexilisButtonMode, boolean UserMayModifyUID, Callback ConnectCallback)
*
* NexilisAccount : Your Nexilis.io Account.
* RegisteredActivity : Android's Activity class that is used to register the Nexilis Button
* NexilisButtonMode : The flag that determines when the Nexilis Button should appear.
* 1 = Within registered Activity, (Nexilis Button only appears when users are in the registered activity)
* 2 = Within App (Nexilis Button always appears as long as user is in the App),
* 3 = Always On (Nexilis Button always appears even if the application process is closed)
* UserMayModifyUID : Sets whether users are allowed to change the Nexilis UserID.
* true = enabled,
* false = disabled
* ConnectCallback : The callback interface to be invoked when calling the method connect.
* You need to implement onSuccess(String NexilisUserID) & onFailed(String reasonCode) to handle the RESULT.
*
*/
Nexilis.connect("***REPLACE***WITH***YOUR***NEXILIS***ACCOUNT***", this, 1, true, new Callback() {
@Override
public void onSuccess(final String NexilisUserID) {
/**************************************
The userId parameter required by the onSuccess method, which is generated automatically, will act as
as a user's Nexilis User ID and it can be mapped to a User ID on the application level.
For example, the Nexilis User ID (e.g. User001) can be mapped into the corresponding Application User ID (e.g. John Doe),
so you don't have to share your Application User ID with Nexilis while still being able to monitor your user activities.
**************************************/
/* do something */
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getBaseContext(), "Your nexilis User ID: " + NexilisUserID, Toast.LENGTH_LONG).show();
}
});
}
@Override
public void onFailed(final String reasonCode) {
/**
* reasonCode : Returns a code based on the status of the function connect called.
* 2:Your trial subscription has expired. Please subscribe to continue using Nexilis.
* 3:Your monthly subscription is not paid in full. Please pay your monthly subscription bill to continue using Nexilis service.
* 4:Your Customer Engagement Credit has run out and your Prepaid Credit Balance is empty. Please top-up your Prepaid Credit Balance to continue using Nexilis
* 23:Unsupported Android version
* 93:Missing the required overlay permission
* 95:Invalid Nexilis Button Mode (1,2,3)
* 96:Activity is null
* 97:Account is empty
* 98:Your account didn't match
* 99:Something went wrong
*/
/* do something */
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getBaseContext(), reasonCode, Toast.LENGTH_LONG).show();
}
});
}
});
/**
*
* An OPTIONAL Method to change your Nexilis User ID
* You can call this method anytime after Nexilis.connect calls onSuccess
*
* String ResponCode = Nexilis.changeUsername(String NewUserID)
*
* ResponCode : Returns a code based on the status of the function call.
* 00:Success
* 23:Unsupported Android version
* 96:Activity is null
* 97:Account is empty
* 101:Unable to access server. Check your connection and try again later
* 102:Duplicate username
* 103:Username is empty
* 104:Username length is too short
* 105:Username length is too long
* 106:Illegal State. Be sure call Nexilis.connect and #callback state onSuccess called
* NewUserID : Desired User ID
*/
String ResponCode = Nexilis.changeUsername("***REPLACE***WITH***NEW***USERID***");
}
}
/***********************************************************************************************************
If you are using Flutter for your app, please follow the sample code below.
If you are using Native Android, please refer to Option-1.
************************************************************************************************************/
package com.example.paliolitesamplecode;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import io.flutter.embedding.android.FlutterActivity;
import io.newuniverse.paliobutton.Callback;
import io.newuniverse.paliobutton.Palio;
public class MainActivity extends FlutterActivity {
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_main);
/*************************************
Connect to our server with your newuniverse.io Account, and implement the required Callback.
Please Subscribe or contact us to get your newuniverse.io Account.
Do not share your newuniverse.io Account or ever give it out to someone outside your organization.
************************************/
/**
* Palio.connect (String PalioAccount, Activity RegisteredActivity, int PalioButtonMode, boolean UserMayModifyUID, Callback ConnectCallback)
*
* PalioAccount : Your Palio.io Account.
* RegisteredActivity : Android's Activity class that is used to register the Palio Button
* PalioButtonMode : The flag that determines when the Palio Button should appear.
* 1 = Within registered Activity, (Palio Button only appears when users are in the registered activity)
* 2 = Within App (Palio Button always appears as long as user is in the App),
* 3 = Always On (Palio Button always appears even if the application process is closed)
* UserMayModifyUID : Sets whether users are allowed to change the Palio UserID.
* true = enabled,
* false = disabled
* ConnectCallback : The callback interface to be invoked when calling the method connect.
* You need to implement onSuccess(String PalioUserID) & onFailed(String reasonCode) to handle the RESULT.
*
*/
Palio.connect("***REPLACE***WITH***YOUR***NEXILIS***ACCOUNT***", this, 1, true, new Callback() {
@Override
public void onSuccess(final String PalioUserID) {
/**************************************
The userId parameter required by the onSuccess method, which is generated automatically, will act as
as a user's Palio User ID and it can be mapped to a User ID on the application level.
For example, the Palio User ID (e.g. User001) can be mapped into the corresponding Application User ID (e.g. John Doe),
so you don't have to share your Application User ID with Palio.io while still being able to monitor your user activities.
**************************************/
/* do something */
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getBaseContext(), "Your nexilis User ID: " + PalioUserID, Toast.LENGTH_LONG).show();
}
});
}
@Override
public void onFailed(final String reasonCode) {
/**
* reasonCode : Returns a code based on the status of the function connect called.
* 2:Your trial subscription has expired. Please subscribe to continue using Palio.io.
* 3:Your monthly subscription is not paid in full. Please pay your monthly subscription bill to continue using Palio.io service.
* 4:Your Customer Engagement Credit has run out and your Prepaid Credit Balance is empty. Please top-up your Prepaid Credit Balance to continue using Palio.io
* 23:Unsupported Android version
* 93:Missing the required overlay permission
* 95:Invalid Palio Button Mode (1,2,3)
* 96:Activity is null
* 97:Account is empty
* 98:Your account didn't match
* 99:Something went wrong
*/
/* do something */
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getBaseContext(), reasonCode, Toast.LENGTH_LONG).show();
}
});
}
});
/**
*
* An OPTIONAL Method to change your Palio User ID
* You can call this method anytime after Palio.connect calls onSuccess
*
* String ResponCode = Palio.changeUsername(String NewUserID)
*
* ResponCode : Returns a code based on the status of the function call.
* 00:Success
* 23:Unsupported Android version
* 96:Activity is null
* 97:Account is empty
* 101:Unable to access server. Check your connection and try again later
* 102:Duplicate username
* 103:Username is empty
* 104:Username length is too short
* 105:Username length is too long
* 106:Illegal State. Be sure to call Palio.connect and #callback state onSuccess called
* NewUserID : Desired User ID
*/
String ResponCode = Palio.changeUsername("***REPLACE***WITH***NEW***USERID***");
}
}
// If you are building your app with proguard, add these lines in your proguard-rules.pro file.
-dontwarn io.newuniverse.SDK.**
-keep class io.newuniverse.SDK.** { *;}
-keep interface io.newuniverse.SDK.** { *; }
-keep class * implements io.newuniverse.SDK.** { *;}
-keep class net.sqlcipher.** { *; }
// Please make sure you have set minSdkVersion to 23.
android {
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
}
}
// Add the following lines to include the newuniverse.io repository into your app
repositories {
maven {
url "https://id.palio.io/artifactory/nexilis-libs"
credentials {
username = "***REPLACE***WITH***YOUR***MAVEN***USERNAME***"
password = "***REPLACE***WITH***YOUR***MAVEN***PASSWORD***"
}
}
}
dependencies {
// *** Add nexilis Lite dependencies ***
implementation('io.nexilis:nexilis-lite:1.0.17') {
transitive = true
}
}
IOS
<!-- If you are using Flutter, please modify the relevant tags in your styles.xml file as shown in the code below. -->
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LaunchTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<style name="NormalTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="android:windowBackground">@android:color/white</item>
</style>
</resources>
IOS
/**
For user satisfaction, all features provided in nexilis have been tested to meet certain performance, reliability, and availability standards. If you need to test these features (Audio Call, Video Call, Conference, Online Seminar, etc.), please download Nexilis from Google Play Store. Nexilis is a Social Media built entirely using newuniverse.io to demonstrate nexilis's performance, reliability, and availability standards.
=====================
NOTES
=====================
For user security and privacy reasons, newuniverse.io for Android will not work in the following environments:
1. Rooted Devices
2. Emulators
3. Android devices version below 6.0 (API 23). You need to set minSdkVersion 23 in your build.gradle (:app)
4. Applications that uses the backup and restore infrastructure. Please make sure you have the following 3 lines of code in your Manifest file:
android:allowBackup="false"
android:fullBackupOnly="false"
android:fullBackupContent="false"
=====================
Layout Customization
=====================
You can customize the look and layout of our live streaming, online seminar, and audio-video call features. To do so, follow these steps:
1. Download the activity layout (.xml) files by clicking this link: activity_layouts.zip
2. Extract the .xml files into your project folder -> app -> src -> main -> res -> layout folder.
3. Edit the activity layouts as you need.
Notice:
Please refrain from deleting view components or altering their id's as it may cause errors in the application.
=====================
proguard-rules.pro
=====================
If you are building your app with proguard, add the lines below in your proguard-rules.pro file.
-dontwarn io.newuniverse.SDK.**
-keep class io.newuniverse.SDK.** { *;}
-keep interface io.newuniverse.SDK.** { *; }
-keep class * implements io.newuniverse.SDK.** { *;}
-keep class net.sqlcipher.** { *; }
*/
iOS
/**
Untuk menjaga kepuasan pelanggan, seluruh fitur yang disediakan nexilis telah diuji untuk memenuhi kriteria performa, kehandalan dan ketersediaan. Jika kamu ingin menguji fitur-fitur dimaksud (Audio Call, Video Call, Conference, Online Seminar, dll.) kamu bisa mengunduh catchUp dari Google Play Store. catchUp adalah Media Sosial yang dibangun sepenuhnya menggunakan Palio.io untuk menunjukkan fitur dan standar performa dan kehandalan dari Palio.io
=====================
NOTES
=====================
Untuk alasan Keamanan dan Privasi pengguna, newuniverse.io untuk Android tidak akan dapat berjalan pada kondisi berikut:
1. Rooted Devices
2. Emulators
3. Perangkat Android dengan version dibawah 6.0 (API 19). Pastikan kamu sudah menentukan minSdkVersion 19 didalam build.gradle (:app)
4. Aplikasi yang melakukan backup & restore data pada infrastruktur backup. Pastikan kamu sudah menentukan 3 variabel berikut didalam Manifest file mu
android:allowBackup="false"
android:fullBackupOnly="false"
android:fullBackupContent="false"
=====================
Layout Customization
=====================
Kamu dapat mengubah tampilan dan layout live streaming, online seminar, dan audio-video call features.Ikuti Langkah-langkah berikut untuk melakukan perubahan tsb:
1. Download file activity layout (.xml) files dari link: activity_layouts.zip
2. Extract file .xml kedalam folder project mu -> app -> src -> main -> res -> layout folder.
3. Ubah activity layouts sesuai kebutuhanmu.
Catatan:
Hindari menghapus view components atau mengubah id komponen karena akan mengakibatkan error pada application.
=====================
proguard-rules.pro
=====================
Jika kamu melakukan build aplikasi menggunakan proguard, tambahkan baris-baris kode di bawah ini pada file proguard-rules.pro.
-dontwarn io.newuniverse.SDK.**
-keep class io.newuniverse.SDK.** { *;}
-keep interface io.newuniverse.SDK.** { *; }
-keep class * implements io.newuniverse.SDK.** { *;}
-keep class net.sqlcipher.** { *; }
*/
name: sample_application_nexilis_lite
description: A new Flutter application.
# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.0
nexilis_lite: ^0.0.1-dev.1
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
IOS
/***********************************************************************************************************
If you are using Flutter for your app, please follow the sample code below.
If you are using Native Android, please refer to Option-1.
************************************************************************************************************/
package com.example.paliolitesamplecode;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import io.flutter.embedding.android.FlutterActivity;
import io.newuniverse.paliobutton.Callback;
import io.newuniverse.paliobutton.Palio;
public class MainActivity extends FlutterActivity {
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_main);
/*************************************
Connect to our server with your Palio.io Account, and implement the required Callback.
Please Subscribe or contact us to get your Palio.io Account.
Do not share your Palio.io Account or ever give it out to someone outside your organization.
************************************/
/**
* Palio.connect (String PalioAccount, Activity RegisteredActivity, int PalioButtonMode, boolean UserMayModifyUID, Callback ConnectCallback)
*
* PalioAccount : Your Palio.io Account.
* RegisteredActivity : Android's Activity class that is used to register the Palio Button
* PalioButtonMode : The flag that determines when the Palio Button should appear.
* 1 = Within registered Activity, (Palio Button only appears when users are in the registered activity)
* 2 = Within App (Palio Button always appears as long as user is in the App),
* 3 = Always On (Palio Button always appears even if the application process is closed)
* UserMayModifyUID : Sets whether users are allowed to change the Palio UserID.
* true = enabled,
* false = disabled
* ConnectCallback : The callback interface to be invoked when calling the method connect.
* You need to implement onSuccess(String PalioUserID) & onFailed(String reasonCode) to handle the RESULT.
*
*/
Palio.connect("***REPLACE***WITH***YOUR***PALIO***ACCOUNT***", this, 2, true, new Callback() {
@Override
public void onSuccess(final String PalioUserID) {
/**************************************
The userId parameter required by the onSuccess method, which is generated automatically, will act as
as a user's Palio User ID and it can be mapped to a User ID on the application level.
For example, the Palio User ID (e.g. User001) can be mapped into the corresponding Application User ID (e.g. John Doe),
so you don't have to share your Application User ID with Palio.io while still being able to monitor your user activities.
**************************************/
/* do something */
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getBaseContext(), "Your Palio User ID: " + PalioUserID, Toast.LENGTH_LONG).show();
}
});
}
@Override
public void onFailed(final String reasonCode) {
/**
* reasonCode : Returns a code based on the status of the function connect called.
* 2:Your trial subscription has expired. Please subscribe to continue using Palio.io.
* 3:Your monthly subscription is not paid in full. Please pay your monthly subscription bill to continue using Palio.io service.
* 4:Your Customer Engagement Credit has run out and your Prepaid Credit Balance is empty. Please top-up your Prepaid Credit Balance to continue using Palio.io
* 23:Unsupported Android version
* 93:Missing the required overlay permission
* 95:Invalid Palio Button Mode (1,2,3)
* 96:Activity is null
* 97:Account is empty
* 98:Your account didn't match
* 99:Something went wrong
*/
/* do something */
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getBaseContext(), reasonCode, Toast.LENGTH_LONG).show();
}
});
}
});
/**
*
* An OPTIONAL Method to change your Palio User ID
* You can call this method anytime after Palio.connect calls onSuccess
*
* String ResponCode = Palio.changeUsername(String NewUserID)
*
* ResponCode : Returns a code based on the status of the function call.
* 00:Success
* 23:Unsupported Android version
* 96:Activity is null
* 97:Account is empty
* 101:Unable to access server. Check your connection and try again later
* 102:Duplicate username
* 103:Username is empty
* 104:Username length is too short
* 105:Username length is too long
* 106:Illegal State. Be sure to call Palio.connect and #callback state onSuccess called
* NewUserID : Desired User ID
*/
String ResponCode = Palio.changeUsername("***REPLACE***WITH***NEW***USERID***");
}
}
// If you are building your app with proguard, add these lines in your proguard-rules.pro file.
-dontwarn io.newuniverse.SDK.**
-keep class io.newuniverse.SDK.** { *;}
-keep interface io.newuniverse.SDK.** { *; }
-keep class * implements io.newuniverse.SDK.** { *;}
-keep class net.sqlcipher.** { *; }
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:nexilis_lite/nexilis_button.dart';
import 'package:nexilis_lite/nexilis_lite.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State {
String _platformVersion = 'Unknown';
@override
void initState() {
super.initState();
initPlatformState();
}
// Platform messages are asynchronous, so we initialize in an async method.
Future initPlatformState() async {
String platformVersion;
// Platform messages may fail, so we use a try/catch PlatformException.
// We also handle the message potentially returning null.
try {
platformVersion =
await NexilisLite.platformVersion ?? 'Unknown platform version';
} on PlatformException {
platformVersion = 'Failed to get platform version.';
}
// If the widget was removed from the tree while the asynchronous platform
// message was in flight, we want to discard the reply rather than calling
// setState to update our non-existent appearance.
if (!mounted) return;
setState(() {
_platformVersion = platformVersion;
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: Stack(
children: [
NexilisButton(
xpos: 0,
ypos: 0,
apiKey:
'***REPLACE***WITH***YOUR***NEXILIS***ACCOUNT***'),
],
),
),
);
}
}