AppboyKit(Objective-C SDKとも呼ばれます)はもはやサポートされておらず、Swift SDK. 新しい機能、バグ修正、セキュリティー更新s、またはテクニカルサポートを受けません。ただし、メッセージングと分析は通常どおり機能し続けます。詳しくは、新しいBrazeの概要SDK]を参照してください。
アプリ内メッセージのビヘイビアをカスタマイズする
ABKInAppMessage のinAppMessageClickActionType プロパティは、アプリ内メッセージがクリックされた後の動作を定義します。このプロパティは読み取り専用です。アプリ内メッセージのクリック動作を変更する場合は、ABKInAppMessage で以下のメソッドを呼び出すことができます。
1
[inAppMessage setInAppMessageClickAction:clickActionType withURI:uri];
1
inAppMessage.setInAppMessageClickAction(clickActionType: clickActionType, withURI: uri)
inAppMessageClickActionType は次のいずれかの値に設定できます。
ABKInAppMessageClickActionType |
クリック時動作 |
|---|---|
ABKInAppMessageRedirectToURI |
メッセージがクリックされたときに指定された URIが表示され、メッセージは破棄されます。uri パラメータを nil にすることはできないことに注意してください。 |
ABKInAppMessageNoneClickAction |
クリックするとメッセージが却下されます。uri パラメータは無視され、ABKInAppMessage の uri プロパティは nil に設定されます。 |
ボタンを含むアプリ内メッセージの場合、ボタンテキストを追加する前にクリックアクションが追加されると、メッセージ clickAction も最終ペイロードに含まれます。
アプリ内メッセージ本文クリック数のカスタマイズ
アプリ内メッセージがクリックされると、次の 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 モデルにデフォルトのクリックアクションが割り当てられている場合でも、アプリ内のメッセージ本文はクリックできません。
メソッドの宣言
詳細については、次のヘッダー ファイルを参照してください。
GitHub でこのページを編集