ハイブリッドアプリケーション向けのAPIはJavaScriptで提供します。
<製品インストールフォルダー>\development\android\push\hybrid
/opt/FJSVimsrv/development/android/push/hybrid
上記ディレクトリから開発用端末に資産をコピーし、プロジェクトとしてインポートします。次に、インポートしたプロジェクトを参照ライブラリプロジェクトとして設定します。
<製品インストールフォルダー>\development\ios\push\plugin\FJPCordovaPlugin.1.0.zip
/opt/FJSVimsrv/development/ios/push/plugin/FJPCordovaPlugin.1.0.zip
プッシュ機能のライブラリを取り込むため、XCodeのプロジェクトの「Build Settings」→「Linking」→「Other Linker Flags」に、"-ObjC"を設定してください。
ネイティブアプリケーションの開発と同様、以下を行ってください。
7.5.2 IMAPSプッシュ通知を利用するネイティブアプリケーションの開発の1.マニフェストファイルの修正、および2. プッシュクライアント設定ファイルの作成を実施してください。
7.5.3 GCMプッシュ通知を利用するネイティブアプリケーションの開発のGCMプッシュ通知を利用するネイティブアプリケーションを開発するための事前準備、1. マニフェストファイルの修正、および2. プッシュクライアント設定ファイルの作成を実施してください。
7.5.4 APNsプッシュ通知を利用するネイティブアプリケーションの開発の1. プッシュクライアント設定ファイルの作成、および2. プッシュクライアント設定ファイル設定、プッシュハンドラ初期化処理の作成の項番1,2を実施してください。「2.プッシュクライアント設定ファイル設定、プッシュハンドラ初期化処理の作成」の項番4を、以下のように実施してください。
//@interface MainViewController: CDVViewController @interface MainViewController : FJPCDVViewController
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 拡張データの指定を参照してください。
注意