ハイブリッドアプリケーション向けのAPIはJavaScriptで提供します。
Androidの場合、IMAPS向けのハイブリッドアプリケーションの開発環境を準備後、以下のファイルをコピーしてください。開発環境については、「1.2.2 開発環境とライセンス」を参照してください。
Windows版サーバの場合:
<製品インストールフォルダー>\development\android\push\hybrid
Linux版サーバの場合:
/opt/FJSVimsrv/development/android/push/hybrid
上記ディレクトリから開発用端末に資産をコピーし、プロジェクトとしてインポートします。次に、インポートしたプロジェクトを参照ライブラリプロジェクトとして設定します。
iOSの場合、IMAPS向けのハイブリッドアプリケーションの開発環境を準備後、以下からzipファイルを取得し、Mac上で展開してください。
Windows版サーバの場合:
<製品インストールフォルダー>\development\ios\push\plugin\FJPCordovaPlugin.1.0.zip
Linux版サーバの場合:
/opt/FJSVimsrv/development/ios/push/plugin/FJPCordovaPlugin.1.0.zip
1.マニフェストファイルの修正と、プッシュクライアント設定ファイルの設定
ネイティブアプリケーションの開発と同様、以下を行ってください。
IMAPSプッシュ
「7.5.2 IMAPSプッシュ通知を利用するネイティブアプリケーションの開発」の「1.マニフェストファイルの修正」、および「2. プッシュクライアント設定ファイルの作成」を実施してください。
GCM
「7.5.3 GCMプッシュ通知を利用するネイティブアプリケーションの開発」の「GCMプッシュ通知を利用するネイティブアプリケーションを開発するための事前準備」、「1. マニフェストファイルの修正」、および「2. プッシュクライアント設定ファイルの作成」を実施してください。
APNs
「7.5.4 APNsプッシュ通知を利用するネイティブアプリケーションの開発」の「1. プッシュクライアント設定ファイルの作成」、および「2. プッシュクライアント設定ファイル設定、プッシュハンドラ初期化処理の作成」の項番1,2を実施してください。「2.プッシュクライアント設定ファイル設定、プッシュハンドラ初期化処理の作成」の項番4を、以下のように実施してください。
//@interface MainViewController: CDVViewController @interface MainViewController : FJPCDVViewController
2.プッシュハンドラ初期化処理の作成
FJPHandler.initメソッドを呼び出すことで、初期化され、メッセージの受信を開始します。
以下に使用例を示します。
var jsonText = '{"ext_data":"Extension String"}'; FJPHandler.init("FJ", // プッシュの種類を指定 FJ:IMAPSプッシュ JSON.parse(jsonText ), // 初期化時に使用する値を設定。 function(result) { // プッシュを受信可能な状態になった後の処理 }, function(result) { // エラー発生時のコールバック } );
各プッシュ方式固有の動作、設定は以下のとおりです。
観点 | IMAPSプッシュ (Android) | GCM (Android) | APNs (iOS) |
---|---|---|---|
init()のoptionsに渡す情報 | 拡張データ | 拡張データ SENDER_ID(注1) | 拡張データ |
setNotification Mode() | 動作する | 一部動作する (Android4.1以降は端末の通知設定が優先) | 動作しない (端末設定の「通知センター」で設定) |
プッシュを利用するための事前設定 | AndroidManifest.xmlに、ネイティブAPIと同様の記述が必要(注2) | AndroidManifest.xmlに、ネイティブAPIと同様の記述が必要(注3) | ネイティブ層の修正が必要 |
errorCallback | IMAPSサーバとの通信エラーが返される | IMAPSサーバとの通信エラーが返される | JavaScript層にエラーを返せないので、ネイティブ層の作り込みが必須(注4)。 |
注1)GCMプッシュの際のSENDER IDになります。7.4.2クライアント側のAPIのGcmRegister.register()に渡すものと同じ内容です。 以下のように指定してください
JSON{"sender_id":"(GCMの開発者コンソールから入手したSENDER IDの値)"}
注2)「IMAPSプッシュ通知を利用するネイティブアプリケーションの開発」の「1.マニフェストファイルの修正」を参照してください。
注3)「GCMプッシュ通知を利用するネイティブアプリケーションの開発」の「1. マニフェストファイルの修正」を参照してください。
注4) iOSの場合、デバイストークン生成時のエラーやIMAPSサーバとの通信エラーは、FJPAppDelegateを継承したサブクラスの[UIAppliationDelegate application:didFailToRegisterForRemoteNotificationWithError:]にコールバックされるため、このインタフェースをオーバライドしてエラー処理の実装が必要です。
ハイブリッドアプリケーションでログ出力を行う場合、「7.5.5 ログ出力のカスタマイズ」を参照してください。
認証の設定は、「7.5.6 認証クラスの定義」を参照してください。
拡張データを指定する場合は、「7.5.7 拡張データの指定」を参照してください。
注意
ダウンロード方法により読み込み専用ファイルとなる場合がありますが、プロジェクト読み込み時にファイルの書き込み権限が必要となりますので、その際は権限の付与など必要な対処を実施して下さい。