All AppBuilder applications consist of pages.
A Page on AppBuilder 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 AppBuilder 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 name space 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.
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 native class names with it. Make sure you check Requires binary check box to be able to create native Page Types for this Module.
After you create a Module you'll see overview of it's properties.
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.
After you click the Submit button go back to My Modules page and you'll see a new Page Type added to your Module.
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.
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.
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.
Implement your custom Page Type in native code
When you open your SDK project you'll find a Custom Module 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.
Upload your Module Binary
After you're done with development and testing you need to build and upload your Module Binary to AppBuilder website.
To build the binary run %YOUR_MODULE_ID%ModulePackage Xcode scheme. You'll find your Module Binary package in %PROJECT_DIRECTORY%/CustomModule/%YOUR_MODULE_ID%ModulePackage.zip.
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).
Publish your Page Type
After 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.