メインコンテンツまでスキップ

トラブルシューティング (レガシー)

同時パートナーポップアップとRokt配置

背景

パートナーのポップアップとRoktの配置が同時に表示されるようにプログラムされている場合、Roktの配置が意図した通りに表示されないことがあります。

このような状況が発生すると:

  1. ユーザーが購入を完了します。
  2. モーダルが表示され、ユーザーにアプリ内またはアプリ外(Apple App Store)でフィードバックやその他の情報を送信するよう求められます。
  3. 同時に、モーダル配置を読み込もうとしてRoktの‘execute’へのリクエストが行われます。
  4. Roktモーダルの実行が失敗します。

この結果、配置のインプレッションが減少し、潜在的な収益損失が発生します。私たちは、パートナーとしてのコミットメントとして、インプレッションとパートナー収益の最適化を支援するために必要なサポートを提供することを目指しています。この問題に対する現在の解決策は2つあります。

注記

どちらの解決策も、ユーザージャーニーの変更を慎重に検討し、提案された解決策を実施するための専念が必要です。

ソリューション 1: フィードバック/評価モーダルの前にRoktプレースメントを表示する

新しいフローは次のようになります:

  1. ユーザーが購入を完了します。
  2. Roktのexecuteへのリクエストが行われ、Roktプレースメントが表示されます。
  3. モーダルが表示され、ユーザーにアプリ内またはアプリ外(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プレースメントを表示する

新しいフローは次のようになります:

  1. ユーザーが購入を完了します。
  2. モーダルが表示され、ユーザーにアプリ内またはアプリ外(Apple app store)でフィードバックを送信するように求めます。
  3. ユーザーがモーダルとのインタラクションを完了した後、つまりアプリ内でフィードバックを完了するか、アプリストアからアプリに戻った後に、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: {
// ローディングインジケーターを非表示にするためのオプションのコールバック
})
}
この記事は役に立ちましたか?