ページの先頭行へ戻る
Interstage Mobile Application Server V1.1.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) {
        // エラー発生時のコールバック
    }
);