ForgeにあるOutSystemsのスマートフォンアプリ対応機能OutSystems Nowを利用して、スマートフォンのネイティブ機能を試してみます。
今回は、連絡先登録です。スマートフォンユーザの連絡先に登録します。登録できるだけで閲覧や検索のような機能はないようです。これはカレンダー登録と同じ。
Nowについてはきちんとした仕様が見つからないので、試してみた結果のみで書いている点に注意してください。
シリーズ一覧:
- OutSystemsモバイル(0) OutSystems Nowの機能はスマートフォンアプリでないと動かないみたい
- OutSystemsモバイル(1) バーコード・QRコード
- OutSystemsモバイル(2) カメラ
- OutSystemsモバイル(3) 位置情報
- OutSystemsモバイル(4) カレンダー登録
- OutSystemsモバイル(5) 連絡先登録
Table of Contents
機能
OutSystems Now内で、AddCalendarEventというWeb Blockとして実装されています。
OutSystems Now App(スマートフォンアプリ。使っているスマートフォンのアプリストアから無料でダウンロードできます)で開いているときのみ、以下の動作をします。
- パラメータで指定したボタンがクリックされたとき、スマートフォンの連絡先に、別のパラメータで指定した連絡先情報を登録する
- なお、パラメータとして渡す連絡先情報の情報は画面表示時に決まってしまう(入力部品等で変更しても反映されない)
連絡先情報に渡せる情報は以下4つ。
全て必須です。
- 名(Text型)
- 姓(Text型)
- 電話番号(Phone Number型)
- EMail(EMail型)
利用手順
OutSystems Nowを開発環境にインストールしていなければ、インストール。
開発するモジュールを開いて参照を追加します。Manage Dependenciesアイコンをクリック。
OutSystems NowのScreen Flows/DeviceFeatures/AddContactにチェックを入れてOKをクリック。
これで開発するモジュールに連絡先登録機能を組み込めるようになります。
テスト用にWeb Screenを1つ作ります。
ローカル変数として、連絡先情報に渡せる4つの情報を用意しておきます。
- 名:FirstName
- 姓:LastName
- 電話番号:Phone(Phone Number型)
- EMail:EMail(EMail型)
あくまでテスト向けなので、Preparation Screen Actionを用意して適当な値を設定しておきます(Assignを使用)。
ここでは自分の連絡先を設定しておきました。
下の画像が作ったスクリーンです。
値は全てPreparation内でやってしまうので配置するのはButton1個(Nameを付け、MethodをAjax Submitに変更)と、
OutSystems Now/DeviceFeatures/AddCContact(プロパティは画像右下を参照)1個をドラッグ&ドロップして配置。
動作確認
スマートフォンでOutSystems Nowを開いて、テストアプリケーションにつなぎましょう。
ボタンを押して登録が成功したところ。
追加した連絡先きちんと反映されました。
OutSystems Nowがサポートしていない属性も、たくさんあるみたいですね。
Cordovaのページを見ると追加できそうな属性がたくさんあります。必要な人はOutSystems NowをCloneして改修して対応かな。
気になるところ
これも登録しかできません。
よく見ると成功、失敗時のメッセージが英語固定で埋め込まれています。
サンプル実装なんだろうか……。
// iOS & Android function OutSystemsNative_OnCreateContactSuccess() { OutSystemsNow_ShowSuccessFeedback('Contact created') } function OutSystemsNative_OnCreateContactFail() { OutSystemsNow_ShowErrorFeedback('Contact not created. Please check your application permissions, in your device settings.') }
また、カレンダー登録と同じように画面表示時点のパラメータがボタンクリック時にそのまま登録されてしまいます。
つまり、入力フォームを置いて、ユーザが自分好みに名前を変えてから登録しても、初期表示された名前で登録される。
改修で対応しなければいけないです。
関連情報
公式チュートリアル ←(2022/3/21 リンク切れにつき、リンク削除)