Skip to content


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

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

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

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

ABKInAppMessageClickActionType On-Click Behavior
ABKInAppMessageDisplayNewsFeed メッセージがクリックされるとニュースフィードが表示され、メッセージは却下されます。uri パラメータは無視され、ABKInAppMessageuriプロパティは nil に設定されます。
ABKInAppMessageRedirectToURI メッセージがクリックされたときに指定された URIが表示され、メッセージは破棄されます。uriパラメータを nil にすることはできないことに注意してください。
ABKInAppMessageNoneClickAction クリックするとメッセージが却下されます。uri パラメータは無視され、uriABKInAppMessage プロパティは nil に設定されます。

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

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

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

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

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

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

  • (BOOL)onInAppMessageHTMLButtonClicked:(ABKInAppMessageHTML *)inAppMessage clickedURL:(nullable NSURL *)clickedURL buttonID:(NSString *)buttonID; ```

```swift 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!