SDK ホワイトラベル機能は、顧客がカスタム 名前空間 と JSAPI プレフィックスを構成することをサポートします。この機能を使用する必要がある場合は、お問い合わせください。
はじめに
// 認証処理
const authorize = () =>{
window.WindVane.call('WVAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
// イベントリスナー
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function(e) { ... }, false);上記の コード スニペットに示すように、一部の顧客はミニアプリ コードで "WindVane" 名前空間 と "WV" クラス名プレフィックスを使用したくありません。上記の "WindVane" 名前空間 と "WV" クラス名プレフィックスをカスタマイズしたいと考えています。したがって、設定項目として新たに3つの設定項目が追加されました。
setSuperAppNameSpace(String nameSpace) は、ミニアプリが JsApi にアクセスするための ウィンドウ オブジェクト名を設定するために使用されます。 デフォルト値 は "WindVane" です。
setJsApiClassNamePrefix(String classNamePrefix) は、カスタム JsApi クラス名プレフィックスを設定するために使用されます。 デフォルト値 は "WV" です。
setWindVaneBackwardCompatible(boolean bool) は、古いバージョンのミニアプリと互換性があるかどうかを設定するために使用されます。 デフォルト値 true は、古いバージョンのミニアプリと互換性があることを示します。
新しい設定項目と使用方法
a. 新しい設定項目
// 初期化処理
public static void init() {
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
.setUseWindVane(true)
.setHost("your.host.name") // ホスト名を設定
.setAppCode("your app code") // アプリケーションコードを設定
.setAccessKey("your access key") // アクセスキーを設定
.setSecretKey("your secret key") // シークレットキーを設定
...
// 新しい設定項目
.setWindVaneBackwardCompatible(true) // 旧バージョンとの互換性を設定
.setSuperAppNameSpace("your NameSpace") // 名前空間を設定
.setJsApiClassNamePrefix("your ClassNamePrefix") // クラス名プレフィックスを設定
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);
}使用例
SuperAppNameSpace を "SuperApp"、JsApiClassNamePrefix を "SA" として定義します。
// 初期化処理
public static void init() {
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
.setUseWindVane(true)
.setHost("your.host.name") // ホスト名を設定
.setAppCode("your app code") // アプリケーションコードを設定
.setAccessKey("your access key") // アクセスキーを設定
.setSecretKey("your secret key") // シークレットキーを設定
...
// 新しい設定項目
.setWindVaneBackwardCompatible(true) // 旧バージョンとの互換性を設定
.setSuperAppNameSpace("SuperApp") // 名前空間を設定
.setJsApiClassNamePrefix("SA") // クラス名プレフィックスを設定
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);構成が完了したら、ミニアプリ JSAPI 呼び出しを比較します。
// カスタマイズ前の jsapi 呼び出し
// 認証処理
const authorize = () =>{
window.WindVane.call('WVAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
// イベントリスナー
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function(e) { ... }, false);
// カスタマイズ後の jsapi 呼び出し
// 認証処理
const authorize = () =>{
window.SuperApp.call('SAAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
// イベントリスナー
document.addEventListener('SA.Event.SABluetooth.characteristicValueChanged', function(e) {
...
}, false);上記の コード スニペットに示すように、NameSpace と ClassNamePrefix がそれぞれ "SuperApp" と "SA" に設定されている場合、ミニアプリが JsApi を呼び出すと、NameSpace は WindVane -> SuperApp に変更され、ClassNamePrefix は WV... -> SA... に変更されます。
b. 構成方法
ミニアプリが "WindVane" 名前空間 と "WV" クラス名プレフィックスのみを使用するユーザーの場合、これら3つの設定項目をさらに構成する必要はなく、 デフォルト値 を使用できます。
すべてのミニアプリでカスタム 名前空間 とカスタム クラス名プレフィックスのみを使用するユーザーの場合、構成は次のとおりです。
// 初期化処理
public static void init() {
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
...
// 新しい設定項目
.setWindVaneBackwardCompatible(false) // 旧バージョンとの互換性を設定
.setSuperAppNameSpace("your NameSpace") // 名前空間を設定
.setJsApiClassNamePrefix("your ClassNamePrefix") // クラス名プレフィックスを設定
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);
}一部のミニアプリでは、まだ "WindVane" 名前空間と "WV" クラス名プレフィックスが使用されています。カスタム名前空間とカスタムクラス名プレフィックスを使用する他の新しいバージョンのミニアプリの場合は、
一部のミニアプリでは、まだ "WindVane" 名前空間 と "WV" クラス名プレフィックスを使用しています。カスタム 名前空間 とカスタム クラス名プレフィックスを使用する他の新しいバージョンのミニアプリの場合、構成は次のとおりです。
// 初期化処理
public static void init() {
MiniAppInitConfig config = new MiniAppInitConfig.Builder()
...
// 新しい設定項目
.setWindVaneBackwardCompatible(true) // 旧バージョンとの互換性を設定
.setSuperAppNameSpace("your NameSpace") // 名前空間を設定
.setJsApiClassNamePrefix("your ClassNamePrefix") // クラス名プレフィックスを設定
...
.build();
IMiniAppService miniAppService = new MiniAppService();
miniAppService.initialize(application, config);
}