Skip to content


アプリ内メッセージのビヘイビアをカスタマイズする

ABKInAppMessageinAppMessageClickActionType プロパティは、アプリ内メッセージがクリックされた後の動作を定義します。このプロパティは読み取り専用です。アプリ内メッセージのクリック動作を変更する場合は、ABKInAppMessage で以下のメソッドを呼び出すことができます。

1
[inAppMessage setInAppMessageClickAction:clickActionType withURI:uri];
1
inAppMessage.setInAppMessageClickAction(clickActionType: clickActionType, withURI: uri)

inAppMessageClickActionType は次のいずれかの値に設定できます。

アプリ内メッセージ本文クリック数のカスタマイズ

アプリ内メッセージがクリックされると、次の ABKInAppMessageUIDelegate デリゲートメソッドが呼び出されます。

1
- (BOOL) onInAppMessageClicked:(ABKInAppMessage *)inAppMessage;
1
func onInAppMessageClicked(inAppMessage: ABKInAppMessage!) -> Bool

アプリ内メッセージボタンクリックのカスタマイズ

アプリ内メッセージボタンや HTML アプリ内メッセージボタン (リンクなど) のクリックに対して、ABKInAppMessageUIDelegateには次のデリゲートメソッドが含まれています。

1
2
3
4
5
6
- (BOOL)onInAppMessageButtonClicked:(ABKInAppMessageImmersive *)inAppMessage
                             button:(ABKInAppMessageButton *)button;

- (BOOL)onInAppMessageHTMLButtonClicked:(ABKInAppMessageHTML *)inAppMessage
                             clickedURL:(nullable NSURL *)clickedURL
                               buttonID:(NSString *)buttonID;
1
2
3
4
5
func onInAppMessageButtonClicked(inAppMessage: ABKInAppMessageImmersive!,
                                 button: ABKInAppMessageButton) -> Bool

func onInAppMessageHTMLButtonClicked(inAppMessage: ABKInAppMessageHTML!,
                                     clickedURL: URL, buttonID: String) -> Bool

各メソッドは、Braze がクリックアクションを実行し続ける必要があるかどうかを示す BOOL 値を返します。

デリゲートメソッドでボタンのクリックアクションタイプにアクセスするには、次のコードを使用できます。

1
2
3
4
5
6
7
if ([inAppMessage isKindOfClass:[ABKInAppMessageImmersive class]]) {
      ABKInAppMessageImmersive *immersiveIAM = (ABKInAppMessageImmersive *)inAppMessage;
      NSArray<ABKInAppMessageButton *> *buttons = immersiveIAM.buttons;
      for (ABKInAppMessageButton *button in buttons) {
         // Button action type is accessible via button.buttonClickActionType
      }
   }
1
2
3
4
5
6
if inAppMessage is ABKInAppMessageImmersive {
      let immersiveIAM = inAppMessage as! ABKInAppMessageImmersive;
      for button in inAppMessage.buttons as! [ABKInAppMessageButton]{
        // Button action type is accessible via button.buttonClickActionType
      }
    }

アプリ内メッセージにボタンがある場合、実行されるクリックアクションは ABKInAppMessageButton モデルのクリックアクションのみです。ABKInAppMessage モデルにデフォルトのクリックアクションが割り当てられている場合でも、アプリ内のメッセージ本文はクリックできません。

メソッドの宣言

詳細については、次のヘッダー ファイルを参照してください。

New Stuff!