Documentation

Last updated: 05/07/2019

Android studio

Download Android studio

To use this project you need to download the android studio on your computer first you need to visit this link (click button bellow) then click the button "DOWNLOAD ANDROID STUDIO" (check video bellow ) to get the righ version for your system

Download Android studio


Install Android studio

After Download the Android Studio you need to install it on your computer/Mac Check the video bellow and follow it step by step


Open Project in Android studio

Now you need to open the Android Application on Android Studio just follow the video bellow to open the project .


Config Android Project

After Download , install and open the project on Android Studio , now you need to config your source code and make it ready by change package name config firebase config facebook ....



Change the package name

Every Android Application on Google Play has a unique package name (unique id) , for this application too we need to use a unique package name , for that you need to choose a unique package name (ApplicationId) with three part for example : com.companyname.appname , now to change you package name follow the video bello :

Please note

  • The only special characters allowed on package name its underscore
  • Don't change the "com" part on package name
  • Google will not allow you to change the package name after publish the app on google play

Firebase Configuration

After Change package name now you need to config the firebase (firebase its a google service used to send notification and to allow the application login with google accounts)

use the commande bellow to generate the sha1 key :
keytool -exportcert -list -v \-alias <your-key-name> -keystore <path-to-production-keystore>

Please note

  • Don't try to generate APK without config firebase
  • Don't try To sync the project without config firebase

Facebook Configuration

After config Firebase now you need to config the facebook Application (this configuratio required to use facebook login + Facebook Network Audiance )

use the commande bellow to generate the hashkey :
 keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64 


Add your item purchase code

To protect your application on google play you need to add your item purchase code in your application , to do this , go to your Envato Profile > Download > Section > click Download on The The Application and Download the license and copy your item purchase code .
then go to

 Android Application > Config > Global.java 

and add your item purchase code there :
 public static final String ITEM_PURCHASE_CODE = "xxxx-xxxx-xxxxx-xxxxx-xxxxxx-xxxxx"; 


Admin Panel

Now you need to setup your admin panel and that required a shared hosting or a vps server with the requirement bellow


Hosting Requirements

  • Exif Extension
  • Fileinfo Extension
  • GD Extension
  • PHP iconv extension
  • PHP Vertsion 5.6/5.8/7.0

After prepare your server follow the video bellow to setup the admin panel


Add Firebase Server Key to admin panel

To finish firebase configuration you should add Legacy server key to your admin panel
then go to firebase > your project settinggs > Cloud Messaging and copy the Legacy server key (check screenshot bellow)

Then go to Open your admin panel

 Dashboard > Settings  

then add
  • Firebaase Legacy server key

and click save


Config Share System

To allow you App share the stickers by using link share system you need to config it fire
then go to

 Android Application > res > values > string.xml 

