ページの先頭行へ戻る
Interstage Mobile Application Server V1.2.0 アプリケーション開発ガイド
FUJITSU Software

7.5.7 拡張データの指定

端末に結びついた登録IDの拡張データを更新します。

プッシュクライアント設定ファイル(push.properties)にあらかじめ設定した値よりも、本処理で設定した値が優先されます。


Android - IMAPSプッシュ
PushManager.init()を呼び出す前に、PushPropertiesインスタンスに拡張データを設定してください。
PushManager pm = new PushManager(context);
    ...
Properties props = PushProperties.getInstance(this);props.setProperty(PushDefine. KEY_EXTENSION_DATA, "xxxx");

try {pm.init();              // init()実行時にIMAPSサーバと通信を行なうので、
} catch (PushException e) {   //拡張データを変更する場合もinit()を呼び出す必要があります。
   e.printStackTrace();
}
Android - GCM
GcmRegister.register()/register(String)を呼び出す前に、Push
Propertiesインスタンスに拡張データを設定してください。
GcmRegister gcm = GcmRegister gcm = GcmRegister.getInstance(this);
    ...
Properties props = PushProperties.getInstance(this);props.setProperty(PushDefine. KEY_EXTENSION_DATA, "xxxx");gcm.register();    // regist()実行時にIMAPSサーバと通信を行なうので、//拡張データを変更する場合もregist()を呼び出す必要があります。
    ...
iOS - APNs
APNsを利用開始する際に呼び出す[UIApplication registerForRemoteNotification:]を実行する前に、プッシュ部品のFJPApplicationクラスのプロパティextDataに拡張データを設定してください。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    ...
    if( [application isKindOfClass:[FJPApplication class]] ) {        [((FJPApplication*)application) setExtData:@"xxxx"];    }
        // 本関数を実行後にプッシュ部品のFJPAppDelegateクラス内でIMAPSサーバと通信を行なうので、    // 拡張データを更新する場合も再度呼び出す必要がある    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge                                                               | UIRemoteNotificationTypeSound                                                               | UIRemoteNotificationTypeAlert)];
    ...
ハイブリッド
アプリケーションで固定の値を持つ場合は、プッシュクライアント設定ファイルのpush.ExtensionDataに値を記述しておき、FJPHandler.initを呼んでください。
var nullopt = {};
FJPHandler.init("FJ",
    nullopt,
    function(result) {
        // プッシュを受信可能な状態になった後の処理
    },
    function(result) {
        // エラー発生時のコールバック
    }
);

動的に値を変更したい場合は、FJPHandler.initの引数optionsに、拡張データをJSON形式で指定してください。

var jsonText = '{"ext_data":"Extension String"}';
FJPHandler.init("FJ",JSON.parse(jsonText ),
    function(result) {
        // プッシュを受信可能な状態になった後の処理
    },
    function(result) {
        // エラー発生時のコールバック
    }
);