IMAPSプッシュ通知を利用するネイティブアプリケーション向けのAPIはJavaで提供します。
<製品インストールフォルダー>\development\android\push\native
/opt/FJSVimsrv/development/android/push/native
上記ディレクトリから開発用端末に資産をコピーし、プロジェクトとしてインポートします。次に、インポートしたプロジェクトを参照ライブラリプロジェクトとして設定します。
IMAPSプッシュ通知を利用するネイティブアプリケーションの開発には、以下の作業が必要です。
android.permission.ACCESS_WIFI_STATE
android.permission.READ_PHONE_STATE
android.permission.ACCESS_NETWORK_STATE
"android.permission.RECEIVE_BOOT_COMPLETED"
action android:name="android.intent.action.BOOT_COMPLETED
... <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <application ...> <activity ...> ... </activity> <service android:name="com.fujitsu.xxx.push.PushService" /> <receiver android:name="com.fujitsu.imaps.push.BootReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED"/> </intent-filter> </receiver>
プッシュハンドラに渡すパラメータを、プッシュクライアント設定ファイル(push.properties)に設定します。プッシュクライアント設定ファイルについては、付録G プッシュクライアント設定ファイルを参照してください。
プッシュクライアント設定ファイル情報は、プッシュハンドラを利用する前に設定してください。
以下はプッシュクライアント設定ファイルの設定例です。
// プッシュサーバとの接続先をプッシュクライアント設定ファイルに設定する push.ServerAddress = https://example.com/ push.SelfCertificate = true
以下はプッシュ通知を受信できる状態にする場合のプッシュハンドラ初期化処理例です。
public class Sample { // プッシュ部品のインスタンス private static PushManager mPushManager = null; // プッシュ部品から通知を受け取るためのコールバッククラスの宣言 private class MyReceiver extends PushReceiver{ @Override public void callback(int result, Bundle data) { // ここに通知されます if(result == PushDefine.RESULT_REG_SERVER_SUCCESS) { // 初期化完了 } } } public void executeSample() { // プッシュハンドラの初期化 mPushManager = new PushManager(context, new MyReceiver()); pm.bind(PushService.class); try { pm.init(); } catch (PushException e) { e.printStackTrace(); } … } }
以下はプッシュ通知を受信できる状態にしない場合(登録ID払出だけ)のプッシュハンドラ初期化処理例です。任意のタイミングでプッシュ基盤サーバとの接続がおこなえます。
public class Sample { // プッシュ部品のインスタンス private static PushManager mPushManager = null; // プッシュ部品から通知を受け取るためのコールバッククラスの宣言 private class MyReceiver extends PushReceiver{ @Override public void callback(int result, Bundle data) { // ここに通知されます if(result == PushDefine.RESULT_REG_SERVER_SUCCESS) { // 初期化完了 // プッシュ基盤サーバと接続 mPushManager.connect(); } } } public void executeSample() { // プッシュハンドラの初期化 mPushManager = new PushManager(context, new MyReceiver()); pm.bind(PushService.class); try { pm.initAtomic(); } catch (PushException e) { e.printStackTrace(); } … } }
ログ出力を行う場合、7.5.5 ログ出力のカスタマイズを参照してください。
認証の設定は、7.5.6 認証クラスの定義を参照してください。
拡張データを指定する場合は、7.5.7 拡張データの指定の指定を参照してください。
エラー通知受け取りを行う場合、7.5.8 IMAPSプッシュの処理結果受け取りを参照してください。
注意