and add your admin panel url there (without http:// or https://)
<string name="panel_url">stickers.virmana.com</string>

Then go to Open your admin panel
 Dashboard > Settings  

then add
  • App Name
  • App Description
  • Application url on google play
  • Your App Screenshot (select image file)

and click save



Android Application Customization

After config everything now you app need a customization to take your touch like title,icon,colors ....


Change the application name

To change the application name
Go to :

Android App>res>values>strings.xml
And change the application name there :
<string name="app_name">stickers </string>


Change the application colors

To change the application colors
Go to :

Android App>res>values>colors.xml
And change the application colors there :

<color name="colorPrimaryDark">#dddee3</color>
<color name="colorPrimary">#FFFFFF</color>
<color name="colorPrimaryDarkMenu">#FFFFFF</color>
<color name="colorPrimarybg">#dddee3</color>

<color name="primary_text">#212121</color>

<color name="colorAccent">#212121</color>
<color name="white">#FFFFFF</color>
<color name="light_white">#d4d4d4</color>
<color name="red">#FF0000</color>
<color name="blue">#2196F3</color>
<color name="black">#000000</color>
<color name="gray_color">#ccc</color>
<color name="black_overlay">#66000000</color>
<color name="primary_text_light">#606060</color>
<color name="transparent">#00000000</color>
<color name="dark_gray">#9c9c9c</color>
<array name="dot_colors">
    <item>#03A9F4</item>
    <item>#E65100</item>
    <item>#FFBB00</item>
</array>
                                            



Update


Update To 2.0

Frist You will need to download the original android application and re-config with your package name becuase the project has been upgrated to AndroidX.(project struct gas been changed)

To update App to 2.0 you will need to update the admin panel

Update database > phpMyAdmin > select your database > SQL > past the SQL request bellow > GO


ALTER TABLE settings_table 
ADD rewardedadmobid VARCHAR(255) DEFAULT NULL, 
ADD banneradmobid VARCHAR(255) DEFAULT NULL, 
ADD bannerfacebookid VARCHAR(255) DEFAULT NULL, 
ADD nativebannerfacebookid VARCHAR(255) DEFAULT NULL, 
ADD bannertype VARCHAR(255) DEFAULT NULL, 
ADD nativeadmobid VARCHAR(255) DEFAULT NULL, 
ADD nativefacebookid VARCHAR(255) DEFAULT NULL, 
ADD nativeitem INT DEFAULT NULL, 
ADD nativetype VARCHAR(255) DEFAULT NULL, 
ADD interstitialadmobid VARCHAR(255) DEFAULT NULL, 
ADD interstitialfacebookid VARCHAR(255) DEFAULT NULL, 
ADD interstitialtype VARCHAR(255) DEFAULT NULL, 
ADD publisherid VARCHAR(255) DEFAULT NULL,
ADD appid VARCHAR(255) DEFAULT NULL,
ADD interstitialclick INT DEFAULT NULL;

Then Update the admin panel by replace the exist files and create the file not exist


admin/src/AppBundle/Controller/HomeController.php
admin/src/AppBundle/Controller/VersionController.php

admin/src/AppBundle/Entity/Settings.php
admin/src/AppBundle/Form/AdsType.php

admin/src/AppBundle/Resources/views/Home/ads.html.twig
admin/src/AppBundle/Resources/views/Home/settings.html.twig
admin/src/AppBundle/Resources/views/Pack/view.html.twig

admin/src/AppBundle/Resources/config/routing.yml
admin/src/UserBundle/Controller/UserController.php
admin/src/UserBundle/Entity/User.php

admin/src/UserBundle/Resources/views/ChangePassword/changePassword_content.html.twig
admin/src/UserBundle/Resources/views/User/index.html.twig

admin/public_html/css/demo.css
admin/public_html/img/mobile.png


Update To 2.1

To update the app replace the current files bellow in your project by new files from the new version




* Gradle Scripts > build.gradle 
* Android App/ui/StickerDetailsActivity.java
* Android App/ui/LoginActivity.java

* Android App/adapter/StickerDetailsAdapter.java
* Android App/adapter/StickerAdapter.java

* Android App/res/layout/item_native_banner_ad_layout.xml
* Android App/res/layout/item_facebook_ads.xml
* Android App/res/layout/activity_sticker_details.xml
* Android App/res/layout/native_ad_layout_1.xml
* Android App/res/layout/activity_login.xml

                        
                    

Update To 2.2


Update database > phpMyAdmin > select your database > SQL > past the SQL request bellow > GO


ALTER TABLE packs_table ADD animated TINYINT(1) NOT NULL;

Then Update the admin panel by replace the exist files and create the file not exist


admin_panel/src/AppBundle/Entity/Pack.php
admin_panel/src/AppBundle/Form/PackType.php
admin_panel/src/AppBundle/Form/EditPackType.php
admin_panel/src/AppBundle/Form/ReviewPackType.php
admin_panel/src/AppBundle/Resources/views/Pack/add.html.twig
admin_panel/src/AppBundle/Resources/views/Pack/edit.html.twig
admin_panel/src/AppBundle/Resources/views/Pack/review.html.twig
admin_panel/src/AppBundle/Resources/views/Pack/api_one.html.php
admin_panel/src/AppBundle/Resources/views/Pack/api_all.html.php
after make all changes delete "prod" folder in

admin_panel/app/cache/

To update the app replace the current files bellow in your project by new files from the new version



* Gradle Scripts > build.gradle 
* Android App/provider/StickerContentProvider.java
* Android App/StickerPack.java
* Android App/entity/PackApi.java

* Android App/ui/fragmenet/FollowFragment.java
* Android App/ui/fragmenet/HomeFragment.java
* Android App/ui/fragmenet/UserFragment.java
* Android App/ui/fragmenet/PopularFragment.java
* Android App/ui/fragmenet/FavoritesFragment.java
* Android App/ui/CategoryActivity.java
* Android App/ui/UploadActivity.java
* Android App/ui/SearchActivity.java
* Android App/ui/LoadActivity.java
* Android App/ui/StickerDetailsActivity.java
* Android App/adapter/SlideAdapter.java
* Android App/MainActivity.java

Update To 3.0


Update database > phpMyAdmin > select your database > SQL > past the SQL request bellow > GO


ALTER TABLE packs_table ADD whatsapp TINYINT(1) NOT NULL  DEFAULT 1 ,
ADD `signalapp` TINYINT(1) NOT NULL, 
ADD telegram TINYINT(1) NOT NULL,
ADD signalurl VARCHAR(255) DEFAULT NULL, 
ADD telegramurl VARCHAR(255) DEFAULT NULL;

Then Update the admin panel by replace the exist files and create the file not exist


admin_panel/src/AppBundle/Entity/Pack.php
admin_panel/src/AppBundle/Form/PackType.php
admin_panel/src/AppBundle/Form/EditPackType.php
admin_panel/src/AppBundle/Resources/views/Pack/add.html.twig
admin_panel/src/AppBundle/Resources/views/Pack/view.html.twig
admin_panel/src/AppBundle/Resources/views/Pack/edit.html.twig
admin_panel/src/AppBundle/Resources/views/Pack/api_one.html.php
admin_panel/src/AppBundle/Resources/views/Pack/api_all.html.php
after make all changes delete the "prod" folder in

admin_panel/app/cache/

To update the app replace the current files bellow in your project by new files from the new version



* Android app/res/layout/activity_sticker_details.xml
* Android app/res/drawable/ic_telegram.xml
* Android app/res/drawable/ic_signal.xml
* Android app/res/drawable/background_telegram.xml
* Android app/res/drawable/background_signal.xml
* Android App/res/layout/item_pack.xml

* Android App/StickerPack.java
* Android App/entity/PackApi.java
* Android App/MainActivity.java
* Android App/adapter/SlideAdapter.java
* Android App/MainAdapter.java
* Android App/ui/CategoryActivity.java
* Android App/ui/SearchActivity.java
* Android App/ui/LoadActivity.java
* Android App/ui/UploadActivity.java
* Android App/ui/StickerDetailsActivity.java
* Android App/ui/fragmenet/HomeFragment.java
* Android App/ui/fragmenet/UserFragment.java
* Android App/ui/fragmenet/FavoritesFragment.java
* Android App/ui/fragmenet/PopularFragment.java
* Android App/ui/fragmenet/FavoritesFragment.java
* Android App/adapter/StickerAdapter.java


Update To 3.1


Then Update the admin panel by replace the exist files and create the file not exist


admin_panel/src/AppBundle/Entity/Pack.php
admin_panel/src/AppBundle/Form/AdsType.php
admin_panel/src/AppBundle/Resources/views/Home/ads.html.twig
after make all changes delete the "prod" folder in

admin_panel/app/cache/

To update the app replace the current files bellow in your project by new files from the new version



Android App/build.gradle
Android App/AndroidManifest.xml

Android App/adapter/StickerAdapter.java
Android App/ui/SplashActivity.java
Android App/ui/HomeActivity.java
Android App/ui/LoginActivity.java

Android App/ui/StickerDetailsActivity.java
Android App/ui/fragmenet/HomeFragment.java
Android App/ui/fragmenet/FollowFragment.java
Android App/ui/fragmenet/PopularFragment.java
Android App/ui/SearchActivity.java
Android App/ui/CategoryActivity.java
Android App/Application.java

Android App/res/layout/activity_login.xml
Android App/res/values/strings.xml
Android App/res/layout/ad_unified.xml



Update To 3.2


Then Update the admin panel by replace the exist files and create the file not exist


admin_panel/src/AppBundle/Form/AdsType.php
admin_panel/src/AppBundle/Resources/views/Home/ads.html.twig
admin_panel/src/AppBundle/Controller/VersionController.php
after make all changes delete the "prod" folder in

admin_panel/app/cache/

To update the app, you need to configure the original source code because most of the files have been updated

Update To 3.3


Then Update the admin panel by replace the exist files and create the file not exist


admin_panel/src/AppBundle/Form/AdsType.php
admin_panel/src/AppBundle/Resources/views/Home/ads.html.twig
after make all changes delete the "prod" folder in

admin_panel/app/cache/

To update the app, you need to configure the original source code because most of the files have been updated

Update To 4.0


Then Update the admin panel by replace the exist files and create the file not exist


admin_panel/src/AppBundle/Form/AdsType.php
after make all changes delete the "prod" folder in

admin_panel/app/cache/

To update the app, you need to configure the original source code because most of the files have been updated