How to create a Custom Android Native Page Type via SeattleCloud SDK    
This topic is assigned to Dmitri

Jan 06, 2016 09:12 AM


All SeattleClouds applications consist of pages.
A Page on SeattleClouds is like a page on a website (screen, view). A page is displayed full-screen on the device and by using the app end users move from one page to another. On SeattleClouds website users are able to create and configure pages, set them as root pages for the app (placing them on tabs for example) and create links between pages (so that one page can be opened from another).
A Page Type defines how certain page should look and work. Typically a Page Type has settings which differentiate one page from another of the same Page Type. You can think of a Page Type as a class, and page as an instance of that class.
A Module is a collection of custom Page Types and other features. It also serves as a unique namespace for your custom Page Types and features.
A Module Binary is a package of your custom native code and resources that implement custom Page Types and features of that Module.
You can find more technical details on how to implement custom Page Type in native code when you download an SDK project (look for a README file).

How to create a custom native Page Type

To create a custom Page Type you need to create a Module first. If you already have a Module and want to reuse it you can skip the first step.
  1. Create a Module
    Go to My Modules page, click on CREATE MODULE button and fill out the form. Module ID must be unique. It's better to make it short, because you'll have to prefix all java class names with it. Make sure you check Requires binary checkbox to be able to create native Page Types for this Module.
    New module form

    After you create a Module you'll see overview of it's properties.
    Module properties overview

  2. Create a Page Type
    Click view module's page types in overview of a Module on My Modules page, then click CREATE PAGE and fill out Page Type metadata.
    New page type form

    After you click the Submit button go back to My Modules page and you'll see a new Page Type added to your Module.
    Module properties overview
    NOTE: when Page Type status is In-Development only you will see it and be able to add it to your apps. No one else will be able to see and use your Page Type until its state is Published.

  3. Add a page of newly created Page Type to an app
    To be able to develop and test your custom Page Type you need to add it to one of your paid apps. If you don't have any apps, create one and make sure it's paid (added to a plan or bought for full price). Add the page as a tab or make it accessible via a link to be able to test it on device.
  4. Request an SDK Project
    To actually implement your custom Page Type you need to write native code in an SDK project.
    To request an SDK project go to My Modules page, click upload binary file in overview of your Module, click REQUEST SDK PROJECT, select the app you added your page to in previous step and then click Continue.
    Complete remaining steps of the submission process and submit your request. After a few minutes you'll receive a link for downloading the SDK project by email.
  5. Implement your custom Page Type in native code
    When you open your SDK project you'll find a SCCustom folder. This folder contains only your custom code and resources and you can add or delete any files there. To help you in development we generated a couple of examples. You can find more technical details on how to implement your custom Page Type in native code in the README file.

    NOTE: All layout file namesids and string resources must be prefixed with your moduleId in lower case. You can find examples in res folder.
  6. Upload your Module Binary After you're done with development and testing you need to build and upload your Module Binary to SeattleClouds website. To build the binary find in gradle tasks task with name scModulePackage and run it. You'll find your Module Binary package in %PROJECT_DIR%/%MODULE_ID%/moduleBinary/

    To upload the binary go to My Modules page, click upload binary file in overview of your Module, click UPLOAD and upload binary zip file. Then your Module binary will be validated by our system. You can check for validation status on My Modules page in Binary Details section (you will also receive an email when validation succeeds or fails).

    Binary validation
  7. Publish your Page TypeAfter Module validation is successfully completed you'll be able to publish your Page Type. To do this click view module's page types in overview of your Module on My Modules page, then click on your Page Type. Change your Page Type Status from In-Development to Published. Now it be used and/or purchased by other users.