Plans & Prices My Applications Cloud Resources Profile Support Login Sign Up

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

Jan 22, 2014 06:59 AM

Overview

All SeattleClouds applications consist of pages.

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).

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.

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.

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 native class names with it. Make sure you check Requires binary check box 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, clickREQUEST SDK PROJECT, select the app you added your page to in previous step and then click Continue.

    Request SDK project

    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 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 theREADME file.

    SDK project

  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 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 onMy Modules page in Binary Details section (you will also receive an email when validation succeeds or fails).

    Binary validation

  7. 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.




Aug 28, 2014 02:03 AM

Hello Timur,

 

We have an ios SDK that we want to add as a module. What are the steps to add this SDK as a module?

 

Kind regards,

Mario



Aug 28, 2014 02:25 AM
Hi Mario,

You need to follow the steps described above (create a  module and a page). Then while you're on step 5 (Implement your custom Page Type in native code) you can add the SDK. 


See the README file inside the SDK project that you download for technical details of how to implement and build the module files.


ProTip: if your SDK comes in form of a static library binary you need to add it to your module target so that it got bundled into resulting module library. If the SDK is in form of a framework you'll have to convert it to a static library and then add it to the module target.


Aug 28, 2014 03:42 AM

Hello Timur,

All the steps must be obvious for you but it is complex for me so please be patient in my questions.

1. In my SkobblerDirectionalNavigation page type I cannot seem to enable a checkbox in the section Supported platforms

2. "Then while you're on step 5 (Implement your custom Page Type in native code) you can add the SDK."
When I am on the Module page I can upload a binary file. Is that what you mean?
If I am on the right page here? : http://seattleclouds.com/mymodules.aspx?action=sdk&module=Skobbler I need to request a SDK Project?
When I want to request a SDK Project: I have created a new app but I cannot find it in the selection box. Does it need a certain status?

3. Suppose I have managed to download the SDK. What do I do with it: Copy paste my SDK files into it?
This part is confusing for me.

Kind regards,
Mario

 



Aug 28, 2014 04:54 AM

Hello Timur,

 

I am following the "Request SDK Project" and after a few clicks it seems I am in the "submit to app store" page.

Is this correct?

I think a few more screenshots in this tutorial would be good.

Help is appreciated.

Kind regards,
Mario



Aug 29, 2014 02:46 AM
Hello Mario,

Thank you for the feedback, we'll investigate ways to improve this guide.

1) You will be able to enable a platform when you submit a binary for it (currently only iOS is supported though)

2) You need to download the SC SDK project and add your custom SDK or any source files to that project. When you download the SDK please read the README file for exact technical details on how to do this.

3) Yes, copy and paste. But you'll have to connect it somehow to your custom page that you are developing. This depends on your SDK and the code you already have. Currently SC SDK allow developing custom page types. This means that your custom code can run only when you open a custom page in the app (it cannot run when the app starts or some other events happen).

4) Yes, you request the SC SDK project through our generic "Submit to App Store" wizard, which I would call in this case "Request a build or binary" wizard. We don't provide a simple download link for the project because when you request an SDK we prepare one special SDK only for you and for your module.



Aug 29, 2014 05:55 AM

Hello Timur,

Some of my questions are answered but not all. Can you be so kind?

We have created a module called Skobbler
1. Note: We cannot enable the checkbox in the section Supported platforms
2. I suppose we need Website editor "default" but I am not sure
3. We did not add page resources because I think we will include our SDK with resources somewhere

We request an SDK project.
So I hit the "upload binary file" link
I select IOS and hit the button Request SDK Project.
Now I have to select one of my applications. (This confuses me because I want to create a page type not publish an app.)

4. But anyhow which application should I select. I could choose our iphonepreviewer or a newly created Skobbler app. (I need the Apple certificates for this in the process)
Does the "submit to app store" really adds a new build to the app store?

Kind regards,

Mario



Aug 29, 2014 10:04 AM
Mario,

1) As I told earlier:  "You will be able to enable a platform when you submit a binary for it". This means you have to download the SDK first, develop your module, compile it to a binary and upload it to the website. Only after that you will be able to enable checkbox for a supported platform. How can you enable the module to be available for a platform if you haven't submitted any code for it?

2) There are a couple of different editors. They can be used if you wan't to provide some settings for your page (e.g. for Mosaic page you can specify via the page editor which images are shown), but this is not required. Feel free to choose default for now. You will be able to change it later if needed.

3) Right, the resources are needed mostly for HTML based pages or for simulator preview. All native resources for your native feature must be provided in the binary + bundle (while you're developing your module in Xcode).

3.5) Please read steps 3 and 4 carefully. They explain why you need an app for an SDK.

More information on this matter:
You don't want to publish an app, but you still need a project for some app. Remember: you're developing a page. And a page can only be shown on device as part of an app. So when you request an SDK project, our system prepares a special app for your custom module and page. This will allow you to write code, run the app on the device and see it working.

4) Ok, I see what is confusing you. No, this page "Submit to App Store" does not mean that the new build you're requesting will get to the App Store automatically. In fact it tells you on this page "Select Build and Publication Type". 

This is how you should understand what this page does: "When you are done with editing your app on the website, you want to do something with it. So here are your options". 
There are different things you can do with your application: you can request an automatic build of your app and receive binary by email, you can ask us to make a binary and submit it to your App Store account, etc. One of the things you can do with the app is request an SDK project based on that app.

Please read the descriptions of each option on this submission page for more details.

4.5) "But anyhow which application should I select" - you should select the application to which you have added your newly created page. This is how you can open that page on actual device, see and test your work. Please read step 3 again.

_______


PS. Mario, developing a module requires programming skills. You can't just download some code or library from somewhere and paste it somewhere on our site and be done with it. You need to have basic knowledge of iOS development: how to work with Xcode, what a target is, what a binary is, what a bundle is, how to build a project, how to write some Objective-C code. 



Aug 29, 2014 01:13 PM

Hello Timur,

As you know we run a Publisher site. So we need to know what to sell. At least I need to know the procedure to follow.

I am not a programmer myself but we have resources for this.

So if you don't mind we will run a test ourselves. Support along the way is appreciated.

Thanks.
Mario



Aug 31, 2014 05:26 AM

Hello Timur,

What would help me is an IOS demo module. So I can run the process without having to stumble across the programming.

Can you provide me one?

Kind regards,
Mario



Sep 01, 2014 04:37 AM
Mario,

If you're not a developer and can't follow these instructions please create a support ticket and our team will help you set up everything.

    1   
You must login to post messages. Click here to log in.