# Insider Cordova SDK

## Start

1. Install Cordova CLI if you haven't done this before.
   
    ```
    npm install -g cordova
    ```

2. Create a Cordova project or use the existing one. To create a Cordova project, you can use the cordova create path [id [name [config]]] [options] command. For more details, please refer to cordova create command.


3. Add the Android, iOS or both platform to the project if you haven't done this before.
   ```
    cordova platform add android
    cordova platform add iOS
   ```


5. First add cordova package attributes in package.json

   ```
    "devDependencies": {
     ...
     "cordova-plugin-insider": "cordova-plugin-insider"
    },
   ```
 
   ```
    "plugins": {
      ....  
      "cordova-plugin-insider": {}
    }
   ```

6. And Run the following command to download the modules.

   ```
   npm install
   ```

7. Run the code below to add the plugin to the project.

```
cordova plugin add @insider-mobile/cordova-plugin-insider
```
### Android

1. Add your google-service.json and agconnect-service.json files to the home directory of the demo project.
2. Add your fileName.jks file in platforms/android/app/ directory.
   1. Edit singingConfig in build.gradle(:app) (platforms/android/app).
3. And change partner name and app group name in index.js (www/js/index.js:50)
4. Configure partner name from your app’s platforms > android > cordova-plugin-insider > ecommerce-build-extras.gradle
    ```
     // DO NOT FORGET to change partner_name.
     // Use only lowercase and partner_name is provided by Insider.

     manifestPlaceholders = [ partner: "partner_name" ]
     ```

5. Run the following code to set the ...-service.json files in the project.

   ```
   cordova build android
   ```
6. And run project (Recommend: with Android Studio).

### iOS

1. Add the code below in pod file and pod install.

```
# DO NOT MODIFY -- auto-generated by Apache Cordova
source 'https://cdn.cocoapods.org/'
platform :ios, '11.0'
use_frameworks!
target 'InsiderDemo' do
	project 'InsiderDemo.xcodeproj'
	pod 'InsiderMobile'
	pod 'InsiderHybrid'
end

target 'InsiderNotificationContent' do
    inherit! :search_paths
    # Pods for InsiderNotificationContent
    pod "InsiderMobileAdvancedNotification"
end
target 'InsiderNotificationService' do
    inherit! :search_paths
    # Pods for InsiderNotificationService
    pod "InsiderMobileAdvancedNotification"
end
```
2. Run the following code to set the www/* files.

```
cordova build ios
```

3. And run project (Recommend: with XCode).
4. Edit the URL Types value to add test device.
5. To run alert on ios, you need to add the "cordova-plugin-dialogs" package to the project. And you should show alert using this function while initing.
   1. https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-dialogs/index.html