index.html の実装

まず、Web アプリで初めに読み込まれる index.html ファイルから見ていきます。

このページでは、順に次の 3 つの定義を行っています。

  • スクリプト等の読み込み

  • SDK の初期化処理の実行

  • コンテンツの作成

スクリプト等の読み込み

HTML の先頭にある <head> 要素で、Kii Cloud SDK の JavaScript ソース、各ページの機能が実装された JavaScript ソース 2 件、および、スタイルシートを読み込んでいます。

以下のように、各ファイルを埋め込んでいます。

<script type="text/javascript" src="html5-cloud-sdk-v2.4.2.js"></script>
<script type="text/javascript" src="login-page-callback.js"></script>
<script type="text/javascript" src="list-page-callback.js"></script>
<link rel="stylesheet" href="hellokii.css" />

すでに説明したように、Hello Kii ではコールバック版と Promise 版の両方で同じ機能を実装しています。ここでは、login-page-callback.jslist-page-callback.js が設定されているため、コールバック版の JavaScript ファイルが参照されます。

<script> タグで Kii Cloud SDK も読み込ませている点にご注意ください。自分で Web アプリを作成する場合も、ダウンロードした Kii Cloud SDK を、Web アプリの構成ファイルの一部として配布/公開する必要があります。

SDK の初期化処理の実行

<head> 要素内に以下のスクリプトを定義しています。window.onload イベントのハンドラーに設定しているため、HTML ページの読み込み時に自動実行されます。ここでは Kii Cloud SDK の初期化処理を行います。

<script type="text/javascript">
  // Initialize the page.
  window.onload = function() {
    // Initialize the Kii Cloud SDK.
    Kii.initializeWithSite("12345678", "abcdef0123456789abcdef0123456789", KiiSite.JP);
  }
</script>

Kii.initializeWithSite() は SDK の初期化メソッドです。ここでのパラメータは 3 つあり、順にアプリケーションの AppID、AppKey(任意の値)、サーバー設置場所を表します。

Kii Cloud には、多数の開発者が作成した多数のアプリケーションが存在しており、それぞれを識別するため、AppID を使用します。これらの値は開発者ポータルでアプリケーションを作成したときに生成されます。

下の図のように、モバイルアプリの初期化処理では、AppID を指定します。図の AppID = 1111 の例のように、複数のプラットフォームから同じ値を指定すると、同じアプリケーションのユーザーやデータを参照することもできます。

Hello Kii では、開発者ポータルからソースコードをダウンロードする際、開発者ポータルが自動的に AppID と AppKey を埋め込んで、開発者ポータルアカウント専用の ZIP ファイルを作成します。そのため、プロジェクトを開いた段階で、このページの初めに示したような初期化コードがすでに埋め込まれています。

新規にプロジェクトを作成する場合、この値を自分で埋め込む必要があります。アクセスキーの確認とリセット の内容に従って、アプリケーショの AppID を確認してください。

注意

AppID を知っていてもアプリケーションは攻撃できませんが、ClientID と ClientSecret を使えば、アプリケーション内の全データに対して管理者権限でのアクセスができてしまいます。ClientID と ClientSecret は開発者ポータルへのログインパスワードと同等の厳重な管理が必要です。

特に、サポートコミュニティへの投稿にコードやコマンドを貼り付けるような場合、ClientID と ClientSecret は必ずマスクしてください。Kii のサポートに問い合わせる場合は AppID とサーバー設置場所のみお知らせいただければ十分です。

コンテンツの作成

最後に <body> 要素内に HTML ページを定義します。

今回は、ログイン画面とデータ一覧画面の両方のページを <div> 要素内に記述しておき、style 属性の display プロパティで切り替えることによってページ遷移を実現します。

以下は定義内容の概略です。<div> 要素が 3 つあり、それぞれ、ヘッダ部分、ログイン画面、データ一覧画面を定義します。login-pagelist-pagestyle 属性の display プロパティを切り替えることで、ログイン画面とデータ一覧画面の画面遷移を実現します。

<body>
  <div class="app-header">
    Hello Kii
  </div>

  <div id="login-page" class="app-body">
    ...... contents of the user login screen ......
  </div>

  <div id="list-page" class="app-body" style="display: none">
    ...... contents of the data listing screen ......
  </div>
</html>

この画面遷移の仕組みは Hello Kii の説明用に簡略化したものであり、通常のサービスが要求する規模では管理しきれなくなるはずです。実際の Web アプリを開発する場合、Web アプリ構築用のフレームワークを使用することでページ遷移を実現してください。


次は...

ログイン画面の処理について説明します。API の使用方法などを見ていきます。

ログイン画面の実装 に移動してください。

より詳しく学びたい方へ

  • モバイルアプリを新規に作成する方法は JavaScript アプリ開発の準備 をご覧ください。
  • セキュリティ にセキュリティの情報をまとめています。AppID を知っていても第三者が攻撃できない点を確認できます。