Skip to content


アプリ内メッセージのクリック時の動作をカスタマイズする

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

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

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

ABKInAppMessageClickActionType クリック時動作
ABKInAppMessageRedirectToURI メッセージがクリックされたときに指定されたURIが表示され、メッセージは閉じられます。uri パラメータをnilにすることはできないことに注意してください。
ABKInAppMessageNoneClickAction クリックするとメッセージが閉じられます。uri パラメータは無視され、ABKInAppMessageuri プロパティはnilに設定されます。

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

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

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

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

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

- (BOOL)onInAppMessageButtonClicked:(ABKInAppMessageImmersive *)inAppMessage
                             button:(ABKInAppMessageButton *)button;

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

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

各メソッドは、Brazeがクリックアクションの実行を続行すべきかどうかを示す BOOL 値を返します。

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

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
      }
   }
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!