ここでは、GeneXus ネイティブ モバイル アプリケーションでローカル通知を使用する方法を簡単に説明します。
GeneXus コアモジュールには、ローカル通知を有効にするために使用される 2 つのオブジェクトがあります。
これらのオブジェクトについては、「
LocalNotifications 外部オブジェクト」を参照してください。
LocalNotifications 外部オブジェクトには、
CreateAlerts というメソッドがあり、入力パラメーターとして LocalNotificationsInfo SDT に基づく変数を期待します。
このアクションが実行されると、アプリは LocalNotifications SDT 変数で渡されたすべてのローカル通知のスケジュールを設定します。
手順 2: ローカル通知のプログラミング
通知を機能させるには、次の
Procedure オブジェクトを作成します (例: 「SendLocalNotificationsServer」)。
この例で、このプロシージャーは、LocalNotificationsInfo SDT をロードするために作成されます。これをプロシージャーで行うのは必須ではないため、別の方法で行うこともできることに注意してください。
Parm:
parm(out: &MySdtLocalNotifications);
ソース:
&MySdtLocalNotificationsItems.DateTime = ymdhmstot(2012,06,07,16,56,00)
&MySdtLocalNotificationsItems.Text = "My Local Test"
&MySdtLocalNotifications.Add(&MySdtLocalNotificationsItems)
変数:
MySdtLocalNotifications -> SDTLocalNotifications
MySdtLocalNotificationsItems -> SDTLocalNotifications.Item
次に、
Panel オブジェクトを作成します:
レイアウト:
イベント:
Event 'SendNotification'
Composite
&MySdtLocalNotifications = SendLocalNotificationsServer()
LocalNotifications.CreateAlerts(&MySdtLocalNotifications)
EndComposite
EndEvent
アプリケーションを実行します。
まず、 [ Panel ] ボタンを押して、ローカル通知のスケジュール設定を始めます。
その後、通知が設定され、指定時刻になるとデバイスに通知が表示されます。
ローカル通知が追加された場合:
ローカル通知がトリガーされた場合:
このメソッドのサンプルを次のページからダウンロードできます:
WorkingWithLocalNotifications
外部オブジェクトの
Create メソッドは数値を返します。0 が返された場合、実行時にエラーが発生しなかったことを意味します。0 以外の数値が返された場合、実行時エラーが発生しています。
この機能は、次のバージョンの GeneXus に導入されています:
-
GeneXus Evolution 2 Upgrade 1 以降の Apple
-
GeneXus Evolution 2 Upgrade 3 以降の Android
- iOS 8 以降、ローカル通知にはユーザーの承認が必要になりました。この API を最初に使用する際に、ユーザーは自動的に承認を求められます。手動でこれを行いたい場合には、Apple アプリケーション用の Permissions 外部オブジェクトを使って行うことができます (たとえば、アプリケーションがバックグラウンドにあるときなど)。
- LocalNotification SDT の DateTime フィールドが空の場合、通知はすぐにトリガーされます。
LocalNotifications 外部オブジェクト