This page references our older Objective-C SDK. Check out our new Swift SDK to integrate our latest Swift-first library.
クリック時のアプリ内メッセージ動作のカスタマイズ
この記事には非推奨のニュースフィードの情報が含まれています。Brazeでは、ニュースフィードツールをご利用のお客様に、コンテンツカードのメッセージングチャネルへの移行を推奨しています。柔軟性、カスタマイズ性、信頼性が向上します。詳しくは移行ガイドをご覧ください。
ABKInAppMessage
のinAppMessageClickActionType
プロパティは、アプリ内メッセージがクリックされた後の動作を定義します。このプロパティは読み取り専用です。アプリ内メッセージのクリック動作を変更する場合は、ABKInAppMessage
で以下のメソッドを呼び出すことができます。
1
[inAppMessage setInAppMessageClickAction:clickActionType withURI:uri];
1
inAppMessage.setInAppMessageClickAction(clickActionType: clickActionType, withURI: uri)
inAppMessageClickActionType
は次のいずれかの値に設定できます。
ABKInAppMessageClickActionType |
On-Click Behavior |
---|---|
ABKInAppMessageDisplayNewsFeed |
メッセージがクリックされるとニュースフィードが表示され、メッセージは却下されます。uri パラメータは無視され、ABKInAppMessage の uri プロパティは nil に設定されます。 |
ABKInAppMessageRedirectToURI |
メッセージがクリックされたときに指定された URIが表示され、メッセージは破棄されます。uri パラメータを nil にすることはできないことに注意してください。 |
ABKInAppMessageNoneClickAction |
クリックするとメッセージが却下されます。uri パラメータは無視され、uri の ABKInAppMessage プロパティは nil に設定されます。 |
ボタンを含むアプリ内メッセージの場合、ボタンテキストを追加する前にクリックアクションが追加されると、メッセージ clickAction
も最終ペイロードに含まれます。
アプリ内メッセージ本文クリック数のカスタマイズ
アプリ内メッセージがクリックされると、次の 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
モデルにデフォルトのクリックアクション (「ニュースフィード」) が割り当てられていても、アプリ内のメッセージ本文はクリックできません。
メソッドの宣言
詳細については、次のヘッダーファイルを参照してください。