バナー広告を表示した状態でキー入力を行うと、広告が邪魔になってしまいます。
そこで、cordova-plugin-ionic-keyboardプラグインのキーボードの表示直前に発火するkeyboardWillShowイベント、キーボードの非表示後に発火するkeyboardDidHideイベントを利用して、広告の表示・非表示を制御します。
keyboardWillShowイベントはひと癖あるので、今回はその注意点について説明します。
入力項目をタップした瞬間にkeyboardWillShowイベントが発火します。
この状態で「あ」と入力した瞬間にkeyboardWillShowイベントが発火します。
「あ」の候補が表示されるとキーボードの高さが変わるため、イベントが発火します。
キーボードの高さが変わると何度もイベントが発火してしまうので、isVisibleプロパティがfalseの場合のみ処理を実行します。
keyboardDidHideイベントの発火はキーボード非表示後の一度のみですが、同じような処理にすれば確実ではないでしょうか。
1 2 3 4 5 6 7 8 9 10 |
window.addEventListener("keyboardWillShow", function (e) { if (!Keyboard.isVisible) { // バナー広告非表示 } }, false); window.addEventListener("keyboardDidHide", function (e) { if (!Keyboard.isVisible) { // バナー広告表示 } }, false); |