クリック時のカスタム動作
各
Braze.InAppMessage
オブジェクトには対応するClickAction
が含まれ、これによってクリック時の動作が定義されます。
この動作をカスタマイズするために、以下のサンプルを参照して clickAction
プロパティを変更できます。
1
2
3
4
5
6
7
8
func inAppMessage(
_ ui: BrazeInAppMessageUI,
prepareWith context: inout BrazeInAppMessageUI.PresentationContext
) {
if let newUrl = URL(string: "{your-url}") {
context.message.clickAction = .url(newUrl, useWebView: true)
}
}
inAppMessage(_:prepareWith:)
メソッドは、Objective-C では利用できません。
クリックアクションのタイプ
Braze.InAppMessage
のclickAction
プロパティは .none
にデフォルト設定されていますが、次のうちいずれかの値に設定できます。
ClickAction |
クリック時動作 |
---|---|
.url(URL, useWebView: Bool) |
指定された URL を外部ブラウザーで開きます。useWebView がtrue に設定されていると、Web ビューで開きます。 |
.newsFeed |
メッセージがクリックされるとニュースフィードが表示され、メッセージは却下されます。 **注: **ニュースフィードは非推奨になります。詳細については、移行ガイドをご覧ください。 |
.none |
クリックするとメッセージが却下されます。 |
important:
ボタンを含むアプリ内メッセージの場合、ボタンテキストを追加する前にクリックアクションが追加されると、メッセージ clickAction
も最終ペイロードに含まれます。
アプリ内メッセージとボタンクリックのカスタマイズ
アプリ内メッセージがクリックされると、次の BrazeInAppMessageUIDelegate
デリゲートメソッドが呼び出されます。アプリ内メッセージボタンと HTML アプリ内メッセージボタン(リンク)のクリックについては、ボタン ID がオプションのパラメータとして提供されます。
1
2
3
4
5
6
7
func inAppMessage(
_ ui: BrazeInAppMessageUI,
shouldProcess clickAction: Braze.InAppMessage.ClickAction,
buttonId: String?,
message: Braze.InAppMessage,
view: InAppMessageView
) -> Bool
1
2
3
4
5
6
- (BOOL)inAppMessage:(BrazeInAppMessageUI *)ui
shouldProcess:(enum BRZInAppMessageRawClickAction)clickAction
url:(NSURL *)uri
buttonId:(NSString *)buttonId
message:(BRZInAppMessageRaw *)message
view:(UIView *)view;
このメソッドは、Braze がクリックアクションを実行し続けるかどうかを示すブール値を返します。