トラブルシューティング (レガシー)
同時パートナーポップアップとRokt配置
背景
パートナーのポップアップとRoktの配置が同時に表示されるようにプログラムされている場合、Roktの配置が意図した通りに表示されないことがあります。
このような状況が発生すると:
- ユーザーが購入を完了します。
- モーダルが表示され、ユーザーにアプリ内またはアプリ外(Apple App Store)でフィードバックやその他の情報を送信するよう求められます。
- 同時に、モーダル配置を読み込もうとしてRoktの‘execute’へのリクエストが行われます。
- Roktモーダルの実行が失敗します。
この結果、配置のインプレッションが減少し、潜在的な収益損失が発生します。私たちは、パートナーとしてのコミットメントとして、インプレッションとパートナー収益 の最適化を支援するために必要なサポートを提供することを目指しています。この問題に対する現在の解決策は2つあります。
注記
どちらの解決策も、ユーザージャーニーの変更を慎重に検討し、提案された解決策を実施するための専念が必要です。
ソリューション 1: フィードバック/評価モーダルの前にRoktプレースメントを表示する
新しいフローは次のようになります:
- ユーザーが購入を完了します。
- Roktの
executeへのリクエストが 行われ、Roktプレースメントが表示されます。 - モーダルが表示され、ユーザーにアプリ内またはアプリ外(Apple app store)でフィードバックを送信するように求めます。
パートナーによる必要なアクション:
RoktのonUnload関数を実装し、その中でフィードバック/評価モーダルを呼び出します。
Rokt.execute(viewName: MY_ROKT_VIEWNAME, attributes: attributes, onLoad: {
// Roktプレースメントがロードされたときのオプションのコールバック
}, onUnLoad: {
// DispatchQueue.main.async { CALL_THE_MODAL_HERE }
}, onShouldShowLoadingIndicator: {
// ローディングインジケーターを表示するためのオプションのコールバック
}, onShouldHideLoadingIndicator: {
// ローディングインジケーターを隠すためのオプションのコールバック
})
ソリューション 2: フィードバック/評価モーダルの後にRoktプレースメントを表示する
新しいフローは次のようになります:
- ユーザーが購入を完了します。
- モーダルが表示され、ユーザーにアプリ内またはアプリ外(Apple app store)でフィードバックを送信するように求めます。
- ユーザーがモーダルとのインタラクションを完了した後、つまりアプリ内でフィードバックを完了するか 、アプリストアからアプリに戻った後に、Roktプレースメントが表示されます。
パートナーによるアクションが必要です。
モーダルがアプリ内でユーザーからの入力を必要とする場合、ユーザーがアクションを完了した後(例: 評価を完了、はいまたはいいえを選択)にRoktの‘execute’を呼び出す必要があります。
モーダルがアプリ外でユーザーからの入力を必要とする場合、ユーザーがパートナーアプリに戻った後にRoktの‘execute’呼び出しが必要です。ユーザーがアプリに戻ったかどうかを検出するには、次の関数を使用してください:
UIApplication.willEnterForegroundNotification
NotificationCenter.default.addObserver(
self,
selector: #selector(appWillEnterForeground),
name: UIApplication.willEnterForegroundNotification,
object: nil
)
@objc
private func appWillEnterForeground() {
let attributes = ["email": "j.smith@example.com",
"firstname": "Jenny",
"lastname": "Smith",
"mobile": "(555)867-5309",
"postcode": "90210",
"country": "US"]
Rokt.execute(viewName: "MY_ROKT_VIEWNAME", attributes: attributes, onLoad: {
// Rokt配置がロードされたときのオプションのコールバック
}, onUnLoad: {
// Rokt配置がアンロードされ たときのオプションのコールバック
}, onShouldShowLoadingIndicator: {
// ローディングインジケーターを表示するためのオプションのコールバック
}, onShouldHideLoadingIndicator: {
// ローディングインジケーターを非表示にするためのオプションのコールバック
})
}