SDK を使用すると、カスタムチャンネルと JSAPI プレフィックスを設定できます。この機能を有効にするには、お問い合わせください。
はじめに
const authorize = () =>{
window.WindVane.call('WVAuthorize', 'authorize', {}, function(e) { ... }, function(e) { ... });
};
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function(e) { ... }, false);前のスニペットで示されているように、ミニプログラムのコードで "WindVane" および "WV" 識別子を使用しないようにするために、SDK は次の 3 つの設定項目を提供します。
superAppNameSpace:ミニプログラムが JSAPI にアクセスするために使用するウィンドウオブジェクト名を設定します。デフォルト値は "WindVane" です。jsApiClassNamePrefix:カスタム JSAPI クラス名のプレフィックスを設定します。デフォルト値は "WV" です。windvaneBackwardCompatible:以前のミニプログラムとの互換性を維持するかどうかを指定するブール値です。デフォルト値は true です。
新しいパラメーターと使用方法
a. 新しいパラメーター
- (void)initConfig {
EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];
...
// 新しい設定項目
miniAppInitConfig.windvaneBackwardCompatible = YES;
miniAppInitConfig.superAppNameSpace = @"your NameSpace";
miniAppInitConfig.jsApiClassNamePrefix = @"your ClassNamePrefix";
...
EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
[miniAppService initialize:miniAppInitConfig];
}例
この例では、superAppNameSpace を "SuperApp" に、jsApiClassNamePrefix を "SA" に設定します。
- (void)initConfig {
EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];
...
// 新しい設定項目
miniAppInitConfig.windvaneBackwardCompatible = YES;
miniAppInitConfig.superAppNameSpace = @"SuperApp";
miniAppInitConfig.jsApiClassNamePrefix = @"SA";
...
EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
[miniAppService initialize:miniAppInitConfig];
}次のコードは、この設定を適用する前と後の 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);前のコードで示されているように、superAppNameSpace を "SuperApp" に、jsApiClassNamePrefix を "SA" に設定すると、ミニプログラムが JSAPI を呼び出す方法が変更されます。名前空間は WindVane から SuperApp に変更され、クラス名のプレフィックスは WV... から SA... に変更されます。
b. 設定シナリオ
すべてのミニプログラムがデフォルトの "WindVane" 名前空間と "WV" クラス名プレフィックスのみを使用する場合、SDK がこれらのデフォルト値を自動的に適用するため、これらの項目を設定する必要はありません。
すべてのミニプログラムがカスタムの名前空間とカスタムのクラス名プレフィックスのみを使用する場合は、次の設定を使用します。
- (void)initConfig {
EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];
...
// 新しい設定項目
miniAppInitConfig.windvaneBackwardCompatible = NO;
miniAppInitConfig.superAppNameSpace = @"your NameSpace";
miniAppInitConfig.jsApiClassNamePrefix = @"your ClassNamePrefix";
...
EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
[miniAppService initialize:miniAppInitConfig];
}"WindVane" 名前空間と "WV" クラス名プレフィックスを使用する以前のミニプログラムと、カスタムの名前空間とプレフィックスを使用する新しいミニプログラムの両方をサポートする必要がある場合は、次の設定を使用します。
- (void)initConfig {
EMASMiniAppInitConfig *miniAppInitConfig = [EMASMiniAppInitConfig new];
...
// 新しい設定項目
miniAppInitConfig.windvaneBackwardCompatible = YES;
miniAppInitConfig.superAppNameSpace = @"your NameSpace";
miniAppInitConfig.jsApiClassNamePrefix = @"your ClassNamePrefix";
...
EMASMiniAppServiceImpl *miniAppService = [EMASMiniAppServiceImpl new];
[miniAppService initialize:miniAppInitConfig];
}